Face Liveness
That Actually Works
Drop-in Flutter SDK for on-device face verification. No server, no API key, no dependencies. Just blink, smile, and verify.
dependencies:
vivd: ^0.1.0Everything you need for face verification
Built for Flutter developers who need reliable, privacy-preserving liveness detection.
4 Liveness Actions
Blink, smile, head turn left, head turn right — multi-challenge verification.
Session Security
HMAC-SHA256 frame signing with nonce replay protection. Tamper-proof sessions.
Cross-Platform
iOS with TrueDepth and Android with front camera support out of the box.
Privacy-First
100% on-device processing. No server dependency. No data leaves the device.
Zero Dependencies
Works offline with no external packages. Pure Flutter implementation.
ML Kit Ready
FaceDetectorInterface abstraction for pluggable face detection backends.
Three steps to verify
Add the dependency
Add vivd: ^0.1.0 to your pubspec.yaml.
Import and call
Import Vivd and call startLiveness() with your desired actions.
Check the result
Verify with result.isLive and get the confidence score.
import 'package:vivd/vivd.dart';
// Start liveness detection
final result = await Vivd.startLiveness(
actions: [
VivdAction.blink,
VivdAction.smile,
],
);
if (result.isLive) {
print('Face verified!');
print('Score: ${result.score}');
}Why Vivd?
See how Vivd stacks up against building in-house or using closed-source alternatives.
| Feature | Vivd | Build In-House | Closed SDKs |
|---|---|---|---|
| Integration Time | ~10 min | 3–6 months | 1–2 weeks |
| Liveness Actions | 4 actions | Custom | 2–3 actions |
| On-Device | |||
| Offline Support | |||
| No API Key | |||
| Zero Dependencies | |||
| Session Signing | Optional | ||
| Face ID (20 faces) | Custom | ||
| Open Source | |||
| Price | Free | $50K+ | $$/mo |
Need server-backed verification?
Vivd Pro adds ML-based Presentation Attack Detection (PAD), compliance features, face management, and JWT-signed server-verified results. Upgrade when you need enterprise-grade security.
final result = await VivdPro.startLiveness(
apiKey: 'your-api-key',
actions: VivdAction.all,
enablePAD: true,
);
// JWT-verified, server-signed resultReady to verify?
Start with the free core SDK. Add Pro when you need server-backed security.