Platform · Module catalog

39 checks. One API.
Compose the journey
your regulator expects.

KYC, KYB, AML and KYT are not products you buy separately here, they are groups of named modules that run inside one journey, in the order you set, with the evidence from each one attached to the same case.

How composition works

A journey is a list of modules

Each module runs independently, returns its own signals, and either passes them to the next step or halts the journey, so a compliance change is a configuration change, not an integration project.

Ordered and conditional

Steps run in sequence with conditions: adverse media only on medium and high risk bands, source-of-funds questionnaire only on high, enhanced due diligence branch on a sanctions hit.

Independently configurable

Thresholds, required flags, retry limits, and fallback modules are set per step per journey, retail onboarding and institutional onboarding share modules but not policy.

Versioned

Every journey change creates a new version, and each decision records the version that produced it, so a case reopened years later still shows the policy of the day. Retention is set to the period your license requires.

Continuous after approval

Approval is a state, not an end: ongoing AML monitoring, wallet monitoring, and transaction rules keep running against the same customer record.

POST /v1/journeys

{
  "name": "uae_vasp_retail",
  "steps": [
    { "module": "document_verification", "required": true },
    { "module": "passive_liveness",      "required": true },
    { "module": "face_match",            "threshold": 0.85 },
    { "module": "device_ip" },
    { "module": "sanctions_screening" },
    { "module": "pep_screening" },
    { "module": "adverse_media",
      "when": "risk_band in ['medium','high']" },
    { "module": "questionnaire", "id": "source_of_funds",
      "when": "risk_band == 'high'" },
    { "module": "ongoing_monitoring", "on": "approved" }
  ],
  "on_flag": "case:edd_queue"
}

Every module

The full catalog

Grouped by pillar. Each entry names what the check does, what you send, and what comes back on the decision object.

Identity and documents

7 modules

Read the deep dive →

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

Read the deep dive →

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

Screening and ongoing monitoring

5 modules

Read the deep dive →

Sanctions, PEP, and adverse-media screening at onboarding, then continuous re-screening for the life of the relationship.

Sanctions screening

sanctions_screening

Screens the verified identity against sanctions and terrorist-designation lists, with fuzzy matching tuned for Arabic transliteration variants and name ordering.

Input

Verified identity or a raw name and date of birth

Returns

hits with list name, listing date, match score, and the matched fields

PEP screening

pep_screening

Identifies politically exposed persons, their relatives, and close associates, with the exposure category and role recorded so enhanced due diligence can be justified.

Input

Verified identity

Returns

PEP classification, role, jurisdiction, RCA relationship path

Adverse media

adverse_media

Searches negative news mapped to predicate offence categories, so a hit arrives as a reason code your analyst can act on rather than a wall of articles.

Input

Verified identity

Returns

articles grouped by offence category, source, publication date, relevance score

Ongoing AML monitoring

ongoing_monitoring

Re-screens every monitored customer on a schedule for the life of the relationship, and fires a webhook the day a new listing, PEP designation, or adverse-media hit appears.

Input

Customer ID and a monitoring flag

Returns

new-hit events, change history, alert case in the review queue

Match resolution and whitelisting

match_resolution

Structured false-positive handling: an analyst discounts a match with a documented reason, and the same match will not resurface unresolved on the next screen.

Input

Analyst decision and rationale

Returns

resolution record with reviewer identity, timestamp, and rationale in the audit trail

Business verification

5 modules

Read the deep dive →

Registry truth, ownership structure, controlling persons, and the same screening applied to every human behind the entity.

Registry lookup

registry_lookup

Pulls the entity record from its registry: legal name, license number, status, incorporation date, registered address, activity.

Input

License or registration number and jurisdiction

Returns

registry record, status, retrieval timestamp, source registry named

Ownership graph and UBO

ownership_graph

Walks the shareholding chain through intermediate holding entities, calculates effective ownership percentages, and identifies beneficial owners against your threshold.

Input

Verified entity

Returns

ownership tree, effective percentages, UBO list, unresolved branches flagged rather than hidden

Directors and controlling persons

controlling_persons

Extracts directors, authorized signatories, and persons exercising control, then queues each of them for individual KYC and screening.

Input

Verified entity

Returns

person list with roles, plus a linked KYC case per person

Entity screening

entity_screening

Screens the company itself, and every owner and controller found, against sanctions, PEP, and adverse media, including ownership-based sanctions exposure.

Input

Entity and its resolved person list

Returns

