---
title: Smart revalidation
description: Re-authenticates users in transactions post registration, allowing the authentication methods to vary by the desired experience and flow criticality.
canonical: https://developer.unico.io/dual-api/products/step-up-authentication/smart-revalidation/index
locale: en
generated_by: markdown-export
---

- [/](/)
- [Build](/dual-api/products/)
- [Step-up Authentication](/dual-api/products/step-up-authentication/)
- Smart revalidation

**On this pageSmart revalidationRe-authenticates users in transactions post registration, allowing the authentication methods to vary by the desired experience and flow criticality.

### What this product solves​

Smart revalidation addresses the challenge of re-authenticating users with the least possible friction, by orchestrating multiple identity verification methods adaptively — choosing the most appropriate method for the risk level of each transaction.
Instead of always requiring a full biometric capture, it combines metadata and/or passkeys with existing biometric data (if desired).
The minimum friction level can be set by picking the [useCase](/capabilities/smart-revalidation), based on the criticality level, it is possible to set the minimum friction to be silent authentication, passkey or simply just have facial biometry as a challenge. Once picked, Unico will orchestrate the lowest friction technology possible, always guaranteeing the same level of safety of a facial biometry.
**Use this product when:**

Periodic revalidation (e.g., passwordless login, weekly re-check).
Financial transfers
Account management (e.g., password or limit changes)
Service subscriptions
New device registration
Financial operations (investments, loans, cashout), among others.

**Do not use this product when:**

You need access to the full detail of the Liveness response on every transaction — Smart Revalidation only returns the final result across all of its experiences; when it escalates to biometric capture, it does not return the liveness detection result on its own.

### Capabilities involved​

Single adaptive capability:
[Smart Revalidation](/capabilities/smart-revalidation)
CapabilityRequirementRole in the flow**Smart Revalidation**RequiredOrchestrates metadata, passkeys and biometric data adaptively to verify whether the user matches the reference process.
### Prerequisites​

**Bearer token** — see [Authentication](/dual-api/developers/api-reference/authentication).
**Sandbox credentials** — see [Environments](/dual-api/developers/api-reference/environments).
**SDK or Web component installed** — only for Web and SDK integrations. See [SDKs and Tools](/developers/sdks-and-tools/overview).
**Reference biometric** — the user must have previously completed an onboarding or biometric registration process. Pass it via the `references` array in [Create Process](/dual-api/developers/api-reference/web-sdk/post-process): each item requires `referenceType` (`REFERENCE_TYPE_PROCESS_ID` or `REFERENCE_TYPE_IMAGE_BASE64`) and `referenceContent` (the process UUID or base64-encoded image).
**`useCase` value** — required when creating the process. See [Smart Revalidation](/capabilities/smart-revalidation) for the full list of valid values and their behavior.

### Step-by-step implementation​

NativeWebIntegration 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](/developers/sdks-and-tools/android/requirements), [iOS](/developers/sdks-and-tools/ios/requirements) or [Flutter](/developers/sdks-and-tools/flutter/requirements).
**Create a process** — call [Create Process](/dual-api/developers/api-reference/web-sdk/post-process) with the appropriate `flow` value and the user's identifier. Use the returned `token` to 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](/dual-api/developers/api-reference/web-sdk/get-process) to retrieve the capability results.
**Apply business rules** — evaluate the response fields to approve, deny or escalate.

AndroidNative Android SDK for in-app capture.[View overview](/developers/sdks-and-tools/android/requirements)iOSNative iOS SDK for in-app capture.[View overview](/developers/sdks-and-tools/ios/requirements)FlutterCross-platform Flutter SDK for in-app capture.[View overview](/developers/sdks-and-tools/flutter/requirements)Integration via iFrame, Redirect or Native — Unico hosts the capture UI, and you receive the result via polling.

**Create a process** — call [Create Process](/dual-api/developers/api-reference/web-sdk/post-process) with the appropriate `flow` value and the user's identifier. The response includes a `userRedirectUrl`.
**Redirect the user** — send the user to `userRedirectUrl`. Unico renders the capture journey. Or `webAppToken` in native apps.
**User completes the journey** — after capture, the user is redirected back to your `callbackUri`.
**Query the result** — call [Get Process](/dual-api/developers/api-reference/web-sdk/get-process) to retrieve the capability results.
**Apply business rules** — evaluate the response fields to approve, deny or escalate.

WebQuick integration via browser, no installation needed.[View overview](/developers/sdks-and-tools/web)Last updated on Oct 8, 2026**