> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.idenfy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK Overview

> Compare iDenfy native mobile SDKs for iOS and Android with cross-platform frameworks and see how SDKs differ from API and iFrame options.

## Available SDKs

iDenfy provides native SDKs for seamless mobile identity verification with built-in camera handling, liveness detection, and customizable UI.

<Columns cols={2}>
  <Card title="Android SDK" icon="android" href="/sdks/android/quickstart">
    Native Android SDK with Kotlin/Java support. Minimum API level 21.
  </Card>

  <Card title="iOS SDK" icon="apple" href="/sdks/ios/quickstart">
    Native iOS SDK with Swift/Objective-C support. Minimum iOS 13.
  </Card>

  <Card title="React Native" icon="react" href="/sdks/react-native">
    Cross-platform wrapper for React Native applications.
  </Card>

  <Card title="Flutter" icon="mobile" href="/sdks/flutter">
    Cross-platform wrapper for Flutter applications.
  </Card>
</Columns>

## SDK vs API vs iFrame

| Feature            | Mobile SDK            | Direct API          | iFrame/Redirect |
| ------------------ | --------------------- | ------------------- | --------------- |
| Camera access      | Native (best quality) | Your implementation | Browser-based   |
| Liveness detection | Built-in, optimized   | Not available       | Built-in        |
| NFC chip reading   | Supported             | Not available       | Not available   |
| UI customization   | Full control          | Complete control    | Limited         |
| Offline capability | Partial               | None                | None            |
| Integration effort | Medium                | High                | Low             |

## Common SDK Flow

<Steps>
  <Step title="Create session (server-side)">
    Call the [session creation API](/kyc/generate-token) from your backend.
  </Step>

  <Step title="Pass token to SDK">
    Send the `authToken` to your mobile app.
  </Step>

  <Step title="Initialize SDK">
    Start the verification flow with the token.
  </Step>

  <Step title="Handle callback">
    Receive the local SDK callback AND the server webhook for the final result.
  </Step>
</Steps>

<Warning>
  Always use the server-side [webhook](/kyc/webhooks) as the source of truth for verification results, not the SDK callback. The SDK callback only indicates that the user completed the flow — the final result comes via webhook after processing.
</Warning>
