---
title: SDKs and Tools
description: Overview of IDCloud SDKs and integration tools — Web SDK, Android SDK, iOS SDK, Flutter SDK, and REST API.
canonical: https://developer.unico.io/dual-api/developers/sdks-and-tools/overview
locale: en
generated_by: markdown-export
---

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

  **Android SDK**

Native library for Java and Kotlin applications.

  **iOS SDK**

Native library for Swift and Objective-C applications.

  **Flutter SDK**

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

  **Web SDK**

JavaScript library for browser-based capture flows.

### Sample apps (PoCs)

Explore official Proof-of-Concept apps for each SDK before starting your integration — validated, up-to-date implementations of the main capture flows.

- [Android](/developers/sdks-and-tools/android/resources)
- [iOS](/developers/sdks-and-tools/ios/resources)
- [Flutter](/developers/sdks-and-tools/flutter/resources)
- [Web](/dual-api/developers/sdks-and-tools/web/web-sdk/resources)
- [Web App Integration (Journeys SDK)](/developers/sdks-and-tools/web)

**Native SDKs**

| Platform | Flow | Repository |
|---|---|---|
| Android | Liveness | [GitHub — unico-sdk-poc-kotlin](https://github.com/unico-labs/unico-sdk-poc-kotlin) |
| Android | User Journeys | [GitHub — unico-sdks-poc-kotlin](https://github.com/unico-labs/unico-sdks-poc-kotlin) |
| iOS | Liveness | [GitHub — unico-sdk-poc-ios-swift](https://github.com/unico-labs/unico-sdk-poc-ios-swift) |
| iOS | User Journeys | [GitHub — unico-sdks-poc-swift](https://github.com/unico-labs/unico-sdks-poc-swift) |
| Flutter | Liveness | [GitHub — unico-sdk-poc-flutter](https://github.com/unico-labs/unico-sdk-poc-flutter) |
| Flutter | User Journeys | [GitHub — unico-sdks-flutter](https://github.com/unico-labs/unico-sdks-flutter) |

**Web App Integration (Journeys SDK)**

| Language / Framework | Repository |
|---|---|
| Angular | [GitHub — unico-cbu-poc-angular](https://github.com/unico-labs/unico-cbu-poc-angular) |
| JS Vanilla | [GitHub — unico-cbu-poc-js](https://github.com/unico-labs/unico-cbu-poc-js) |
| React | [GitHub — unico-cbu-poc-react](https://github.com/unico-labs/unico-cbu-poc-react) |
| Vue JS | [GitHub — unico-cbu-poc-vuejs](https://github.com/unico-labs/unico-cbu-poc-vuejs) |

**Web SDK**

| Language / Framework | Repository |
|---|---|
| Angular | [GitHub — unico-sdk-poc-angular](https://github.com/unico-labs/unico-sdk-poc-angular) |
| JS Vanilla | [GitHub — unico-sdk-poc-js-vanilla](https://github.com/unico-labs/unico-sdk-poc-js-vanilla) |
| Next.js | [GitHub — unico-sdk-poc-next-js](https://github.com/unico-labs/unico-sdk-poc-next-js) |
| React JS with TypeScript | [GitHub — unico-webframe-poc-react](https://github.com/unico-labs/unico-webframe-poc-react) |
| React JS with JavaScript | [GitHub — unico-sdk-poc-react-js](https://github.com/unico-labs/unico-sdk-poc-react-js) |
| React JS with Webpack + Babel | SFTP — request from your Project Manager |
| Vue JS | [GitHub — unico-sdk-poc-vuejs](https://github.com/unico-labs/unico-sdk-poc-vuejs) |

### Key features

## Liveness verification

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.

## SmartFrames

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:

```mermaid
sequenceDiagram
    actor User
    participant App as Your App
    participant SDK as Unico SDK
    participant Server as Your App Backend Server
    participant Engine as Unico API

    User->>App: 1. Access Your Application
    App->>SDK: 2. Render Capture Component
    SDK-->>App: 3. [Capture Component]
    App->>App: 4. Capture Image (JWT)
    App->>Server: 5. Drop JWT to your server
    Server->>Engine: 6. Iterate with Unico API with jwt
    Engine->>Server: Biometry response
    Server->>App: Biometry response
    App->>User: Feedback
```

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.

## Versioning

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.

:::warning[Supported environments]
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.
:::