entity hits, per-person hits, aggregate exposure through the ownership chain

Corporate document collection

kyb_documents

Requests, receives, and classifies trade license, memorandum, board resolution, register of members, and proof of registered address, with expiry tracking and renewal reminders.

Input

Document requests to the entity contact

Returns

classified documents, extracted fields, expiry dates, outstanding-item list

Transactions and wallets

8 modules

Read the deep dive →

Post-onboarding risk: rule-based transaction monitoring, on-chain wallet exposure, and Travel Rule counterparty data.

Transaction monitoring

transaction_monitoring

Runs your rule set over each transaction in real time or in batch: velocity, structuring, threshold avoidance, unusual corridors, dormancy reactivation, peer-group deviation.

Input

Transaction event, or a batch file

Returns

risk score, triggered rules, alert case where thresholds are breached

Wallet screening (KYT)

wallet_screening

Scores a Virtual Asset address before you pay out or credit a deposit: sanctioned address exposure, darknet, mixer, scam, and high-risk exchange exposure, direct and indirect.

Input

Address and chain

Returns

risk score, exposure categories with hop distance, recommended action

Source and destination tracing

transaction_tracing

Traces funds back through hops to the originating cluster and forward to the destination, giving the analyst the picture rather than a lone score.

Input

Transaction hash or address

Returns

hop graph with cluster attribution and exposure per hop

Travel Rule messaging

travel_rule

Exchanges originator and beneficiary information with counterparty institutions on qualifying transfers, and records what was sent, received, or refused.

Input

Transfer details and counterparty VASP

Returns

message record, counterparty response, unhosted-wallet declaration where applicable

Counterparty VASP discovery

counterparty_vasp_discovery

Attributes a destination address to an institution and resolves whether a Travel Rule message can be delivered to it, or whether the destination is an unhosted wallet.

Input

Destination address and chain

Returns

counterparty type, resolved institution, reachable protocol, sunrise flag

Travel Rule scope test

travel_rule_scope

Decides whether a transfer is in scope before any personal data leaves your tenant, using the threshold and transfer rules of the applicable regime.

Input

Transfer amount, asset, direction, jurisdiction

Returns

in_scope flag with the threshold and rule version applied

Unhosted wallet ownership proof

unhosted_wallet_proof

Collects proof that a self-custody destination belongs to your customer: signed message, declaration, or in-session verification, retained as an artefact.

Input

Address, customer ID, chosen proof method

Returns

proof artefact, method used, verification result

Ongoing wallet monitoring

ongoing_wallet_monitoring

Watches previously cleared addresses and raises an alert when a wallet becomes sanctioned or gains exposure after you approved it.

Input

Address list under monitoring

Returns

change alerts with the new exposure category and the affected customers

Platform and orchestration

6 modules

Read the deep dive →

The surfaces around the checks: journey builder, case management, reporting, evidence export, and the audit trail.

Journey builder

journey_builder

Composes modules into an ordered journey with branching: run this check only if that one flags, escalate to enhanced due diligence on a risk band, skip a step for a low-risk segment.

Input

Journey definition, versioned

Returns

an executable journey ID your API calls reference by name

Risk scoring engine

risk_engine

Weighted, explainable scoring across every signal produced in the journey. Each score shows the contributing factors and the policy version that produced it.

Input

Journey signals and your weights

Returns

score, risk band, contribution breakdown, policy version

Case management

case_management

Alert queues, assignment, four-eyes approval, escalation paths, notes, and a full decision history for every customer and every alert.

Input

Cases created by journeys and monitoring

Returns

case state machine, reviewer actions, SLA timers

Regulatory reporting workpapers

reporting

Assembles the case narrative, evidence, and decision history into the workpaper an analyst files with the relevant financial intelligence unit.

Input

Escalated case

Returns

report pack, filing record, retained submission evidence

Immutable audit trail

audit_trail

Append-only record of every check, decision, override, policy change, and export, who, what, when, and under which policy version.

Input

All platform activity

Returns

queryable event log and a signed evidence export

Evidence export

evidence_export

Produces a decision PDF or evidence bundle per case, and bulk exports to your warehouse or object storage for inspection and retention.

Input

Case or date range

Returns

PDF, JSON, or archive with a manifest and checksums

See VerifiX on your own onboarding flow

A 30-minute walkthrough with a compliance engineer, or a free 30-day trial.

Hosted in the UAEISO/IEC 27001 and ISO 22301 (held by ITSEC)DPA available