vornid 1.1.3
vornid: ^1.1.3 copied to clipboard
VornID identity verification SDK — capture-and-transport client for biometric liveness detection, image analysis, and identity verification.
VornID Flutter SDK #
Capture-and-transport client SDK for the VornID identity verification platform.
Requirements #
| Platform | Minimum Version |
|---|---|
| Flutter | 3.22+ |
| Dart | 3.9.2+ |
| iOS | 14.0 |
| Android | SDK 24 (7.0) |
Installation #
Add to your pubspec.yaml:
dependencies:
vornid: ^1.0.0
Platform Setup #
Android #
Add camera permission to your app's AndroidManifest.xml:
<uses-permission android:name="android.permission.CAMERA" />
The SDK requests runtime camera permission automatically via permission_handler.
iOS #
Add the following keys to your Info.plist:
<key>NSCameraUsageDescription</key>
<string>Camera access is required for identity verification and liveness detection.</string>
<key>NSMicrophoneUsageDescription</key>
<string>Microphone access is required for video capture during verification.</string>
Quick Start #
import 'package:vornid/vornid.dart';
// 1. Initialize the SDK
final sdk = await VornIdSdk.initialize(
const VornIdConfig(
apiKey: 'your-api-key',
environment: VornIdEnvironment.sandbox,
),
);
Liveness Screen (recommended) #
Push the pre-built VornIdLivenessScreen widget, which manages the camera
preview, challenge UI, and submission flow:
Navigator.of(context).push(
MaterialPageRoute(
builder: (_) => VornIdLivenessScreen(
sdk: sdk,
options: LivenessOptions(
facing: CameraFacing.front,
mode: LivenessMode.active,
),
onComplete: (LivenessResult result) {
Navigator.of(context).pop();
// Handle successful result
},
onError: (VornIdError error) {
Navigator.of(context).pop();
// Handle error
},
),
),
);
Programmatic Liveness Check #
If you need to embed the flow in a custom UI, call startLivenessCheck
directly. The SDK still manages the camera session and server communication
internally:
final result = await sdk.startLivenessCheck(
options: LivenessOptions(
facing: CameraFacing.front,
mode: LivenessMode.active,
),
);
Cleanup #
Call dispose() when the SDK is no longer needed:
sdk.dispose();
Configuration #
VornIdConfig accepts the following parameters:
| Parameter | Type | Default | Description |
|---|---|---|---|
apiKey (required) |
String |
— | API key issued for your project. |
environment |
VornIdEnvironment |
.sandbox |
.sandbox for testing, .production for live deployments. |
blockOnCompromisedDevice |
bool |
false |
Throw VornIdDeviceError on rooted/jailbroken devices. |
connectionTimeout |
Duration |
10 s | TCP connection timeout. |
readTimeout |
Duration |
60 s | Response read timeout. |
writeTimeout |
Duration |
30 s | Request write timeout. |
certificatePins |
List<String>? |
null |
SHA-256 certificate pins for custom TLS pinning. |
API Reference #
VornIdSdk #
| Member | Description |
|---|---|
initialize(config) |
Static factory that creates and configures the SDK instance. |
startLivenessCheck() |
Runs a full liveness detection session. |
cancelLivenessCheck() |
Cancels any in-flight liveness session and pending requests. |
captureAndAnalyze() |
Captures and analyzes a single image (face or document). |
verifyIdentity() |
Initiates a full identity verification workflow. |
enrollBiometric() |
Enrolls a biometric template for an identity. |
matchBiometric() |
Performs a 1:1 biometric match against an enrolled template. |
events |
Stream<VornIdEvent> for monitoring capture/upload/processing. |
dispose() |
Releases all SDK resources. |
VornIdLivenessScreen #
A drop-in StatefulWidget that manages the entire liveness flow. Parameters:
| Parameter | Type | Required |
|---|---|---|
sdk |
VornIdSdk |
Yes |
options |
LivenessOptions? |
No |
onComplete |
void Function(LivenessResult) |
Yes |
onError |
void Function(VornIdError) |
Yes |