Liveness Detection
Liveness Detection is VeryAI's standalone product surface for proving that a real person is present during a verification moment. It can be used on its own for anti-spoofing and risk checks, or together with ZK-backed palm verification when you need to register or re-verify a known human.
When to use liveness
- Block photo, video, or replay attempts during onboarding.
- Add a real-person check before a high-risk action.
- Screen for live presence without requiring a full identity-binding flow.
- Reduce bot, farmed-account, and synthetic-user abuse.
How it works
- Your app starts a liveness check through the Native SDK.
- The SDK opens a guided camera flow and prompts the user to complete the liveness interaction.
- VeryAI evaluates whether the capture shows a live, present human rather than a spoof.
- Your app receives a result and should handle success, retry, cancellation, timeout, and restricted states.
Backend verification still matters. Treat the client callback as UX state. For production decisions, send the signed result to your backend and verify it before granting access or approving the action.
Liveness vs palm verification
| Use | Purpose | Typical flow |
|---|---|---|
| Liveness | Confirm a real person is present now. | Guided camera check, result handling, optional backend verification. |
| Palm / human verification | Register a human or re-verify the same human later. | Palm capture, liveness, match/enrollment logic, signed verification result. |
Implementation notes
- Call device support checks before showing the liveness or verification option.
- Explain why camera access is needed before requesting permission.
- Offer clear retry guidance for poor lighting, shaky capture, or timeout errors.
- Do not treat user cancellation as a fraud signal.
- Do not bypass backend token verification for production access decisions.
For SDK setup, continue to the Native SDK overview. For SDK error handling, see Error Handling.