Go back to Blog
Jennifer Edidiong
Marketing
7 min read
Share to
How Dojah’s Face Authentication Works: A Product Walkthrough

Face Authentication is a Dojah product that lets you store faces and check against them later. You build a collection of faces, then validate, verify, or search against it to find out whether a particular face has been saved, and whether the person in front of you is who they say they are.
This walkthrough covers what it does, how matching works, what the results look like, and how it differs from EasyAuthentication.
The Terms You Will See
Term | What it means |
| Collection | A named group of stored faces, such as one for customers and one for staff. |
| Subject ID | Your own ID for a person in a collection, such as a customer ID. |
| Face ID | The ID Dojah gives each stored face. |
| Enroll | Add a face to a collection. |
| Authenticate (1:1) | Match a live face against one specific enrolled person. |
| Search (1:N) | Match a live face against every face in a collection. |
| Similarity score | How closely two faces match. Closer to 1 is stronger. |
What Face Authentication Is and When to Use It
Face authentication is different from a liveness check, and the two solve different problems.
- A liveness check: Confirms that the person acting on your platform right now is a live person, and not someone using another person’s photo to hide their identity.
- Face authentication: Checks that person’s face against a collection of faces you have stored, to confirm they are who they say they are and that you already have a record of them.
Dojah also has a separate product, EasyAuthentication, for returning users. It compares a fresh liveness capture with an earlier one. The last section covers how the two differ.
When to use Face Authentication depends on your use case, but teams commonly use it for three things:
- Verification: Confirm that the person about to act is who they say they are. As long as you have registered their face in a collection, you can check against it.
- Capturing actions: Record who acted, such as a transaction, so you can pull up the record later.
- Physical access: Store customers’ faces and validate them for entry to buildings and similar spaces.
How Capture Works
Capturing is mostly picture-taking, and how you get the image is up to you. You can ask the customer to take a selfie, or send photos you already have.
- Create a collection: You can create one in the dashboard or through the API. Some teams keep one for customers and another for staff.
- Send faces: Enroll each face with the image (JPG or PNG, as a URL or a Base64 string), your own ID for the person, and the collection ID.
- Get confirmation: The response comes back almost immediately with a face ID, an image quality band such as good, a timestamp, and a flag showing whether this face was already stored for that person.
Integration is mainly through the API. The dashboard shows your collections, their IDs and how many faces each holds, but not the faces themselves. To list the faces in a collection, use the API.
How Face Matching Works
Once faces are stored, you send an image of the person and check it against a specific collection. You need to know which collection you are checking. Some teams keep different collections for different tiers of validation on their platform. You capture the image in whatever way suits your product, send it through the API, and the result comes back almost instantly.
Through the API, you can:
- List faces: See every face in a collection, with its face ID, subject ID and quality band.
- Enroll a face: Add a new face to a collection.
- Authenticate (1:1): Match a live face against one enrolled person. You need to know who you are checking.
- Search (1:N): Search a whole collection for matching faces, without knowing who the person is. This tells you whether a face is already on file.
- Compare two faces: Check two standalone images against each other. Neither needs to be in a collection.
- Compare a face with a document: Check whether a selfie matches the photo on a government-issued ID.
The Result and What Happens Next
Everything comes back through the API, and the response depends on the endpoint you call.
- Compare and authenticate: You get a match flag, a similarity score from 0 to 1 and a confidence band. Closer to 1 is stronger, and around 0.8 to 0.9 is a good result.
- Search: You get the faces that matched, each with a person ID and a confidence score from 0 to 100. Search lets you set your own threshold, and the default is 0.5.
- Face and document: You get a confidence value from 0 to 100 and a match flag. Dojah’s guide treats 90 and above as a strong match and 60 and above as a successful one. You also get the estimated age range, the card type, and image quality flags for glare, blur, and sunglasses.
- Enrollment: You get the collection ID, subject ID, face ID, quality band, and the duplicate flag.
Then you act on the result: let the person through, flag the account, or ask for another check. Every Register, Authenticate, and Compare check is logged in Face Logs, where you can filter by date, collection, action, or status and export the history. A “no match” means the check ran and the faces differ, which is different from a check that failed to run.
You can test the whole flow in the sandbox before going live.
Face Authentication vs EasyAuthentication
Both confirm that a returning user is who they claim to be, but they work differently.
EasyAuthentication | Face Authentication | |
| Best for | Authenticating returning users | Searching many faces, comparing images and matching selfies to IDs |
| Integration | A hosted widget that Dojah runs, opened by redirect, iframe or WebView | An API only, so you build the camera interface yourself |
| Liveness | Built in | Set up separately in your app |
| How data is organized | A reference ID for each user | Collections, with a subject ID for each person |
| Link to EasyOnboard | Can reuse the liveness captured during onboarding | Custom: you send images through the API |
| Result | Success, failed or abandoned, confirmed on your server through a webhook | Match scores, plus a log of every action |
| Developer effort | Low | Moderate to high |
- Choose EasyAuthentication when you want returning-user authentication with minimal front-end work.
- Choose Face Authentication when you need to search across faces, compare images or match a selfie to an ID, and you are ready to build the capture interface.
Sign up today and start building with Dojah.
Frequently Asked Questions About Face Authentication
1. What is Face Authentication?
It is a Dojah product that lets you store faces in collections and check against them later, to confirm that a person is who they say they are or to find out whether a face is already on file.
2. How is it different from a liveness check?
A liveness check confirms a live person is present right now. Face authentication checks that person’s face against faces you have stored.
3. What is a collection?
A named group of stored faces, such as one for customers and another for staff. You create it in the dashboard or through the API, and you need its ID to enroll, authenticate or search.
4. What is the difference between Authenticate and Search?
Authenticate matches a face against one enrolled person, so you need to know who you are checking. Search checks the face against the whole collection, so you do not.
5. Can I see the stored faces in the dashboard?
No. The dashboard shows your collections, their IDs and how many faces each holds, and a log of every check. You work with the faces themselves through the API.
6. Should I use Face Authentication or EasyAuthentication?
Use EasyAuthentication for quick returning-user authentication with a hosted widget. Use Face Authentication when you need to search faces, compare images or match a selfie to an ID, and you are ready to build the capture interface.
Start using Dojah for all your business needs