Prove the holder is the person.
Biometric 1:1 comparison between a live selfie and the portrait on an identity document. One API call returns a calibrated similarity score, a pass / refer decision and explainable reason codes — in under a second.
One call. Every check.
Each capability runs in parallel and returns in a single structured response.
Calibrated scoring
A single 0–1 similarity score, calibrated so the same value means the same confidence across every camera and document — not a raw distance you have to interpret.
Tunable FAR / FRR
Set your own decision threshold per flow, or pick a target false-accept rate and we map it to the score — strict for account opening, relaxed for re-authentication.
Pose & lighting robust
Matches reliably across off-angle faces, low light, glare, glasses and headwear, so real customers are not rejected for everyday capture conditions.
Twin & mask resistant
Deep facial geometry separates identical twins and look-alikes, and flags silicone masks and prosthetics that defeat shallow matchers.
Age-progression handling
Compensates for the gap between a document portrait and a current selfie, so a five-year-old passport photo still matches its holder.
Audit reason codes
Every result carries human-readable reason codes — score band, quality flags, attack signals — for your audit trail and your regulator.
Decide where to draw the line.
The matcher returns a calibrated score, not a black-box verdict. You choose the operating point — tighten for high-value onboarding, loosen for friction-sensitive re-auth — and we hold the false-accept rate to your target as conditions change.
- Calibrated 0–1 similarity score, comparable across devices
- Set a fixed threshold or target a false-accept rate (e.g. 1 in 100,000)
- Per-flow profiles: strict onboarding vs. low-friction re-authentication
- Quality gating returns a retry hint instead of a false reject
Built to defeat morphs and injection.
Presentation and injection attacks are scored alongside the match itself. Morphed portraits, photo substitution and virtual-camera feeds are flagged before they can pass as a genuine holder.
One call, structured result.
Send a selfie and the document portrait — or reference an existing verification session — and receive a typed response with score, decision and reason codes. SDKs for Web, iOS, Android, React Native and Flutter handle guided capture.
const r = await othento.face.match({
selfie: selfieImage,
documentPortrait: idPortrait,
threshold: 'onboarding',
});
// r.match -> true
// r.similarityScore -> 0.962
// r.decision -> "pass"
// r.reasons -> ["score_high", "quality_ok"]Four steps, about a second.
Capture selfie
Guided SDK capture with live quality, framing and glare feedback — or pass an existing image.
Extract portrait
The reference face is cropped from the verified document, or reused from the active session.
Compare
The biometric engine compares facial geometry and scores presentation and injection attacks.
Decision
A calibrated score, pass / refer decision and reason codes are returned and logged.
Onboarding, everywhere.
Account opening
Confirm the applicant matches their ID before a bank account or card is issued.
Wallet onboarding
Mobile-first selfie match that binds a real person to every new wallet without adding friction.
SIM registration
Match the subscriber to their national ID at activation, in-store or in-app, at scale.
Manual review can't keep up.
| Othento | Manual review | Legacy vendor | |
|---|---|---|---|
| Time to decision | Under a second | Minutes per case | Seconds–minutes |
| Score calibration | Calibrated, comparable | Subjective judgement | Raw distance |
| Threshold control | Per-flow, FAR-targeted | N/A | Single global cut-off |
| Twin & mask resistance | Deep geometry | Often missed | Partial |
| Morph / injection signals | Scored & flagged | Not detectable | Limited |
| Explainable reason codes | On every decision | Manual notes | Rarely |
Othento Face Matching let us drop the manual selfie review queue entirely. We tuned the threshold to our risk appetite and the false-accept rate has held exactly where we set it.
Questions, answered.
It is a calibrated value between 0 and 1, where the same number reflects the same confidence regardless of the camera or document used. You decide the threshold at which a score becomes a pass, or give us a target false-accept rate and we map it for you.