SDKs and Tools
The Unico SDKs embed directly into your application to manage the capture experience on the client side. Upon a successful capture, the SDK returns an encrypted payload that your backend forwards to the IDCloud biometric engine for analysis via REST API.
Available SDKs

Native library for Java and Kotlin applications.

Native library for Swift and Objective-C applications.

Plugin built on top of the Android and iOS native SDKs.

JavaScript library for browser-based capture flows.
Key features
The SDKs integrate with the Liveness capability to confirm that the user is physically present at capture time. The capture session only completes when liveness is verified, blocking spoofing attempts such as photos, videos, or masks.
The capture UI adapts automatically to the user's silhouette and screen dimensions. This improves biometric validity and reduces rejected captures compared to standard camera implementations, without requiring any configuration from the developer.
Security layers
Each SDK ships with multiple security controls applied at runtime:
- Payload encryption between client and backend
- Injection and tampering prevention
- Fraud detection across camera modes
- Code obfuscation
- Emulator blocking
- App bundle verification
How it works
The SDK (Client-side) is responsible for simplifying your integration with the Unico platform, handling all the complexity of camera manipulation, image capture and user journey.
If the capture is successful, the SDK returns an encrypted payload that must be sent to the biometric engine API, thus completing the biometric validation, as illustrated in the diagram below:
The SDK handles the full capture flow on the client: camera access, frame validation, liveness check, and encryption. Your backend receives the encrypted payload and forwards it to the IDCloud biometric engine — no raw image is transmitted.
These SDKs produce output for the Web & SDK contract (POST /client/v1/process). For the API contract, capture is handled on your own surface and imageBase64 is sent directly.
SDK versions follow semantic versioning (MAJOR.MINOR.PATCH). SDK update responsibility depends on your integration model. For by-Client integrations, keeping the SDK up to date is your responsibility — outdated versions may lose security coverage or access to new capabilities. For by-Unico integrations, Unico pushes updates automatically.
- Major Version (MAJOR): When making incompatible changes to the API.
- Minor Version (MINOR): When adding functionality while maintaining compatibility.
- Patch Version (PATCH): When fixing bugs while maintaining compatibility.
Supported: native Android, native iOS, and Flutter via our plugin. Not supported: any hybrid or cross-platform framework, including but not limited to React Native and Ionic.