# KYC steps

The Configuration steps tab allows you to design and customize your verification workflow by adding, organizing, and configuring different steps. This tab consists of three main sections:

## Overview

1. **Available steps (Left panel)**
   * This section contains all the verification steps that you can include in your workflow.
   * Steps may include Language, ID verification, Liveness check, Selfie with ID, Proof of Address, Video call, User questionnaire, Operator questionnaire, Phone number, Email, Geolocation.
   * **Click the steps** in the left section to add them to your workflow.
2. **Steps builder (Middle panel)**
   * Displays the **current steps** in your verification flow.
   * You can **rearrange** steps by dragging and dropping them to change the execution order.
   * Unwanted steps can be **deleted** if they are no longer needed.
3. **Step settings (Right panel)**
   * When a step is selected, its parameters appear in this panel.
   * You can **adjust parameters** such as retry limits, document type selection.
   * Advanced settings (e.g., step keys) can also be managed here.

## Step settings

The Step settings panel allows you to fine-tune each verification step by adjusting its specific parameters based on your business and compliance needs. When a step is selected, this panel provides configuration options.&#x20;

**Step titles appear in two places:** on the progress indicator shown to users resuming the flow on mobile or desktop, and in the video call operator's frame, where they're used to manually trigger steps.

### **Step titles**

* **Purpose**: Step titles are used for display purposes in various contexts:
  * When a user switches to a mobile device, the desktop screen displays the current step they are on.
  * In a **video call verification**, the operator sees the step titles inside their interface to manually trigger or monitor the verification process.
* **Tip**: Choose clear and descriptive step titles to improve the user experience and help operators navigate the process efficiently.

### Advanced tab

The **Advanced** tab stores all the necessary keys for steps, questions, and answers to facilitate integrations with external systems. These keys can be used for API integrations or other external applications that interact with the verification flow.

**Purpose**

* **Step keys** – Unique identifiers for each verification step.
* **Question keys** – Identifiers for the specific questions in forms or questionnaires.
* **Answer keys** – Corresponding keys for answers provided by users in questionnaire steps.

These keys enable seamless integration with other systems and facilitate tracking and reporting of data.

***

## Steps

### Language

* **Purpose**: The Language step allows users to select their preferred interface language from a dropdown list before proceeding with verification.
* **Positioning**: This step is **always positioned first** in the workflow.
* **Step Parameters**:
  * Define the list of **available languages** that users can choose from.
  * You must select at least **two languages** to enable the dropdown selection.
* **Tip**: If your users primarily speak a specific language, consider setting a **default language** in the general settings, while still offering alternative options for accessibility.

***

### ID verification

**Purpose**: The ID verification step is responsible for verifying a user’s primary identity documents. This step includes multiple configuration options to ensure document authenticity and compliance with verification requirements.

#### **Document type**

* Defines which types of identity documents the user can select for verification. Options include:
  * ID card
  * Passport
  * Residence permit
  * Driver’s license

#### **Method**

* Determines how users can submit their identity document:
  * **Capture** – The user must take a live photo of the document.
  * **Upload** – The user can upload an existing image of the document.
  * **Both** – The user can choose either option.

#### Other parameters

**Compare document fields**

* Compares textual information between the document’s **Visual Zone (VIZ)** and **Machine-Readable Zone (MRZ)**.
* Prevents users from passing verification if the fields do not match.

**Compare document pages**

* Ensures the **front and back pages** belong to the same document.
* If discrepancies are found, the session is **rejected.**

**Block expired documents**

* Rejects users if the expiration date has **already passed**.

**Spoofing detection**

* Detects attempts to use **fake or altered** identity documents and **rejects** such sessions.

**Grayscale detection**

* Identifies if the document is **grayscale** (black & white) and **rejects** it to ensure authenticity.

**Visual damage detection**

* Scans the document for **physical defects**, such as a damaged chip.

**Warn if document expires within (days)**

* Sends a **warning** if the document will expire within the specified number of days.

**Reject if document expires within (days)**

* **Rejects** the session if the document is set to expire within the specified timeframe.

**Block person under age (years)**

* Rejects users **below** the specified age limit.

**Allowed document countries**

* Restricts document verification to **specific countries**.
* Prevents users from verifying if the document is from an unlisted country.

***

### Liveness check

**Purpose:** The Liveness check step ensures that the user is a real, live person and not a spoofed or manipulated image. During this step, the user positions their face within the designated frame and follows the instructions.

Identomat offers two types of liveness checks:

#### **Liveness type: Active liveness**

* An **advanced biometric check** where the user is prompted to perform specific actions (e.g., blinking, turning their head) to confirm their presence as a real person.
* Designed to prevent **spoofing attempts** using photos, videos, or masks.

