Skip to main content
Didit Raises $7.5M to Build the Infrastructure for Identity and Fraud
Didit
Back to blog
Blog · March 6, 2026

Seamless Liveness Detection in iOS & Android with Didit SDKs

Implement robust liveness detection in your native iOS and Android applications with Didit's powerful SDKs. Protect against spoofing, streamline user onboarding, and enhance security with AI-native biometrics.

By DiditUpdated
seamless-liveness-detection-in-ios-android-with-didit-sdks.png

Combat Spoofing AttacksDidit's Passive and Active Liveness Detection, integrated via native SDKs, effectively prevents advanced spoofing attempts, ensuring only real users gain access.

Streamlined IntegrationLeverage Didit's React Native SDK for a unified, TypeScript API experience across iOS and Android, simplifying development and accelerating deployment.

Configurable Risk ManagementCustomize liveness score thresholds, handle duplicate faces, and manage multiple face detections with Didit's flexible verification settings.

Didit's Developer-First AdvantageDidit provides AI-native, modular identity primitives, including liveness detection, with Free Core KYC and no setup fees, making advanced security accessible for all.

The Growing Need for Robust Liveness Detection in Mobile Apps

In today's digital-first world, mobile applications are at the forefront of user interaction, handling sensitive data and transactions. This convenience, however, comes with increased risk, particularly from sophisticated fraudsters employing deepfakes, masks, and other spoofing techniques to bypass identity verification. Traditional static identity checks are no longer sufficient. To protect user accounts, prevent fraud, and comply with regulatory requirements, integrating robust liveness detection directly into mobile applications has become essential. Liveness detection ensures that the person attempting to verify their identity is a real, live individual present at the time of verification, not a static image or a pre-recorded video.

The challenge for developers lies in implementing this complex technology efficiently and securely across diverse mobile ecosystems like iOS and Android. A seamless user experience is paramount, as intrusive or slow verification processes can lead to high abandonment rates. This is where a developer-first, AI-native platform like Didit provides a significant advantage, offering powerful tools to integrate advanced security features without compromising usability or increasing development overhead.

Integrating Didit's Liveness Detection with Native SDKs

Didit simplifies the integration of advanced liveness detection into your mobile applications through its native SDKs. For developers working with React Native, Didit offers a dedicated React Native SDK that provides a unified TypeScript API, abstracting away the complexities of native iOS and Android development. This means you can integrate Didit's powerful identity verification capabilities, including both Passive and Active Liveness, NFC passport reading, and more, with a single codebase.

The React Native SDK supports modern architectures (React Native 0.76+ with New Architecture / TurboModules) and is compatible with both Expo (requiring a development build) and React Native CLI projects. Installation is straightforward: for Expo, a simple npx expo install @didit-protocol/sdk-react-native and a plugin addition to app.json handle most configurations. For React Native CLI, npm install @didit-protocol/sdk-react-native combined with specific Podfile and settings.gradle entries for iOS and Android respectively, gets you up and running quickly. This streamlined process allows developers to focus on their application's core logic, while Didit handles the intricate details of biometric security.

Understanding Didit's Liveness Detection and Risk Reporting

Didit's Liveness Detection goes beyond a simple pass/fail. It provides a comprehensive report designed to give businesses deep insights into each verification attempt. This report, returned as a JSON object, includes a liveness object with crucial information:

  • Status: Approved, Declined, In Review, or Not Finished.
  • Method: Indicates whether ACTIVE_3D, FLASHING, or PASSIVE liveness was used.
  • Score: A confidence score reflecting the likelihood of a live person.
  • Media References: Temporary URLs to captured images and videos for review.
  • Age Estimation: An estimated age in years for the target image, useful for age-gated services.
  • Matches: Details on potential face matches against previous sessions or blocklists, including similarity_percentage and is_blocklisted status. This is crucial for detecting repeat fraudsters or linked accounts.
  • Warnings: A detailed array of potential risks, including risk, short_description, and long_description, helping you understand specific security concerns.

This granular data empowers businesses to make informed decisions, whether to automatically approve, decline, or send a verification attempt for manual review based on their specific risk appetite and compliance needs. Didit's AI-native approach ensures high accuracy and continuous improvement in fraud detection.

Configuring Liveness Detection for Your Business Needs

One of Didit's key strengths is its modularity and configurable verification settings. Businesses can tailor how the system handles various liveness detection scenarios, moving beyond a one-size-fits-all approach. For instance, you can configure:

  • Low Liveness Score: Set distinct thresholds for when a session should be flagged In Review or automatically Declined due to a low liveness score. This is vital for balancing user experience with security.
  • Duplicate Face Detection: Decide whether to Decline, Review, or Approve sessions where a POSSIBLE_DUPLICATED_FACE or DUPLICATED_FACE is identified. This helps prevent account takeovers and mass account creation by fraudsters.
  • Multiple Faces Detected: For Passive Liveness, address scenarios where MULTIPLE_FACES_DETECTED occurs. You can configure the system to Decline, Review, or Approve these cases, with the assurance that the largest face is always used for scoring and comparison.
  • Face Quality and Luminance: Fine-tune thresholds for LOW_FACE_QUALITY, LOW_FACE_LUMINANCE, or HIGH_FACE_LUMINANCE. These settings allow you to adapt to varying user environments while maintaining high verification standards, deciding if such conditions warrant Review or Decline.

Didit also provides automatic decline conditions for critical issues like NO_FACE_DETECTED, LIVENESS_FACE_ATTACK (indicating a spoofing attempt), or FACE_IN_BLOCKLIST. These immediate declines prevent the most egregious forms of fraud, offering an ironclad layer of protection.

How Didit Helps

Didit is the AI-native, developer-first identity platform designed to make advanced identity verification accessible and flexible. Our modular architecture allows businesses to integrate precisely the identity checks they need, including robust Passive & Active Liveness detection, ID Verification (OCR, MRZ, barcodes), 1:1 Face Match, and NFC Verification (ePassport/eID) directly into their iOS and Android applications via our native SDKs. We eliminate the complexities of integrating disparate systems by offering a unified, clean API and a no-code Business Console for orchestration.

With Didit, you benefit from Free Core KYC, meaning you can start verifying identities without upfront costs. Our pay-per-successful-check model and no setup fees ensure cost-effectiveness and scalability. By leveraging Didit's AI-powered liveness detection, you can confidently combat deepfakes and spoofing attacks, streamline user onboarding, and enhance the overall security posture of your mobile applications, all while providing a smooth user experience.

Ready to Get Started?

Ready to see Didit in action? Get a free demo today.

Start verifying identities for free with Didit's free tier.

Infrastructure for identity and fraud.

One API for KYC, KYB, Transaction Monitoring, and Wallet Screening. Integrate in 5 minutes.

Ask an AI to summarise this page
Liveness Detection for iOS & Android with Didit SDKs.