> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pruva.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Widget types

> The four widget flows, and what each one verifies.

Every widget has a **type**, chosen when you create it, which decides the steps the end user goes through. The type is set in the dashboard, not in the embed code, so you can change a widget's behavior without touching your page.

## The four types

<CardGroup cols={2}>
  <Card title="Liveness" icon="face-smile">
    `liveness`. Confirms a real, live person is present with a selfie and liveness check. No document or ID number.
  </Card>

  <Card title="ID" icon="id-badge">
    `id`. Captures and reads an identity document.
  </Card>

  <Card title="Liveness + ID" icon="address-card">
    `liveness_id`. Liveness, plus a document, plus matching the live face to the document photo.
  </Card>

  <Card title="Liveness + NIN/BVN" icon="fingerprint">
    `liveness_nin`. Liveness, plus a NIN or BVN number, matching the live face to the government record's photo.
  </Card>
</CardGroup>

## Liveness

The user takes a selfie and passes a liveness check that confirms they are a real person present at capture, not a photo or a replay. Use it when you need presence, without needing to tie it to a specific document.

## ID

The user photographs an identity document. The widget captures the document and reads its data. Use it when you need the document itself, for example to read and store its fields.

## Liveness + ID

The strongest self service check: the user proves liveness, presents a document, and the widget matches the live face against the photo on the document. Use it to confirm the person presenting the document is its holder.

## Liveness + NIN/BVN

The user proves liveness and enters a NIN or BVN. The widget looks the number up through your organization's activated NIN or BVN scope and matches the live face against the photo on the government record.

Because it runs a real identifier lookup, this type depends on your organization having a NIN or BVN scope active. The merchant chooses which registers the widget allows, and the end user picks one.

<Note>
  The identifier lookup in `liveness_nin` runs through the same engine and the same activated scope as the API, so it is gated and billed exactly like any other NIN or BVN check. See [Scopes and activation](/concepts/scopes-and-activation) and [Wallet and billing](/concepts/billing).
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.