#### **Liveness type: Passive liveness**

* A **basic liveness check** where the user simply holds their head within an oval frame.
* The system captures a **two-second video** to analyze and confirm liveness.

#### **Method for passive liveness**

Defines how the liveness check is performed:

* **Capture** – The user must take a live video using their device’s camera.
* **Upload** – The user can upload a selfie.
* **Both** - The user can choose either option.

#### **Maximum attempts for liveness**

* Specifies the **maximum number of attempts** allowed for the user to complete the liveness check.
* If the user exceeds this limit, the session is **rejected**, and they must restart the process.

***

### Selfie with ID&#x20;

**Purpose:** The Selfie with ID step ensures that the user is physically present with their identity document. Users must hold their document in their hands so that both their **face and the document** are clearly visible in the captured image.

#### **Method**

Defines how the user submits their selfie with the document:

* **Capture** – The user must take a live photo using their device’s camera.
* **Upload** – The user can upload an existing image where they are holding their document.
* **Both** – The user can choose either option.

***

### **Proof of Address**&#x20;

**Purpose:** The Proof of Address step verifies a user’s residential address by analyzing official documents that contain their name and address.&#x20;

#### **Document type**

Users can upload one of the following accepted documents as Proof of Address:

* Bank statement
* Utility bill
* Driver’s license
* Vehicle registration certificate&#x20;
* Yellow Slip&#x20;

***

### Video call

**Purpose:**  The Video call step connects the user with an operator for **manual identity verification**. The operator can interact with the user in real-time and initiate other verification steps as needed.

Identomat supports two types of video calls:

* **One-on-one call** – A secure direct video call between a customer and a verification operator.
* **Multi-user call** – Allows **multiple participants** in a single session, where each user follows their own customized verification workflow.

#### **`+ New step` button**

Adds verification steps within the video call process, allowing the operator to trigger them manually.

**Call type**

* **Single participant** – A one-on-one video call.
* **Multiple participants** – A multi-user video call.

**Participant name**

* If enabled, the **user must enter their name** before joining the call.

**Force user's camera on**

* If enabled, the **user cannot turn off their camera** during the call.

**Reset verification**

* If a user **disconnects and rejoins**, all previous verification data is cleared for security reasons, and the operator must restart the process.

***

### User questionnaire

**Purpose:** The User questionnaire step is designed to collect structured user input through various form types. The provided information is securely stored within the verification session. Questionnaire steps offer a wide range of configurable question formats.

#### Questionnaire details

* **Title** – The main title of the questionnaire.
* **Description** – A brief text displayed below the title to provide context.
* **Success button title** – Customizable text for the confirmation button.

#### Questions and answers

Identomat supports a variety of question types, all of which offer customizable parameters:

#### Short answer

Users can type in a response to an open-ended question.

* **Question title** – The label for the question.
* **Answer format** - Defines the expected structure of the user’s response. This setting controls how the input is validated and which type of data the system accepts.
  * **Free text** - Users can enter any text without restrictions.
  * **Email -** Users must enter a valid email address; the system enforces email format validation.
* **Prefilled answer** – A prefilled answer that the user can edit.
* **Required** – Determines whether the question must be answered.
* **Read-only mode** – Prevents users from editing the default answer.
* **Condition** – The question only appears if a specified condition is met.

#### Checkbox (Multiple selection)

Users can select one or more predefined options.

* **Question title** – The label for the question.
* **Default answer** – Pre-checked options that users can modify.
* **Required** – Determines if at least one option must be selected.
* **Read-only mode** – Prevents users from modifying selections.
* **Condition** – The question only appears if a specified condition is met.
* **`+ Add option`** – Define multiple selectable choices.

#### Radio (Single selection)

Users can select only one option from a predefined list.

* **Question title** – The label for the question.
* **Default answer** – Preselected option that users can change.
* **Required** – Determines if a selection is mandatory.
* **Read-only mode** – Prevents users from modifying selections.
* **Condition** – The question only appears if a specified condition is met.
* **`+ Add option`** – Define the available choices.

#### **File upload**

Users can upload files, such as images or PDFs.

* **Question title** – The label for the question.
* **Description** – Additional instructions displayed under the title.
* **Maximum number of files** – Limit the number of files users can upload (max: 10).
* **File types** – Restrict uploads to **PDFs**, **images**, or both.
* **Required** – Determines if file upload is mandatory.
* **Condition** – The question only appears if a specified condition is met.

#### **Dropdown**

Allows users to select one or multiple values from a predefined dropdown list.

* **Question title** – The label for the question.
* **Dropdown options** – Define the dropdown list by providing options in a comma-separated format (e.g., *Option 1, Option 2, Option 3*).
* **Multi-select** – If enabled, users can select multiple options from the dropdown list. If disabled, users can select only one option.
* **Required** – Determines if a selection is mandatory.
* **Error message** – The message displayed if the field is required but no selection is made.
* **Condition** – The question only appears if a specified condition is met.

