One flow. One decision. Full control.
Zoi ID brings document checks, liveness, screening and expert review together and returns one clear answer. You decide what data you receive and when people are checked again.
Decision
decision.rule
- auto_approve_nfcses_8f3kq2v7Approved
- auto_approve_walletses_2m9ta4xeApproved
- auto_resubmit:livenessses_7hc1p0wdResubmit
- review:sanctionsses_4qz8n3rbIn review
- auto_reject_underageses_9xv5e6ktRejected
Plugs straight into your product
Your backend starts a session. Your user completes the flow in your app or in a browser. You get a signed webhook with the result.
Hosted in Germany (EU)
The decision engine
Every session ends in one of four clear outcomes. The reason is stored with the case, and users can always ask a person to look again.
- Approved
Every required check passed on strong evidence.
- Resubmit
Something was unusable, like a blurry photo. The user redoes only that step.
- Rejected
A clear fact rules the person out, such as being under age or a document already used by another account.
- Review
Something needs judgement. A trained reviewer decides, and possible sanctions matches get two.
Trust that adapts to the channel
Evidence from a verified app on a genuine device counts for more. Sessions from the web or from devices that cannot prove themselves must clear a higher bar. Risky sessions always get a person.
You choose what you receive
Each partner gets a set of scopes. Data behind a scope you do not have is never sent.
| Scope | What you get |
|---|---|
eligibility | Always included. Status, level, valid until, and whether the person is over 18. |
country | Document type, issuing country, nationality and country of residence. |
birth_year | Year of birth. |
duplicate_link | On a duplicate, your own user id of the earlier account. For account recovery only. |
identity_data | Full name and date of birth. Only for partners with a legal duty to hold them. |
address | The verified address lines. Without it you still get the address result: method, evidence level and country. |
financial_data | Source of funds and wealth answers, document details and findings. Never part of eligibility. |
Two levels
Standard
Document, live person check and country of residence.
Enhanced
Everything in standard, plus a full home address.
Add-on checks
Add proof of address or source of funds and wealth to any session, or run them later for a verified user.
How integration works
- 1
Create a session
Your backend calls the partner API with your key and your own user id. You get back a short-lived client token.
- 2
Run the flow
Use the React Native SDK in your app, or send users to the hosted flow. Either way, the same checks run.
- 3
Receive webhooks
We send signed webhooks when a session or an identity changes. Missed one? Read the events feed.
- 4
Use the answer
Store the identity id and its status. React to changes such as suspended or expired.
An identity that stays current
A verification is not a one-time event. Each identity has a status your backend can rely on and a date when it must be checked again.
- Active
active
Verified and usable.
- Suspended
suspended
On hold after a new screening candidate or a fraud signal, until reviewers decide.
- Expired
expired
The document expired or 36 months passed. A new session verifies again and keeps the same identity id when the person matches.
- Revoked
revoked
Ended for good, for example after the person withdrew consent.
Valid until is the document expiry date or 36 months after verification, whichever comes first.
Who is responsible for what
You stay in control of your users' data. Zoi ID processes it for you under a data processing agreement. When a user closes their account, one API call deletes their data, and the answer tells you what we must keep by law and until when.
Put a real person behind every account
Zoi ID is launching soon. Early access partners get sandbox keys, a direct line to our team and a setup that fits their markets.
Or write to official@zoi.network