Skip to content
VerifiX — secured by ITSEC

Platform · KYC

Verify a person in one call. Document, face, and liveness.

Identity document authentication, biometric face match, and liveness detection returned as a single decision with the evidence attached to a case record your auditor can reopen years later.

POST /v1/verifications
curl -X POST https://api.verifix.ae/v1/verifications \
  -H "Authorization: Bearer $VERIFIX_KEY" \
  -d '{
    "type": "kyc",
    "journey": "uae_vasp_retail",
    "document": { "type": "emirates_id", "front": "...", "back": "..." },
    "selfie": "..."
  }'

{
  "id": "ver_8H2K...",
  "decision": "clear",
  "risk_score": 18,
  "checks": {
    "document_authenticity": "pass",
    "biometric_match": 0.94,
    "liveness": "pass",
    "sanctions": "no_match"
  }
}

What it checks

Every check, named

No bundled black box. Each check is listed, configurable, and visible in the decision it produced.

Document authentication

Emirates ID, passport, and residency permit checks with tamper, font, MRZ, and security-feature analysis. Coverage list: UAE-issued documents today — Emirates ID, UAE passports, and residency documents.

Biometric face match

Selfie-to-document comparison returning a similarity score, not a yes/no — so you set the threshold your risk policy requires.

Liveness detection

Passive and active liveness to defend against printed photos, screen replays, and deepfake injection. Presentation-attack testing: presentation-attack detection is applied on every liveness capture.

Data extraction

Name, date of birth, nationality, document number, and expiry extracted and normalized, ready to pre-fill your onboarding form.

Screening in the same call

The extracted identity is screened against sanctions, PEP, and adverse-media sources before the decision returns — no second vendor round trip.

Re-verification

Periodic refresh triggered by document expiry, risk-score change, or your own review cadence, with the prior evidence kept intact.

How it runs

From request to decision

The same sequence whether you call the API directly or use the hosted flow.

  1. 1

    Start a verification

    Call the API with a journey ID, or drop in the hosted flow and let VerifiX collect the document and selfie on your behalf.

  2. 2

    Capture and quality-gate

    Blur, glare, crop, and framing are checked at capture so a customer fixes the photo instead of failing a check minutes later.

  3. 3

    Run the checks

    Document authenticity, biometrics, liveness, and screening run in parallel and feed one weighted risk score.

  4. 4

    Decision and case record

    Clear, review, or blocked. Anything not automatically cleared lands in the review queue with every artefact attached.

Identity capture · case VX-40219Sample data

Scan your Emirates ID

Place the front of the card inside the frame

Then a quick selfie~40s

Illustrative hosted flow — no customer data shown

  • Document capturedEmirates ID · front and back
  • Liveness passedActive challenge · 2 gestures
  • Face matchedPortrait vs document photo

Modules

The checks behind this pillar

Each one is a separate module you can switch on, order, threshold, or skip inside a journey.

Identity and documents

7 modules

Prove the person is who they claim to be, that the document is genuine, and that the data on it is usable downstream.

Document verification

document_verification

Authenticates an identity document: MRZ parsing and checksums, font and layout comparison against the issuer template, security features, tamper and digital-edit detection, expiry.

Input
Front and back image, or a hosted capture session
Returns
authenticity verdict, per-signal breakdown, extracted fields, image quality score

NFC chip read

nfc_chip_read

Reads the contactless chip in an e-passport or Emirates ID and validates the issuer's digital signature, so identity data comes from the issuing authority rather than from an image.

Input
NFC session from the mobile SDK
Returns
chip data group contents, signature validation result, chip-vs-print consistency

Data extraction and normalization

data_extraction

Extracts name, date of birth, nationality, document number, issue and expiry dates, then normalizes transliteration (including Arabic name handling) so records match across systems.

Input
Verified document
Returns
structured identity fields plus per-field confidence

Database validation

database_validation

Confirms the extracted identity against authoritative and bureau data sources rather than trusting the document alone.

Input
Extracted identity fields
Returns
match / partial / no-match per source, with the source named on the case

Proof of address

