---
title: Liveness
description: Capability that verifies the user is real and alive at the moment of selfie capture. The biometric anchor of nearly every IDCloud flow.
canonical: https://developer.unico.io/dual-api/capabilities/liveness
locale: en
generated_by: markdown-export
---

When the user is present in an identity journey, Liveness is the first capability to run.

### What it does

Detects whether the captured selfie comes from a real person in front of the camera, and not from a photograph, video, mask, or any other injection attempt. It works alongside the SDK or Unico's Web Journey to guide the user until a biometrically valid frame is obtained.

### Inputs

Capture is handled by the SDK or the Web Journey — you do not send an image manually to Liveness. The input is the session opened via [`POST /v1/process`](/dual-api/developers/api-reference/web-sdk) with a flow that includes Liveness.

:::warning[API integration requires the SDK]
To use Liveness in headless API integration, the implementation of one of the Unico SDKs (Web, Android, iOS, or Flutter) is **required** — Liveness cannot be invoked via API alone with a base64 image.
:::

### Possible responses

| Response | Meaning |
|---|---|
| `YES` | User is alive. |
| `NO` | Liveness attempt failed. |

:::tip[API enum values]
In the Web & Native contract response, these map to `LIVENESS_RESULT_LIVE` (`YES`) and `LIVENESS_RESULT_NOT_LIVE` (`NO`) in the `authenticationInfo.livenessResult` field. See [Get Process](/dual-api/developers/api-reference/web-sdk/get-process) for the full enum table.
:::

### Availability

| Surface | Supported |
|---|:-:|
| **SDK** (Android, iOS, Flutter) | ✅ |
| **Web** (iFrame, Redirect) | ✅ |
| **API** (headless, no SDK) | ⚠️ Requires Unico SDK for capture |

### Valid combinations

Liveness is part of nearly every flow in the catalog:

`idlive`, `id`, `idlivetrust`, `idtrust`, `idcheck`, `idchecktrust`, `iddocs`, `idsign`, `iddocssign`, `idchecktrustdocs`, `idchecktrustsign`, `idchecktrustdocssign`, `idtrustdocs`, `idtrustsign`, `idtrustdocssign`, `idunicodocs`, `idunicosign`, `idunicodocssign`, `idunicoserprodocssign`, `idcheckserpro`, `idcheckserprodocs`, `idcheckserprodocssign`, `creditoconsignado`, `idtoken`, `idtokentrust`, `idtokensign`.

For the full matrix, see [Available flows](/dual-api/capabilities/available-flows).

:::tip[Only flow without Liveness]
`idsmart` (Smart Revalidation) — replaces active capture with metadata/passkey validation plus previously captured biometrics.
:::

### Products that use this capability

- [Onboarding](/products/sign-up/onboarding/index)
- [Non-document verification](/products/sign-up/non-document-verification/index)
- [Age Verification](/products/regional-solutions/age-verification/index)