Concepts
Verification Flow
Privy controls the order of the verification steps on its servers. The user cannot skip a required step: OTP follows the face match, and consent follows OTP. Both data packages use the same flow.
Code
| Widget screen | What happens | Widget event |
|---|---|---|
| Identifier input | The user enters a PrivyID, email, NIK, or mobile number. | privy:ready on startup |
| Liveness + face match | Privy checks that a live person is present and compares the face with the face on file. | None |
| OTP | The user confirms a one-time password. | None |
| Consent | The user reviews the data that the merchant receives. | None |
| Success | The user continued. | privy:success |
| Identifier input error | The identifier does not match a registered identity. | None |
| No data shared | The user rejected the request, or the confirmation window ended. | privy:cancel if rejected. privy:error with session_expired if timed out. |
| Blocked | Three liveness or face-match attempts failed. The session cannot continue. | privy:error |
The user journey shows the screen for each step. The session lifecycle explains how to keep and reuse a session.
Last modified on
