KYC
Two-stage verification: questionnaire, then KYC
A light form first, a full verification when it is needed.
What it is
A way to split identity verification into two stages over time.
- First stage: questionnaire. A lightweight form during registration. The user enters a name and whatever other data you choose to ask for, for example the date of birth. No document uploads, no selfie, no liveness check. It takes a few seconds.
- Second stage: full KYC. A regular verification with documents and a selfie, which you start later, for example at the first withdrawal. It may happen months or years after the questionnaire.
When a person completes the full KYC, the system cross-checks the data from their documents against what they gave in the questionnaire. If the data do not match, the verification fails.
Why use it
A full document verification at the start can scare away new users and cause drop-off during onboarding. In the two-stage flow a person fills in a simple form first, and goes through full verification only when it is needed. At the second stage the data from the documents is compared with the data supplied earlier in the questionnaire. This compares declared data. It does not prove that the same person completed both stages.
The stages are linked: when you create a link to the full KYC, you name the questionnaire that the data should be checked against.
Set it up in the dashboard
Everything below is in the KYC/AML section.
Step one: set up the questionnaire
Open the KYC Editor, open the scenario or create one, and on the Verification steps tab click the button that adds a questionnaire step. In the step card choose what to ask:
- The full name is always on and cannot be turned off. Without a name the second stage is impossible.
- The date of birth, email and phone are toggles.
- A setting that requires confirmation by a code.
- Your own fields. For each field set the key, the title and the type (text, text area or select), and mark whether it is required. For a select field list the options.
The questionnaire step is a separate scenario. The button is available only in an empty scenario, and the questionnaire becomes its only step. The full KYC is configured in its own scenario. A questionnaire scenario does not show the session lifetime, the allowed age or the permission to use a desktop camera. Save the scenario.
Step two: give users the form
Open KYC Links, choose the scenario with the questionnaire in the one-time links block, set the validity and the number, and click Generate links. Distribute the link during onboarding, in an email or in the interface of your service. The person opens the link, fills in the form and sees a success screen.
When the questionnaire is completed, your system receives the QUESTIONNAIRE_COMPLETE webhook with the entered data. You can switch on the option that drops the entered values from the callback (the identifiers and the key and title of each field stay, and the check results of the questionnaire are sent in full), or turn on encryption of the transmitted data.
Step three: view completed forms
Questionnaires are collected in their own tab and are not mixed with regular sessions. The filters are by status (all, pending, success), by value and by date. For each questionnaire the table shows the session identifier, the full name and the date of birth, the status (success when completed, pending when abandoned halfway), the creation time, the client user, the related KYC sessions, the database checks and the JSON of the record.
Step four: create the link to the full KYC
When it is time for the full verification, create a standard KYC link. Choose the standard KYC scenario and quantity one. The optional field to link a questionnaire record appears. Select the questionnaire and generate the link. The questionnaire is bound to the link, and during the verification the system checks the document data against it.
Step five: see the connection
Open the second-stage verification in KYC Reports. If a questionnaire is linked, the questionnaire block is shown at the top: on the left every field the person filled in, on the right the match result, for the name and the date of birth separately. If database checks ran for the questionnaire, their results are shown in the same block. The links work both ways.
The questionnaires tab and the field that links a questionnaire appear only after you have at least one questionnaire link.
What the user sees
At the first stage. The form opens at once. The user enters the full name and the fields you enabled, and after pressing the button sees a success screen. A full name with fewer than two words or too long is refused with a message to enter the name correctly. A date of birth outside the allowed range gets a message about the allowed age.
At the second stage. The user goes through your standard KYC verification. After success the system compares the document data with the questionnaire without the user noticing:
- The name is matched by words and allows for different spelling and keyboard layout. A character-by-character match is not required.
- The date of birth must match exactly.
| Result | What it means | What the user sees |
|---|---|---|
| Matched | The name and the date of birth from the documents match the questionnaire. | Verification successful. |
| Data did not match | The name or the date of birth differ from the questionnaire. | Rejected: the data in the documents do not match what was provided before. |
| Questionnaire not found | The linked questionnaire does not exist or belongs to another account. | Rejected: questionnaire not found. |
| Questionnaire not completed | The linked questionnaire was started but not completed. | Rejected: complete the questionnaire first. |
In case of a mismatch the user is not told which field did not match.
In the API
- List questionnaire sessions
- Delete questionnaire session
- Pass
questionnaireSessionUuidto the widget for the second stage. See the options. - Session status accepts the identifier of a questionnaire record.