> For the complete documentation index, see [llms.txt](https://docs.vida.id/identity-stack/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vida.id/identity-stack/verify/kyc-mobile-sdk/overview.md).

# Overview

Embed end-to-end KYC verification directly into your Android or iOS app with minimal custom development. The SDK combines **document capture, OCR, document verification, passive liveness, and face match** into one guided experience, with a consistent UI on both platforms.

### Why use the SDK

|               | Without the SDK                                   | With VIDA KYC Mobile SDK                        |
| ------------- | ------------------------------------------------- | ----------------------------------------------- |
| Camera flow   | Design and build it yourself                      | Built-in guided capture                         |
| Image quality | Implement your own checks                         | Quality thresholds enforced for you             |
| Backend APIs  | Integrate OCR, liveness, and face APIs separately | One configured flow that talks to VIDA services |
| Edge cases    | Handle them per platform                          | Handled by the SDK                              |

### How it works

Applicants are verified entirely inside your app, using a built-in VIDA KYC UI that you can customize to match your brand.

{% stepper %}
{% step %}

#### Launch from your app

Your app creates a KYC configuration and initializes the SDK. The configuration includes:

* Access token
* Flow type
* Region
* Document options
* Liveness configuration
  {% endstep %}

{% step %}

#### Guided document capture

The SDK opens the camera and applies image-quality checks for **blur, glare, cropping, and resolution**. It guides the user with real-time instructions, such as moving closer or avoiding glare. Capture happens automatically once the document passes all checks.
{% endstep %}

{% step %}

#### OCR and document verification

Captured images are sent to VIDA's backend, where:

1. The document is classified (for example KTP, Driving License, Passport, MyKAD, MyPR, MyKAS, MyTentera).
2. OCR extracts structured fields.
3. Additional checks validate authenticity and image quality before results are returned.
   {% endstep %}

{% step %}

#### Selfie, passive liveness, and face match

For flows that require biometric verification, the SDK captures a selfie, runs liveness with VIDA's liveness engine, then compares the selfie to the portrait extracted from the document.
{% endstep %}

{% step %}

#### Unified response

When the flow finishes, the SDK returns a single structured response through the success callback: `VidaKycResponse` (Android) / `VIDAKYCResponse` (iOS). It contains:

* Document verification results
* OCR results
* Liveness status
* Face match results
  {% endstep %}
  {% endstepper %}

### Configuration

#### Supported platforms

| Platform       | Distribution                                                          | Main entry point |
| -------------- | --------------------------------------------------------------------- | ---------------- |
| Native Android | VIDA Maven repository: `id.vida:kyc` (sandbox: `id.vida:kyc-sandbox`) | `VidaKyc`        |
| Native iOS     | CocoaPods: `vidaKYC` pod                                              | `VIDAKYC`        |

#### Flow configuration

Choose the verification flow and geography when building your KYC configuration.

| Option                     | Description                                            | Values                                                                                                                                          |
| -------------------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **Flow type**              | What the SDK verifies                                  | <p><code>DOCUMENT CAPTURE</code>: OCR + Document Verification<br><code>FULL KYC</code>: OCR + Document Verification + Liveness + Face Match</p> |
| **Region**                 | Determines available document types and backend checks | Indonesia, Malaysia                                                                                                                             |
| **Document types**         | Documents the user can submit                          | KTP, Driving License, Passport, MyKAD, MyKAS, MyPR, MyTentera, and others supported by VIDA                                                     |
| **Liveness configuration** | Optional. For flows that include liveness              | `VIDALivenessConfig`. Methods: passive liveness, Color Flash, Active Liveness with Gesture, Zoom                                                |
| **UI configuration**       | Make the flow feel native to your app                  | Tutorials, document selection, branding, colors, localization                                                                                   |
| **Error configuration**    | Retry and support behavior                             | Number of retries, liveness retry limit, support contact (email or phone)                                                                       |

{% hint style="info" %}
Ready to integrate? Continue to the [Get Started.](/identity-stack/verify/kyc-mobile-sdk/get-started.md)
{% endhint %}
