Skip to main content
Integrate Didit verification natively into your mobile applications with our official SDKs. Native SDKs provide a seamless user experience, better performance, and full access to device capabilities compared to WebView-based integrations.

SDK Availability

PlatformStatusNFCLanguagesDocumentation
iOS✅ Available50+iOS SDK Guide
Android✅ Available40+Android SDK Guide
React Native⏳ Coming SoonPreview & WebView
Flutter⏳ Coming SoonPreview & WebView
Web (JS)⏳ Coming SoonWeb SDK Guide

Alternative: If a native SDK isn’t available for your platform yet, you can use WebView Integration as a fallback.


iOS SDK

Available Now A lightweight, server-driven iOS SDK for identity verification with minimal configuration required.

GitHub Repository

View source code and examples on GitHub
Key Features:
  • SwiftUI and UIKit support
  • NFC passport/ID reading
  • 50+ language support
  • Customizable UI theming
  • Session token or workflow ID integration
Quick Start:
import DiditSDK

// Start verification
DiditSdk.shared.startVerification(token: "your-session-token")

// Handle result
.diditVerification { result in
    switch result {
    case .completed(let session):
        print("Status: \(session.status)")
    case .cancelled:
        print("Cancelled")
    case .failed(let error, _):
        print("Error: \(error)")
    }
}
Full iOS SDK Documentation

Android SDK

Available Now A lightweight, server-driven Android SDK for identity verification with minimal configuration required.

GitHub Repository

View source code and examples on GitHub
Key Features:
  • Kotlin and Jetpack Compose support
  • NFC passport/ID reading
  • 40+ language support
  • Customizable UI theming
  • Session token or workflow ID integration
Quick Start:
import me.didit.sdk.DiditSdk
import me.didit.sdk.VerificationResult

// Initialize in Application.onCreate()
DiditSdk.initialize(this)

// Start verification
DiditSdk.startVerification(token = "your-session-token") { result ->
    when (result) {
        is VerificationResult.Completed -> Log.d("Didit", "Status: ${result.session.status}")
        is VerificationResult.Cancelled -> Log.d("Didit", "Cancelled")
        is VerificationResult.Failed -> Log.e("Didit", "Error: ${result.error.message}")
    }
}
Full Android SDK Documentation

React Native SDK

Coming Soon A cross-platform React Native SDK that wraps our native iOS and Android SDKs. Expected Features:
  • Single API for both platforms
  • TypeScript support
  • Expo compatibility
  • Hooks-based API
Current Solution: Use WebView Integration while the native SDK is in development. React Native SDK Preview & WebView Guide

Flutter SDK

Coming Soon A cross-platform Flutter SDK for seamless integration in Dart-based applications. Expected Features:
  • Platform channel integration with native SDKs
  • Dart-native API
  • Stream-based state management
Current Solution: Use WebView Integration while the native SDK is in development. Flutter SDK Preview & WebView Guide

Web SDK (JavaScript)

Coming Soon A JavaScript SDK for web applications with React, Vue, Angular, and vanilla JS support. Expected Features:
  • Programmatic session management
  • Event callbacks for verification progress
  • Modal & inline modes
  • Full TypeScript support
Current Solution: Use InContext (Iframe) or Redirect while the SDK is in development. Web SDK Preview | All Web SDKs

SDK Comparison

FeatureNative SDKsWebView
User Experience⭐ ExcellentGood
Performance⭐ ExcellentGood
NFC Chip Reading✅ Full support❌ Not available
Camera Quality✅ Optimized⚠️ Browser-dependent
Offline Capability✅ Partial❌ Not available
Biometric Integration✅ Native❌ Not available
White-Label Theming✅ Console-driven✅ Console-driven
Setup ComplexityLowLow
Backend RequiredOptionalOptional
Platform SupportiOS, AndroidAll (RN, Flutter, etc.)