Inside every verification session.
This is the part your security and engineering team will actually want to read. Six checks, explained down to the mechanism, not just the marketing line.
Not OCR. Full forensic analysis.
A photo of a government ID gets run through machine-vision classifiers trained on document templates from over 100 countries: passports, driver's licenses, and national IDs. We extract the MRZ and barcode data, cross-check it against the printed fields, and inspect the document image itself for the security features issuers actually use: holograms, microprint, UV patterns, and font-level tampering signatures.
If a field was edited in Photoshop, a photo was swapped, or the document template doesn't match what that country issues, the verification report flags it before a human ever needs to look.
Configurable match threshold (default 0.92 cosine similarity)
The face in the photo. The face right now.
We extract facial landmarks from both the ID photo and the live selfie, generate a numerical embedding for each face, and compare them using cosine similarity. It's the same family of technique used across modern face-matching systems, tolerant of lighting, angle, and minor aging differences, but sensitive enough to reject a different person entirely.
Matching runs in the same session as liveness detection, so a high-quality photo of someone else's photo still gets caught. Biometric matching alone was never meant to stand on its own, and we don't sell it that way.
Proving a person is actually there.
Liveness runs two layers. Passive liveness analyzes texture, depth cues, and reflection patterns from a single frame, enough to catch a printed photo or a screen replay, including the moiré patterns screens leave behind. Active liveness adds a lightweight challenge, like a head turn, that a static image or pre-recorded video simply can't respond to correctly in real time.
This is the layer that's been rebuilt the most as generative video has gotten better, and the one we update the fastest when a new spoofing technique shows up in the wild.
An extra layer for high-risk flows.
Some flows need more than "is this a real document." An optional ID number lookup cross-references the keyed-in name, date of birth, and government ID number against authoritative record sources, returning a clean match, no-match, or no-record-found result.
It's built as an add-on for a reason: most integrations don't need it, but lending, high-value marketplaces, and anything touching regulated financial flows usually do.
Single-use, short-lived, stateful.
Every check happens inside a hosted, single-use verification session. Your users never touch a form field that posts sensitive data to your own servers. The session moves through a small state machine: created, processing, occasionally requires_input if a recapture is needed, and completed with a clean verified or unverified result.
Completion is pushed to you the moment it happens through a signed webhook, with automatic retries on delivery failure, no polling loop required on your end.
Catching the ring, not just the account.
A single verified account tells you one thing. The pattern across every session on your platform tells you more: device fingerprints, IP and network signals, and behavioral patterns get compared session-to-session to surface clusters of linked, likely-synthetic identities before they cost you anything.
Every one of those signals rolls up into a single risk score attached to the verification report, so your team can set the bar wherever your risk tolerance actually sits.
Get Real.
Book 15 minutes and we'll run a live verification session end to end.