KYC documentation
KYC: frequently asked questions
Short answers, with links to the details.
General
What is the KYC module for?
It verifies the identity of a user remotely, by document and face. It combines document recognition, a comparison of the face with the photo in the document, liveness and anti-fraud checks into one session. The set of checks is a scenario that you configure in the dashboard. See general information.
Which documents and countries are supported?
Passports, national ID cards, driver's licenses and other official documents. Coverage: 10,000+ document types, 195+ countries and territories. Which countries and types are accepted at a step is set in the scenario. See recognized documents.
Can support for a new document type be added?
Write to us with the document type and the country. See support and contacts.
Photos and documents
How should the photos be taken?
In good light, without glare, shadows or cut-off edges. The whole document must fit in the frame, and all important areas must be fully visible. Do not use the flash and do not cover the document with your fingers. For a selfie, look straight into the camera, with the face uncovered and fully in the frame. Do not use filters and do not edit the photos.
Can scans or photocopies be used instead of photos of the original?
Only if the checks for copies and printouts are turned off in the scenario. By default the platform expects photos of original documents, and copies and printouts are rejected.
Does the user need a camera, or can a ready-made photo be uploaded?
The widget captures the images with the camera and has no file upload. Your server can send a ready-made image to a step of the scenario through the REST API. See process images.
Which image formats are accepted?
JPEG and PNG only. Other formats are refused with [general] bad image.
Do I need to specify the document type or country in advance?
No. The system determines the document type from the image. The scenario defines which documents are allowed at the step.
Can a multi-page document be checked?
Yes. Add a separate step to the scenario for each page. The results of all steps are collected in one session.
Liveness and anti-fraud
How does the liveness check work?
The step is active: the person moves the face closer through two ovals. Photos, recordings on a screen and paper printouts are not accepted as a live face.
What if the user does not pass liveness?
Most often the cause is poor lighting or a task that was not performed. Ask the user to move to a well-lit place, look straight into the camera, not cover the face and follow the hints on the screen. The number of attempts is limited. When they are used up, a new session is needed.
Can liveness be turned off?
A scenario can consist of document steps only. In that case it is not confirmed that the document is presented by its holder, and the risk of fraud is higher.
How does the platform detect fraud?
It checks the document for signs of forgery (a copy, a printout, a photo of a screen, an edited image, physical alterations), compares the face with previously verified ones, keeps a face blacklist, and controls that one and the same document of one person is used within a session. Which checks are on is set in the scenario. The codes are in errors.
Can the system find one person under different names?
Yes. During a new check the system compares the face of the user with faces from past sessions. If the face has been seen before, with another document or other data, it is visible in the dashboard.
Can a stop list be kept?
Yes. A face can be added to the blacklist from the session card. On later attempts a session with a matching face is rejected with [fraud] black list. The mechanism relies on the face, not on document data, so it works even when the document is changed.
API and widget
Where is the API documentation?
In the REST API reference.
What are the main steps of an API integration?
Your server creates a session for the chosen scenario, sends the images for the steps, and gets the final result by a webhook or a session status request. If you use the widget, it performs the sending itself. See the quick start.
Are the document and the selfie sent in one request?
Each image goes to its own step of the scenario. The widget guides the user through the steps itself.
What are sessionId and clientKey?
sessionId is the unique identifier of a session. Use it to send images, read the status and find the session in the dashboard. A session is tied to one attempt, so create a new session for every new check. clientKey is your own identifier that links a session to a user in your system. You set it yourself. See working with clientKey.
How do I get the result?
Both ways are available: a webhook and a status request. See webhooks and session status.
Is there a ready-made web widget?
Yes. See the Web SDK and the integration guides.
Is there a mobile SDK?
The web widget works in mobile browsers and inside apps through a WebView. See mobile apps and WebView.
Statuses and errors
What statuses can a session have?
idle, processing, success, failed, exception, expired and suspicious. See session statuses.
How can I find out why a check failed?
From the error codes in the answer. See errors.
Why did the check fail although the data was recognized?
A session fails if at least one check of the scenario fails: the face did not match, liveness was not passed, signs of forgery were found, a field was recognized with insufficient confidence or the document has expired.
How long does an unfinished session live?
The lifetime is set in the scenario. If the user does not complete all steps in that time, the session gets the expired status. You do not need to close it. To let the user take the check again, create a new session.
Can I get the result again later?
Yes. The session result is available through the API by the session identifier and in the dashboard, where it can also be exported to a report. Keep the key fields on your side for your own processes.
After launch
Can the scenario be changed after launch?
Yes. Scenarios are edited in the dashboard, and changes apply after saving. See the platform user guide.
How do I contact support?
See support and contacts. Include the session identifier and the name of the scenario in your message.