Face Match (1:1) with Didit's Flutter SDK: A Guide
Implement secure 1:1 face matching in your Flutter application using Didit's powerful SDK. This guide covers integrating the SDK, understanding verification reports, and leveraging Didit's AI-native tools for robust identity.

Seamless IntegrationIntegrate Didit's Flutter SDK easily to add advanced 1:1 face matching capabilities, enhancing user verification flows with minimal development effort.
Robust Fraud PreventionUtilize Didit's AI-native Liveness Detection and 1:1 Face Match to compare a user's live image against their identity document, effectively combating spoofing and identity fraud.
Actionable Verification ReportsUnderstand detailed
face_matchreports, including similarity scores, status, and crucial warnings, enabling intelligent decision-making for user onboarding and authentication.Modular and Developer-FriendlyDidit provides an open, modular identity platform with a developer-first approach, offering clean APIs and a Flutter SDK for flexible, high-security identity solutions.
The Importance of 1:1 Face Matching in Digital Identity
In today's digital-first world, verifying a user's identity accurately and securely is paramount. From onboarding new customers to authenticating transactions, businesses need robust tools to ensure that the person interacting with their service is who they claim to be. This is where 1:1 face matching comes into play. It's a critical biometric verification technique that compares a live image or video of a user against a reference photo, typically extracted from an identity document. This comparison confirms the legitimate ownership of the document and helps prevent identity fraud, deepfakes, and spoofing attacks.
Integrating such advanced biometric capabilities directly into your application can be complex, but with the right tools, it becomes straightforward. Didit's Flutter SDK offers a comprehensive solution, enabling developers to incorporate state-of-the-art 1:1 face matching into their mobile applications with ease. This not only streamlines the user experience but also significantly bolsters security measures, making your platform more trustworthy and compliant.
Getting Started with Didit's Flutter SDK for Face Match
Didit's Flutter SDK is designed to provide a seamless integration experience for adding identity verification features, including 1:1 Face Match, to your Flutter applications. The SDK leverages native iOS and Android components, offering powerful features like NFC passport reading and advanced liveness detection. Before diving into face matching, you'll need to set up the SDK in your project.
Installation and Basic Setup
First, add the Didit SDK to your Flutter project:
flutter pub add didit_sdk
For iOS, ensure you add the DiditSDK pod to your Podfile:
pod 'DiditSDK', :podspec => 'https://raw.githubusercontent.com/didit-protocol/sdk-ios/main/DiditSDK.podspec'
Then, navigate to your ios directory and run pod install.
For Android, add the following to your android/app/build.gradle.kts inside the android block:
packaging {
resources {
pickFirsts += "META-INF/versions/9/OSGI-INF/MANIFEST.MF"
}
}
Initiating a Verification Session
To perform a face match, you'll first need to create a verification session. This typically involves a backend call to Didit's API to obtain a session_token. This token is then passed to the Flutter SDK to initiate the verification flow. Didit's modular architecture allows you to define custom workflows that include ID Verification, Passive & Active Liveness, and 1:1 Face Match as core components.
Your backend should make a POST request to https://verification.didit.me/v3/session/ with your API key and a workflow_id, which dictates the sequence of verification steps. The response will include a session_id and session_token that your Flutter app will use.
Understanding the 1:1 Face Match Report and Warnings
Once the user completes the verification flow in your Flutter app, Didit processes the captured data and provides a detailed face_match report. This report is crucial for making informed decisions about the user's identity. The report structure includes vital information:
status: Indicates the overall result ('Approved', 'Rejected', 'In Review', 'Not Finished').score: A numerical value (0-100) representing the similarity between the live image and the reference image. A higher score signifies a stronger match.source_image/target_image: Temporary URLs to the images used in the comparison. These URLs are secure and expire after 60 minutes for enhanced privacy.warnings: An array of objects detailing any potential risks or issues encountered during the face matching process.
Interpreting Face Match Warnings
Didit's system provides specific warnings to help you understand potential issues. Key warnings include:
LOW_FACE_MATCH_SIMILARITY: This warning indicates that the facial features of the provided live image do not closely match the reference image. This could suggest a potential identity mismatch or a low-quality capture. You can configure review and decline thresholds for this warning based on your application's risk appetite.NO_REFERENCE_IMAGE: This critical error occurs when a reference image for facial comparison is missing, which will always result in an automatic decline.
Didit allows you to configure how your application handles these warnings. For instance, you can set a 'review threshold' where sessions with scores below a certain percentage are flagged for manual review, and a 'decline threshold' for automatic rejection. This level of granular control, coupled with Didit's AI-native capabilities, ensures that your verification process is both secure and tailored to your specific needs.
Leveraging Didit for Enhanced Security and User Experience
Didit's 1:1 Face Match, combined with its robust Passive & Active Liveness detection, provides a formidable defense against identity fraud. Liveness detection ensures that the user is a real, present human and not a deepfake, photo, or video spoof. The subsequent face match then confirms that this live individual is indeed the owner of the provided identity document.
This multi-layered approach to biometric verification is critical for industries requiring high levels of assurance, such as financial services, online gambling, and any platform dealing with sensitive personal data. By integrating Didit's Flutter SDK, you're not just adding a feature; you're adopting a comprehensive, AI-native identity verification infrastructure that scales with your business needs and adapts to evolving fraud techniques.
How Didit Helps
Didit provides an unparalleled solution for implementing 1:1 face matching and comprehensive identity verification within your Flutter applications. Our modular architecture allows you to seamlessly integrate ID Verification (OCR, MRZ, barcodes), Passive & Active Liveness, and 1:1 Face Match capabilities. With Didit, you benefit from Free Core KYC, enabling you to start verifying identities without upfront costs. Our AI-native platform ensures high accuracy and continuous improvement in fraud detection, while our developer-first approach provides clean APIs, instant sandboxes, and comprehensive documentation to accelerate your development process. There are no setup fees, and our pay-per-successful-check model aligns costs with your business growth. Didit is designed to be the open, modular identity layer of the internet, offering composable identity primitives for global, scalable trust automation.
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.