Android
Kotlin · CameraX · API 26+ (Android 8).
Physical ARM device and Release build.

Facelocal SDK gives you liveness detection and facial biometrics at zero cost.
The same illustrated face appears in the capture, gallery and comparison.
Your customer completes the liveness check
They grant access to their photo album. The SDK searches local photos, with no manual selection or uploads. Everything happens on the customer’s phone, without sending anything to a server.
| Photo EXIF | Model profile |
|---|---|
ManufacturerApple | ManufacturerApple |
ModeliPhone 14 | ModeliPhone 14 |
When searching the photo gallery, we only consider images with EXIF (Exchangeable Image File Format) identical to that of the liveness image. The idea is to compare images taken with the same phone.
The SDK scans all images in the gallery and, as soon as it finds the first eligible match, stops the search and displays the result.
status: "approved"approved: trueYour application receives the decision and criteria as JSON. The SDK delivers everything: Liveness + Biometric Face Match + Automatic Decision Model
Access to a facial biometric database is not easy to obtain. In some countries, such as Brazil, it is possible to access the federal government’s database of driver’s license photos, but this is not the reality around the world, leaving us dependent on document analysis that is expensive and inefficient. The idea was to create something that could be used worldwide at a very low cost, helping companies and developers achieve a basic level of compliance when it comes to determining whether someone is who they claim to be. Facelocal SDK is not an anti-fraud solution, but rather a low-cost stopgap tool. Between having nothing and having Facelocal SDK, Facelocal SDK is the better choice. The liveness capture is compared with eligible photos from the user-authorized library on their phone, without uploading to a server, and on-device processing costs nothing. You invest in this SDK once and that’s it—you can use it forever.
When searching the photo gallery, we only consider images with EXIF (Exchangeable Image File Format) identical to that of the liveness image. The idea is to compare images taken with the same phone, and we also compare Device Fingerprint information to ensure the compared images are from the same device. Is it a silver-bullet solution? Far from it. This information can be manipulated by advanced users with malicious intent.
The API returns approval, score and threshold, along with the compared photo’s EXIF and the capture’s Device Fingerprint. Your app can see which criteria were met and which photos were used.
Open integration guide{
"status": "approved",
"approved": true,
"reason": "match-found",
"faceMatch": {
"similarity": 0.91,
"similarityPercent": 91,
"threshold": 0.83,
"thresholdPercent": 83,
"percentageIsProbability": false
},
"exif": {
"manufacturerMatches": true,
"modelMatches": true,
"editable": true,
"provesDeviceOrigin": false
},
"deviceFingerprint": {
"kind": "model-profile",
"uniqueDevice": false,
"provesOwnership": false
},
"processing": "on-device",
"identityVerified": false
}Kotlin · CameraX · API 26+ (Android 8).
Physical ARM device and Release build.
Swift · AVFoundation · iOS 16.4+.
Native implementation available.
See which photos qualify, how EXIF and the Device Fingerprint inform the decision, and what each result means for your integration.
Liveness and Face Match run on the phone itself, without a per-verification fee or cloud biometrics service. Source access costs US$ 999, once, or can be unlocked with a valid coupon. The demo APK and guides are public.
No. Your customer completes liveness with the camera and grants full library access. Selfie search and Face Match are automatic, without manual selection or upload. The SDK stops at the first valid match; it does not need to compare the entire library. A search that reaches its configured limit without a match, with photos still to examine, is inconclusive.
Only locally available photos with a single face and EXIF containing the manufacturer, model and original date. The SDK checks the manufacturer and model against the liveness device’s profile, accepting the exact model or a previously verified hardware alias. Photos missing these fields or from a different model are excluded.
They indicate consistency between the photo’s metadata and the model profile used for capture. The SDK reads EXIF from the same bytes it compares, but metadata can be edited and many devices share the same model. They do not prove that a photo was never altered or that it came from that specific physical device.
The SDK respects the permissions granted by the operating system. If access is limited or denied, it ends the flow without scanning the library. The limited-access option cannot be hidden and permission cannot be forced. Your app should explain how to grant full access in Settings if the customer wants to continue.
The result identifies a facial match between the liveness capture and an eligible library photo. It does not validate a name, Brazilian tax ID (CPF), legal identity or phone ownership. The similarity percentage is a model score, not a probability of identity or a measure of accuracy.
Yes. The SDK has been tested on Android devices and iPhones. Target compatibility is Android 8 / API 26+ and iOS 16.4+. Both require your own native Release build; Expo Go and browsers do not run the biometrics.
The facial reference remains in native memory and is released when scanning ends. The JSON API can return up to two copies in private cache on the customer’s device, with a TTL of 30 to 300 seconds, defaulting to 300. Call releaseFaceLocalVerification after the interface and app components have finished using the images. The TTL does not guarantee cleanup at the exact second if the process is suspended; respect expiresAt and explicitly release the images. Gallery originals are not deleted.
There are local integrity, frame-sequence, native-camera and session checks. They reduce known forms of manipulation, but do not make a compromised device trustworthy. There is no guarantee of invulnerability, anti-injection certification or remote attestation. A server must not accept JSON generated on the device as irrefutable proof.
Review the policy first. The Face Local plugin removes the INTERNET permission from the entire Android Release build, not just the biometrics. Keeping network access requires a configuration review and an audit of the native libraries. On iOS, ATS does not block all HTTPS traffic. Validate the app’s network and storage behavior on a physical device before using it in production.
You may integrate Face Local into your applications under your own brand. Selling or reselling the SDK, including a repackaged or renamed version, is not permitted. This restriction does not prevent you from selling your own application. See the license in the documentation.
Source code for US$ 999, paid once, or a valid coupon. Start with the public Android APK and explore the integration guides. On-device processing still has no per-verification fee.
Read the documentation firstFace Local SDK. Review the terms of use and distribution before integrating it into your application. Terms of use.