face_verification_core 0.2.0

Cross-platform on-device face liveness and verification core.
Documentation

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:

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.