Skip to content

Use case · Account recovery

Account recovery

Lost the phone.Stillthe same face.

A reset link sent to a stolen number hands the account to whoever stole it. Toden lets a customer recover a password, a PIN or a new phone with a live selfie matched to their verified record, so recovery depends on who they are and not on what they still hold.

The workflow

Recovery that depends on the person, for the moment their phone, SIM or email is not theirs. This is a starting point: add, remove or reorder any step in the workflow builder.

Step 01

3D Active Motion

Head turn or blink prompts

Per check

Step 02

Biometric re-authentication

A live selfie against the verified photo on file

Per check

Step 03

Account activity assessment

Scores the reset: device, network and history

Per check

Then your rules decide

A starting rule set

  • The face matches and the device is familiarApprove
  • The face matches from a device never seen beforeReview
  • No live person was detectedDecline
  • The face does not matchDecline

Every rule is yours to change on a visual canvas, and each result records which rule decided it. Publishing a new version needs no release.

Try the workflow builder

How it works

1

The customer asks to reset

Your app or your support team starts a face check for that customer, in the app or by sending a link.

2

They take a selfie

A liveness check confirms a real person, and the selfie is compared with the photo from their original verification.

3

You release the reset

Your backend receives the verdict and allows the new password, PIN or device only on a pass.

What powers it

  1. Nothing is sent to a phone number or an inbox, so a swapped SIM or a compromised mailbox gives an attacker nothing.

Integrate

Mount the SDK with the workflow you published, or send a hosted link and write no code. The result arrives by signed webhook, and changing the workflow never needs a release.

Verify.tsxTypeScript · React
import { TodenVerification } from "@todenhq/sdk-react";
export function Verify({ userId }) {
return (
<TodenVerification
apiKey="pk_test_..."
workflowId="wf_AbC123dEf456"
userId={userId}
onSubmit={(s) => save(s.verificationId)}
/>
);
}
verification.completedWebhook · JSON
{
"event": "verification.completed",
"data": {
"verificationId": "ver_8fk2...",
"status": "verified",
"assuranceLevel": "gov_db",
"idType": "bvn",
"country": "NG",
"dataMatch": true,
"facialMatch": true,
"facialConfidence": 91
}
}

Frequently asked

  • The comparison photo is the one from their verification, and a face match allows for the years. A borderline score can go to your team instead of failing.

Account recovery,in one workflow.

The sandbox opens when you sign up. Usage-based pricing, no sales call.