Age Verification
What this use case solves
Allows proving that the user meets the minimum required age in a 100% biometric way, without document friction. Suitable for flows where facial age estimation is already sufficient for the decision — such as access to adult content, sports betting or alcoholic beverages in digital environments.
Use this use case when:
- Regulation or internal policy does not require documentary evidence of age.
- The priority is to minimize friction in the user journey.
- The usage context accepts biometric estimation as sufficient proof (e.g., streaming platforms, betting, adult content).
- Transaction volume is high and document capture would represent an operational bottleneck.
Do not use this use case when:
- Regulation requires documentary proof of age.
- The service involves high regulatory or financial risk (e.g., credit, healthcare).
- The target audience's age range makes facial estimation less reliable (e.g., teenagers close to the legal age).
Capabilities involved
Pipeline executed within a single process:
| Capability | Required | Role in the flow |
|---|---|---|
| Liveness | Optional for API; required for Web and Native | Confirms that a real person is in front of the camera at capture time. Biometric anchor of the process. |
| Identity Verification | Required for idage; not used in idagedocumentless | Verifies whether the transaction face belongs to the holder of the provided government identifier, using Unico's identity base and additional signals. |
| Age Verification | Required | Estimates the age range from facial biometrics. The result determines whether the user meets the minimum required age. |
Prerequisites
- Bearer token — see Authentication.
- Sandbox credentials — see Environments.
- SDK or Web component installed — only for Web and SDK integrations. See SDKs and Tools.
Step-by-step implementation
- Native
- Web
- API
Integration via native SDK — capture runs inside your app using the Unico SDK for Android, iOS or Flutter.
- Install the SDK — add the Unico SDK dependency for your platform. See the setup guide for Android, iOS or Flutter.
- Create a process — call Create Process with the appropriate
flowvalue and the user's identifier. Use the returnedtokento initialize the SDK. - Start the capture — the SDK renders the camera UI and performs liveness detection on-device, returning the captured payload.
- Query the result — call Get Process to retrieve the capability results.
- Apply business rules — evaluate the response fields to approve, deny or escalate.
Integration via iFrame, Redirect or Native — Unico hosts the capture UI, and you receive the result via polling.
- Create a process — call Create Process with the appropriate
flowvalue and the user's identifier. The response includes auserRedirectUrl. - Redirect the user — send the user to
userRedirectUrl. Unico renders the capture journey. OrwebAppTokenin native apps. - User completes the journey — after capture, the user is redirected back to your
callbackUri. - Query the result — call Get Process to retrieve the capability results.
- Apply business rules — evaluate the response fields to approve, deny or escalate.
Direct API integration — capture the selfie using the Unico SDK or your own UI following the Capture Standard, then send the image directly to the Unico API.
- Capture the selfie — use the Unico SDK for your platform, or build your own UI following the Capture Standard, to obtain a selfie image that meets liveness requirements.
- Create a process — call Create Process with the user's identifier and the selfie as
imagebase64. - Query the result — call Get Process to retrieve the capability results.
- Apply business rules — evaluate the response fields to approve, deny or escalate.
What's next
- Test in Sandbox first — use sandbox credentials to validate the full flow before going live. See Environments.
- Set up webhooks — receive result notifications asynchronously instead of polling. See Webhooks and Events.
Related use cases
- Onboarding — full onboarding flow with document and biometric identity check.


