Mobile SDK
Verifa’s mobile SDKs provide native document capture, selfie collection, and liveness detection for iOS, Android, and React Native applications. The SDK handles the camera UI, image quality checks, and fraud signal collection with a native look and feel.
Platforms
How it works
- Your server creates a session via the API
- Pass the session token to the mobile SDK
- The SDK presents native capture screens
- On completion, the SDK returns control to your app
- Your server receives the result via webhook
Integration flow
Step 1: Create a session (server-side)
Pass the session id and token to your mobile app.
Step 2: Initialize the SDK
iOS (Swift)
Android (Kotlin)
React Native
Step 3: Handle the result
The SDK callback tells you when capture is complete. The actual verification result comes via your server’s webhook:
Or poll from your server:
SDK configuration
Fetch runtime config
The SDK fetches its configuration from the server on initialization:
This returns theming, feature flags, and required capture steps based on the session’s workflow.
Theming
Customize the SDK appearance to match your app:
Server-side theming is also available — configure in the dashboard under Settings > Organization (Theming section) and it applies to all SDK sessions.
Native fraud signals
The mobile SDK collects device-specific fraud signals not available in the web capture flow:
These signals are automatically submitted alongside the standard behavioral, device, and network signals.
Capture screens
The SDK presents these screens in sequence:
- Consent — Biometric processing consent
- Document type — Select ID type (passport, driver’s license, etc.)
- Document capture — Native camera with alignment guides, auto-capture, and quality feedback
- Selfie capture — Front-facing camera with face alignment
- Liveness challenge — Randomized challenges (blink, smile, head turn)
- Additional data — Email, phone, address (if required by workflow)
The SDK skips screens that aren’t required by the workflow’s data_requirements.
Permissions
The SDK requires camera permission. Request it before starting the SDK or let the SDK handle the system prompt:
Error handling
Testing
In sandbox mode, the SDK allows you to select verification outcomes manually.
Create sessions with a sandbox API key (vk_sandbox_*) to enable this.
Related
- Choosing an Integration Method — Compare SDK vs web capture vs API-only
- Web Capture Flow — Hosted capture for web apps
- Fraud Signals — All signals including mobile-specific
- Sessions — Session lifecycle and result retrieval