#### **Attachment**

Allows users to access files that are either uploaded by operators during the session or pre-attached by administrators via the no-code builder or API.

* **Title** – The label for the question.
* **Description** – Additional instructions displayed under the title.
* **File attachment mode (Radio)** – Define how files are provided to the user:
  * **Uploaded by operator per session** – Operators can upload files during the session that are visible to the user.
    * **Allow changes to attachments after user confirmation -** If toggle is **turned off,** the operator cannot edit attachments after the user **confirms** the questionnaire. If **enabled**, the operator may still upload or remove files.
  * **Pre-attached file** – Files uploaded in advance via the no-code configurations or API.
* **Maximum number of files** – Limit the number of files users can upload (max: 10).
* **File types (Checkbox)** – Restrict uploads to **PDFs**, **images**, or both.
* **Condition** – The attachment field only appears if a specified condition is met.

***

### Operator questionnaire&#x20;

The operator questionnaire appears in the session, and the operator can fill out the form during or after the session.

#### Questionnaire details

* **Title** – The main title of the questionnaire.
* **Description** – A brief text displayed below the title to provide context.

#### Questions and answers

Identomat supports **five types of questions**, each with customizable parameters:

#### Short answer

Operators can type in a response to an open-ended question.

* **Question title** – The label for the question.
* **Answer format** - Defines the expected structure of the operator's response. This setting controls how the input is validated and which type of data the system accepts.
  * **Free text** - Operators can enter any text without restrictions.
  * **Email -** Operators must enter a valid email address; the system enforces email format validation.
* **Prefilled answer** – A prefilled answer that the operator can edit.
* **Required** – Determines whether the question must be answered.
* **Read-only mode** – Prevents operators from editing the default answer.
* **Condition** – The question only appears if a specified condition is met.

#### Checkbox (Multiple selection)

Operators can select one or more predefined options.

* **Question title** – The label for the question.
* **Default answer** – Pre-checked options that operators can modify.
* **Required** – Determines if at least one option must be selected.
* **Read-only mode** – Prevents operators from modifying selections.
* **Condition** – The question only appears if a specified condition is met.
* **`+ Add option`** – Define multiple selectable choices.

#### Radio (Single selection)

Operators can select only one option from a predefined list.

* **Question title** – The label for the question.
* **Default answer** – Preselected option that operators can change.
* **Required** – Determines if a selection is mandatory.
* **Read-only mode** – Prevents operators from modifying selections.
* **Condition** – The question only appears if a specified condition is met.
* **`+ Add option`** – Define the available choices.

#### **File upload**

Operators can upload files, such as images or PDFs, directly into the session while filling out the questionnaire. These files become part of the session record and can later be reviewed by administrators or other authorized roles.

* **Question title** – The label for the upload field.
* **Description** – Additional instructions displayed under the title.
* **Maximum number of files** – Limit the number of files operators can upload (max: 10).
* **File types** – Restrict uploads to **PDFs**, **images**, or both.
* **Required** – Determines if file upload is mandatory for the operator before submitting the questionnaire.
* **Condition** – The upload field only appears if a specified condition is met.

#### **Dropdown**

Allows operators to select one or multiple values from a predefined dropdown list while filling out the session questionnaire.

* **Question title** – The label for the dropdown field.
* **Dropdown options** – Define the list of options by providing values in a comma-separated format (e.g., *Option 1, Option 2, Option 3*).
* **Multi-select** – If enabled, operators can select multiple options. If disabled, only one option can be selected.
* **Required** – Determines if a selection is mandatory before submitting the questionnaire.
* **Condition** – The dropdown field only appears if a specified condition is met.

***

### Phone number

Purpose: The Phone number step allows for the collection or verification of a user’s phone number. The provided phone number is stored within the session.

**Method**

* **Collect** – The user enters their phone number, and it is stored in the session without verification.
* **Verify** – The user enters their phone number, and an **OTP (One-Time Password)** is sent. The phone number is stored only after the OTP is successfully verified.

***

### Email

**Purpose:** The Email step allows for the collection or verification of a user’s email address. The provided email is stored within the session.

**Method**

* **Collect** – The user enters their email address, and it is stored in the session without verification.
* **Verify** – The user enters their email address, and a **confirmation code** is sent. The email is stored only after the verification code is successfully confirmed.

***

### Geolocation

**Purpose:** The Geolocation step collects and verifies the user’s physical location during the verification process. This helps ensure compliance with jurisdiction, AML, or KYC requirements.

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.identomat.com/no-code-workflows/kyc-steps.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
