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 VeryAI's dedicated Liveness SDK — a separate SDK from the Palm Verification SDK used for palm verification.
- 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 with a
success,cancelled, orerrorcode.
There's no signed token to verify. Unlike palm verification, a liveness check returns a plain pass/fail result — the SDK itself makes the backend calls to VeryAI (session create on start, result post on completion), so the trust boundary is the SDK-to-VeryAI channel, not a signature your backend re-checks. If your product needs a persistent, backend-verifiable identity, pair this with Palm Verification rather than relying on liveness alone.
Liveness vs palm verification
| Use | Purpose | Typical flow |
|---|---|---|
| Liveness | Confirm a real person is present now. | Guided camera check, pass/fail result — no signed token. |
| 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 (
isSupported()) before showing the liveness option. - Explain why camera access is needed before requesting permission.
- Offer clear retry guidance when a scan fails — check
result.errorMessagefor the reason. - Do not treat user cancellation as a fraud signal.
- Liveness checks only run on a physical device — neither iOS Simulator nor Android emulator support the on-device native library.
See the Liveness SDK overview for installation and integration details. If your app also needs palm enrollment or re-verification, see the Palm Verification SDK overview.