proof_of_address

Accepts a utility bill, bank statement, tenancy contract, or Ejari document, extracts the address, checks document age, and compares it against the declared address.

Input
Address document image or PDF
Returns
extracted address, document date, declared-vs-extracted match verdict

Phone and email verification

phone_email_verification

One-time passcode ownership check plus reputation signals on the number and mailbox (disposable domains, recently created, carrier and line type).

Input
Phone number and/or email address
Returns
ownership verdict, reputation flags, delivery metadata

Custom questionnaire

questionnaire

Collects the declarations your regulator expects — source of funds, source of wealth, purpose of relationship, expected volumes, tax residency — inside the same session as the identity checks.

Input
Questionnaire definition and user answers
Returns
structured answers attached to the case, with rule-triggering fields exposed to the risk engine

Biometrics, liveness and fraud signals

8 modules

Prove the person is physically present and not a replay, a mask, a deepfake, or an account already rejected under another name.

Passive liveness

passive_liveness

Confirms a live human is in front of the camera from a single capture, with no instructions to follow — defeats printed photos, screen replays, and video injection.

Input
Selfie capture
Returns
liveness verdict, presentation-attack signal breakdown

Active liveness

active_liveness

Challenge-response capture (movement or on-screen prompts) for high-risk journeys or where a regulator expects an explicit challenge.

Input
Guided capture session
Returns
challenge result, per-frame evidence retained on the case

Face match (1:1)

face_match

Compares the selfie against the document portrait and returns a similarity score, not a yes/no, so your policy sets the accept, review, and reject thresholds.

Input
Selfie and document portrait
Returns
similarity score, threshold applied, decision reason

Face search (1:N)

face_search

Searches the new face against your own verified population and your blocklist to catch one person opening several accounts under different identities.

Input
Selfie plus the tenant gallery
Returns
candidate matches with scores and the linked case IDs

Biometric re-authentication

biometric_auth

Re-proves an existing customer at a sensitive moment — large withdrawal, device change, payout address change — by matching against the biometric captured at onboarding.

Input
Selfie plus stored enrolment reference
Returns
match verdict, elapsed time since enrolment

Age assurance

age_estimation

Estimates age from a face capture where a full document check is disproportionate, with document fallback when the estimate lands near the threshold.

Input
Selfie capture and the age threshold
Returns
estimated range, above/below-threshold verdict, fallback trigger

Device and IP intelligence

device_ip

Fingerprints the device and inspects the network path: emulator, rooted device, automation, VPN, proxy, hosting ASN, geo mismatch against the claimed residency.

Input
SDK signals collected during the session
Returns
device fingerprint, network flags, geo-consistency verdict

Duplicate and blocklist checks

duplicate_blocklist

Blocks identities, faces, documents, devices, and wallets you have already rejected, and flags duplicate applications inside the same tenant.

Input
Session artefacts
Returns
blocklist hit with the reason and date it was added, duplicate case links

See the full module catalog — every KYC, KYB, AML, KYT, and platform module with its inputs and outputs.

Evidence retained

What your auditor sees

  • Original and cropped document images with the extracted field map
  • Selfie frame, liveness result, and biometric similarity score
  • Screening query, source list, and match reasoning
  • Rule versions and thresholds in force at decision time
  • Reviewer identity, decision, and note on every manual action
Decision
clear · review · blocked
Risk score
0–100, with per-factor contribution
Latency
Median decision time, reported in your console
Delivery
API response + webhook + console case

Questions

Frequently asked

Can we set our own thresholds?
Yes. Biometric match, document-quality tolerance, and score bands are all configurable per journey, and every change is versioned so an old decision is still explainable.
Do you support Arabic-script documents?
Yes. Arabic text is read and transliterated alongside the Latin fields on UAE documents.
What happens to the biometric data?
Retention and residency for biometric artefacts are described on the Security page. Retention periods: set to the period your license requires, under the UAE Personal Data Protection Law.

See VerifiX on your own onboarding flow

A 30-minute walkthrough with a compliance engineer, or a sandbox key in your inbox today.