Skip to content
VerifiX — secured by ITSEC

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.

Journey definition
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"
}

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.

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

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

Read the deep dive

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.

Read the deep dive

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

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

Read the deep dive

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

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

Read the deep dive

Registry lookup

registry_lookup

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

Input
Licence 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

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

Read the deep dive

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 crypto 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

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

Read the deep dive

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 sandbox key in your inbox today.