Flutter • Android • iOS

Real Faces.
Zero Spoofing.

FaceNova is a passive liveness detection & face recognition SDK for Flutter, Android and iOS. Integrate in minutes. Block photo attacks, video replays, and 3D masks instantly.

See Pricing
99.7% liveness accuracy
<300ms detection speed
3 lines to integrate
FaceNova SDK — Live Demo
● LIVE
Liveness
98.4%
Anti-spoof
PASS
Confidence
0.87

Works seamlessly with

flutter_biometric_liveness
pub.dev · Dart & Flutter package
likes
pub points
popularity
Android Native SDK
Standalone Android library
Coming Soon
iOS Native SDK
Standalone iOS framework
Coming Soon

Everything you need to verify real users

Built for developers. Trusted by enterprises. Works offline.

Passive Liveness Detection

No blink, no turn, no smile required. Our neural network detects spoofing attacks silently from a single frame — photos, videos, 3D masks all blocked.

Photo AttackVideo Replay3D Mask

Face Recognition

128-dimension FaceNet embeddings for high-accuracy 1:N matching. Compare faces in under 1ms in pure Dart.

On-Device Processing

All inference runs locally on the device. No images sent to any server. Full GDPR compliance out of the box.

License-Gated Security

Per-app-package-name licensing via Firebase Remote Config. Models are encrypted at rest, decrypted only for licensed apps.

Fast & Lightweight

Liveness check completes in under 300ms. TFLite models optimized for mobile — minimal battery and memory impact.

3-Line Integration

await VideoLiveness.initFaceRecognition();
await VideoLiveness.launch(context: context, onResult: (r) {
  // r.passed, r.faceTemplate, r.livenessPct
});

From camera to verified identity

A seamless 4-step pipeline that takes milliseconds.

01

Camera Opens

The SDK launches a full-screen liveness camera. No extra permissions needed beyond the standard camera permission.

02

Passive Check

Our TFLite model analyzes the face in real-time. The user just looks at the camera — no actions needed.

03

Face Embedding

A 512-byte FaceNet embedding is extracted — a unique mathematical fingerprint of the face.

04

Match & Decide

Compare against enrolled templates using cosine similarity. Score ≥ 0.65 is a strong match.

📷
Camera
🧠
TFLite Model
LivenessResult
🔢
512-byte Template
👤
Identity Verified

Up and running in under 5 minutes

pubspec.yaml
# Add to your pubspec.yaml
dependencies:
  video_liveness: ^1.0.0
main.dart
void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  // Initialize once at startup — loads the face model
  await VideoLiveness.initFaceRecognition();

  runApp(MyApp());
}
attendance_screen.dart
await VideoLiveness.launch(
  context: context,
  onResult: (LivenessResult result) {
    if (result.passed && result.livenessPct >= 70) {
      // result.faceTemplate  → 512-byte embedding
      // result.capturedFrame → JPEG of the face
      // result.livenessPct   → confidence score
    }
  },
  onError: (error) => print(error),
);
face_matching.dart
// Compare two face templates (pure Dart, <1ms)
final score = VideoLiveness.compareFaces(
  enrolledTemplate,  // Uint8List from enrollment
  liveTemplate,      // Uint8List from scan
);

// score ∈ [0.0, 1.0]
if (score >= 0.65) {
  print('✅ Match confirmed');
}
No backend required
🔒Encrypted models
📦Available on pub.dev
🌐Android + iOS support

Built for any app that needs identity verification

🏢

Attendance Systems

Employee check-in and check-out with face verification. Eliminate buddy punching.

🏦

KYC & Onboarding

Verify users during app onboarding. Combine with ID documents for full KYC.

🔐

App Authentication

Replace PINs and passwords with face-based login. Fast and seamless UX.

🏫

Exam Proctoring

Verify student identity before and during online exams. Prevent impersonation.

🏥

Healthcare

Patient identity verification before accessing medical records or services.

🚪

Access Control

Grant or deny physical and digital access based on face verification.

One-time or monthly. You choose.

License tied to your app package name — no per-user or per-scan fees.

🎁
Not sure yet? Try FaceNova free for 10 days. Full SDK access. No credit card required.
Monthly
$1/mo
per app package name · billed monthly
  • ✓ Full SDK access
  • ✓ 1 app package name
  • ✓ Android + iOS
  • ✓ Email support
  • ✓ Commercial use
  • ✓ Cancel anytime

Need multiple package names or a custom deal? Contact us.