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

Optimizing iOS Biometric Liveness Detection: A Developer's Guide

Mastering biometric liveness detection on iOS is crucial for robust security and user experience. This guide explores tuning configurable settings like liveness scores, duplicate face detection, and face quality, ensuring.

By DiditUpdated
blog-47185-thumbnail.webp

Configurable ThresholdsFine-tuning liveness scores, face quality, and luminance thresholds within your iOS application settings allows for a tailored balance between security and user experience, reducing false positives and improving fraud detection.

Automated Decline ConditionsUnderstanding and leveraging automatic decline conditions such as NO_FACE_DETECTED or LIVENESS_FACE_ATTACK is paramount for immediately thwarting sophisticated spoofing attempts and maintaining high security standards.

Leveraging SDK CapabilitiesUtilizing a robust iOS SDK that supports both passive and active liveness, alongside NFC verification and face matching, provides a comprehensive toolkit for building secure and efficient identity verification flows.

Didit's AI-Native AdvantageDidit's iOS SDK offers an AI-native, modular architecture with Free Core KYC, enabling developers to easily integrate and customize advanced biometric liveness detection, ensuring top-tier fraud prevention without setup fees.

In today's digital landscape, securing user interactions on mobile platforms is more critical than ever. Biometric liveness detection plays a pivotal role in this, ensuring that the person interacting with your iOS application is a real, live individual and not a fraudster using a spoofing attempt. However, simply implementing liveness detection isn't enough; tuning its parameters to meet your specific security needs and user experience expectations is key. This guide delves into how developers can optimize their iOS biometric liveness detection, focusing on practical examples and actionable advice.

Understanding Liveness Detection Reports and Core Metrics

Effective tuning begins with a deep understanding of the data generated by your liveness detection system. Didit's Liveness Detection report provides a comprehensive JSON object detailing the verification process. Key fields include the status (Approved, Declined, In Review), the method used (e.g., ACTIVE_3D, PASSIVE), and a crucial score indicating the confidence level of the liveness assessment. Developers should pay close attention to the warnings array, which highlights potential risks such as face attacks or low face quality.

For instance, a low liveness score might indicate a less confident assessment, prompting further review. The report also includes media_references to captured images and videos, invaluable for manual review in 'In Review' cases. Understanding these core metrics is the first step in identifying areas for optimization and setting appropriate thresholds within your application's verification workflows.

Tuning Configurable Verification Settings for Optimal Security

One of the most powerful aspects of modern liveness detection solutions, like Didit's Passive & Active Liveness, is the ability to configure how the system handles various verification issues. This allows you to tailor the security posture to your application's risk profile. Here's a breakdown of common configurable settings:

Low Liveness Score Thresholds

A liveness score is a quantitative measure of how likely the system believes the user is live. You can define two critical thresholds:

  • Review Threshold: Sessions with scores below this are flagged for manual review. This is ideal for cases where you want a human to double-check borderline verifications.
  • Decline Threshold: Sessions falling below this score are automatically declined. This sets a hard line for unacceptable liveness confidence, effectively stopping high-risk attempts.

For example, a financial institution might set a higher decline threshold (e.g., 85%) than a social media app (e.g., 70%) due to varying risk appetites. Regularly analyzing your liveness report data will help you find the optimal balance for these thresholds.

Handling Duplicate Faces and Multiple Faces Detected

Fraudsters often attempt to reuse facial biometrics. Didit's 1:1 Face Match & Face Search capabilities help combat this. Your liveness detection system can be configured to manage these scenarios:

  • Duplicate Face: When a face matches an existing entry in your database, you can configure the system to Decline, Review, or Approve. For high-security applications, an automatic decline or review is often preferred.
  • Multiple Faces Detected (Passive Liveness Only): In some passive liveness scenarios, multiple faces might be present in the frame. You can choose to Decline, Review, or Approve these situations. The system typically uses the largest face for scoring, but flagging multiple faces can be a strong indicator for review or decline, especially if it's unexpected in your use case.

These settings are crucial for preventing account takeovers and ensuring unique user identities.

Face Quality and Luminance Controls

The quality of the captured image significantly impacts liveness detection accuracy. Poor lighting or blurry images can lead to false negatives or make it easier for spoofing attempts to bypass the system. Didit's iOS SDK provides controls for:

  • Face Quality (Passive Liveness Only): Similar to liveness scores, you can set review and decline thresholds for face quality. This ensures that only sufficiently clear and well-captured images are processed, improving overall accuracy.
  • Face Luminance (Passive Liveness Only): Both excessively low and high luminance can hinder accurate detection. You can set minimum and maximum thresholds for luminance and configure whether attempts outside this range should be Declined or sent for Review. This helps enforce optimal capture conditions for users.

By enforcing good face quality and proper lighting, you enhance the reliability of your liveness detection and reduce the chances of both legitimate users being rejected and fraudsters slipping through.

Leveraging Automatic Decline Conditions for Robust Fraud Prevention

Beyond configurable settings, certain conditions should always trigger an automatic decline, regardless of your application's specific tuning. These are typically indicators of outright fraud or unprocessable data:

  • NO_FACE_DETECTED: If no face is detected during the liveness check, the verification cannot proceed.
  • LIVENESS_FACE_ATTACK: This is a critical alert. If the system detects a potential spoofing attempt (e.g., a photo, video, or 3D mask), it should always result in an immediate decline. Didit's Passive & Active Liveness technology is specifically designed to detect and flag these sophisticated attacks.
  • FACE_IN_BLOCKLIST: If the face matches an entry in your internal face blocklist (a feature supported by Didit's 1:1 Face Match & Face Search), it indicates a known fraudulent actor, warranting an automatic decline.

These automatic decline conditions form the bedrock of a strong fraud prevention strategy, providing immediate protection against common attack vectors.

How Didit Helps

Didit provides an AI-native, developer-first identity platform that simplifies the integration and tuning of biometric liveness detection on iOS. Our iOS SDK is designed for seamless integration, supporting both SwiftUI and UIKit, and offering features like NFC passport reading and advanced liveness detection. With Didit's modular architecture, you can easily plug-and-play identity checks and orchestrate complex risk workflows via clean APIs or our no-code Business Console.

Didit's Passive & Active Liveness capabilities are at the forefront of fraud prevention, designed to detect and thwart sophisticated deepfake and spoofing attempts. The comprehensive Liveness Detection Report provides all the necessary details to fine-tune your thresholds for liveness scores, face quality, and luminance, giving you granular control over your verification process. Furthermore, our 1:1 Face Match & Face Search features allow for robust duplicate face detection and blocklist management, enhancing your security posture without incurring setup fees. Best of all, Didit offers Free Core KYC, making advanced identity verification accessible to businesses of all sizes.

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
iOS Biometric Liveness Detection: A Developer's Guide.