# face_verification_core
Reusable Rust core for on-device face liveness and face verification.
This repository must stay independent from Naru, Flutter, Supabase and any
specific app backend. The goal is a portable ML/liveness core that can be used
from Flutter, native Rust apps, desktop apps, WASM, or a server.
## Scope
- Face detection.
- Facial landmarks and face alignment.
- Face embeddings.
- Liveness challenge validation:
- face centered,
- smile,
- turn left/right on screen,
- show N fingers,
- touch nose/cheek/ear.
- Optional age and NSFW classifiers if they remain generic enough.
## Non-goals
- Camera UI.
- Flutter widgets.
- Supabase or database calls.
- Naru-specific onboarding or moderation policy.
## Recommended Runtime Direction
Start with `tract` + ONNX because it is pure Rust and has the best chance of
working consistently across native platforms and WASM. Keep `candle` as a
candidate if `tract` is too slow or lacks model support.
## Companion Package
The Flutter package lives in a separate repository during development:
```text
face_liveness_kit
```
That package should expose the camera flow and Dart API for pub.dev, while this
crate remains useful to non-Flutter users.