Skip to main content

KYC Overview

KYC Features

Proof of Address
Explanation:

Add a second ID verification step, requesting proof of address upload.

AML Check
Explanation:

Scan AML databases for PEPs and sanctions after user approval (ID).

Face Authentication
Explanation:

Authenticate user identity via face matching.

KYC Risk Assessment
Explanation:

Evaluate user risk based on custom rules, using a no-code rule builder.

AML Monitoring
Explanation:

Monitor approved ID verifications daily for PEPs and sanctions lists.

Document Face Duplicates
Explanation:

Check if this verification's photo is used for multiple accounts.

Face Duplicates
Explanation:

Check selfie photos to prevent multiple account openings.

Age Verification
Explanation:

Check and flag users under the age limit.

Address Verification
Explanation:

Verify the address from the proof of address document.

3D Active Liveness
Explanation:

Verify user identity through facial biometrics, confirming liveness.

Adverse Media Check
Explanation:

Scan public sources related to ID verification.

Adverse Media Monitoring
Explanation:

Monitor approved ID verification extra data daily.

KYC Questionnaire
Explanation:

Allow creation of personalized questionnaires for user risk locations.

Document Face Blacklist
Explanation:

Cross-check ID document images against blacklist, flagging matches.

Face Blacklist
Explanation:

Cross-check face images against blacklist, flagging matches.

Personal Data Blacklist
Explanation:

Cross-check personal data against blacklist, flagging matches.

Proxy check
Explanation:

Detect proxy IP usage during the ID verification process.

Mobile SDK
Explanation:

Allow integration of ID verification process using the mobile SDK.

NFC
Explanation:

Read NFC chips in ID documents for verification.

Registry center check
Explanation:

Verify data against Lithuanian/Hungarian registry. (LT, HU only)

LID
Explanation:

Check if identity document is reported lost or stolen (LT only).

Additional features that can be used together with basic identity verification functions. To consult regarding these features:

  • Some of these features might need change in contract, so if you consider activating them - contact sales@idenfy.com
  • If you already have the feature, but have questions or problems integrating - contact techsupport
Image alt text

Identity Verification Solution

  • Verify 3000+ global ID documents automatically.
  • Prevent fraud using biometrics and 3D liveness.
  • Boost accuracy with 24/7 expert human review.
  • Choose flexible pricing (pay per approved/completed).
  • Ensure compliance with secure, customizable, scalable flows.

Quick start

For a quick start and to see KYC integration, below you can find sequences of code for different languages.

know your language

Keep in mind, that different languages might require a bit different approach, dependency and package handling.

# This is a minimal Django setup for a quick iDenfy test.
# It assumes you have a Django project and an app.
# Place the views content in your app's views.py
# Place the urls content in your project's urls.py

# my_app/views.py
# -------------------------------------------------
import requests
from django.http import HttpRequest, HttpResponse, HttpResponseServerError
from django.shortcuts import redirect

# Hardcoded values for a quick test.
# In a real app, manage these securely (e.g., environment variables, Django settings).
MY_API_KEY = 'YOUR_API_KEY' # Replace with your actual API key
MY_API_SECRET = 'YOUR_API_SECRET' # Replace with your actual API secret
IDENFY_GENERATE_TOKEN_URL = 'https://ivs.idenfy.com/api/v2/token'
IDENFY_REDIRECT_URL = 'https://ivs.idenfy.com/api/v2/redirect'

def create_minimal_identification_token() -> str | None:
"""
Minimal function to create an iDenfy identification token.
"""
try:
payload = {"clientId": "your_client_id_from_idenfy"} # Replace with your iDenfy client ID
response = requests.post(
url=IDENFY_GENERATE_TOKEN_URL,
json=payload,
auth=(MY_API_KEY, MY_API_SECRET),
timeout=10
)
response.raise_for_status()
response_data = response.json()
return response_data.get('authToken')
except Exception as e:
print(f"Error creating token: {e}") # Basic error logging to console
return None

def minimal_launch_identification_view(request: HttpRequest) -> HttpResponse:
"""
Minimal view to generate a token and redirect.
"""
auth_token = create_minimal_identification_token()
if auth_token:
redirect_url_with_token = f"{IDENFY_REDIRECT_URL}?authToken={auth_token}"
return redirect(redirect_url_with_token)
else:
return HttpResponseServerError("Failed to generate iDenfy token.")
# -------------------------------------------------

# my_project/urls.py
# -------------------------------------------------
# from django.contrib import admin # Optional, if you use admin
from django.urls import path
# Assuming your views.py is in an app named 'my_app'
# from my_app import views as my_app_views
# For simplicity, if you were to put views.py in the same directory as project urls.py (not standard):
from .views import minimal_launch_identification_view # Adjust import based on your structure

urlpatterns = [
# path('admin/', admin.site.urls), # Optional
# This makes the view accessible at /idenfy-test/
path('idenfy-test/', minimal_launch_identification_view, name='minimal_idenfy_launch'),
]
# -------------------------------------------------

# To run (assuming 'my_project' and 'my_app' are set up):
# 1. Replace 'YOUR_API_KEY', 'YOUR_API_SECRET', and 'your_client_id_from_idenfy'.
# 2. Ensure 'requests' is installed (pip install requests django).
# 3. Add 'my_app' to INSTALLED_APPS in your project's settings.py.
# 4. Run: python manage.py runserver
# 5. Access: http://127.0.0.1:8000/idenfy-test/


Overview UML

Below is high-level overview of KYC process. Depending on setup and additional features, your flow might have additional steps or skip steps.

Token generation UML activity diagram