PROOViD AML Docs
Transparency

Coverage, data sources & integrations

An honest map of what this service does and does not do. PROOViD AML is an AML screening + case-management service (via API and a back-office interface). It screens names against public sanctions, PEP and adverse-media sources, classifies and risk-scores matches, and manages the resulting cases. It is not a KYC / document-verification product. Everything below was verified against production.

Public watchlists & sources

Screened on every request, ingested directly from the official source (no aggregator middleman) and refreshed every 24 hours. Live entity counts:

SourceCategoryStatusPEP tier from sourceEntities (live)Official source
OFACSanctions (US)Liven/a — sanctions19,119treasury.gov/ofac/downloads/sdn.xml
EUSanctions (EU)Liven/a — sanctions5,994data.europa.eu consolidated list
UKSanctions (UK)Liven/a — sanctions5,135UK OFSI consolidated list (ConList)
UNSanctions (UN)Liven/a — sanctions1,002scsanctions.un.org consolidated
PEPsPolitically-exposed personsLiveDerived (office-based)109,005Wikidata (CC0) — heads of state, PMs, ministers, central bankers, ambassadors, MPs
Adverse mediaNewsLiven/a — mediaprefetched (background sweep)GDELT (DOC + GKG) — evidence prefetched, never fetched during a screen; a subject with no prefetched evidence returns Unavailable, never a clean pass
OpenSanctionsSanctions + PEP aggregatorBring your ownGraded (office-derived)Your own OpenSanctions key (see Data providers)
Criminal recordsCriminal backgroundBring your ownn/a — criminalNo free public list exists — commercial / registry only (see Data providers)

Counts shown are the latest production snapshot; refreshed automatically every 24 hours.

How PEP coverage works — and its honest limits. The bundled PEP set is built from Wikidata (free, CC0) on every 24 hour refresh, in two passes so coverage is both broad and dependable:
  • Guaranteed — current national leaders. Every refresh explicitly re-fetches the sitting holders of every country’s head-of-state and head-of-government office (a Wikidata position held statement with no end date). This set is small and fetched deterministically, so current presidents / monarchs / prime ministers are always present and refresh within a day of an election or resignation (as soon as Wikidata records it).
  • Best-effort — the broad set. Ministers, ambassadors, central-bank governors, legislators and historical office-holders are ingested in bulk from the same source, bounded by what the free public Wikidata endpoint can serve — so this layer is comprehensive but not exhaustive (the deep historical long tail may be partial).
  • Family & close associates (RCA) of current leaders. The immediate family — parents, spouses/partners, children, siblings and declared relatives — of every sitting head of state / head of government is now ingested from Wikidata and screened as PEP4 Family-or-associate. So relatives such as Melania / Ivanka Trump or Brigitte Macron resolve to a PEP4 hit out of the box, no commercial feed required.
Not fully covered by the free set (this is where a commercial feed earns its keep): the exhaustive global long tail of every local/historical official, and the full global associate graph — RCA links for the broad best-effort set (ministers, legislators, historical holders) and the wider network of business associates and enablers beyond immediate family. That exhaustive relationship graph is available through a bring-your-own commercial provider (e.g. OpenSanctions), wired into the same engine. We state this plainly rather than imply total coverage: no fully-free, unlimited, continuously-verified global PEP/RCA source exists.
Country-anchored leaders index (deterministic). Beyond the passes above, we anchor leader capture on the fixed list of the world’s ~200 sovereign countries and follow each country’s own link to its head-of-state / head-of-government office — so no leader can be missed by a data-structure quirk, and coverage is self-checking (one row per country). We capture the full term history (dates in office, current and historical) and keep the source-record link on every row. Per-office reliability:
OfficeCoverageHow it’s anchored
Head of stateGuaranteed — ~100% of countriesThe country’s own direct link to the office
Head of governmentGuaranteed — ~98% (rest have no separate one)The country’s own direct link to the office
Central-bank governorBest-effort — ~125 countriesRole + jurisdiction
Finance / foreign minister, speakerBroad pass onlyNo reliable per-country link in the public data — covered by the best-effort broad set, not faked here
Every result links back to its Wikidata source record for independent verification.

What leader data we hold — browse it yourself

You do not have to take the above on trust. The country-anchored leaders index is exposed as two read-only, transparent endpoints (tenant API key or OIDC bearer, Screening.Read) so you can go country by country and see exactly what we hold:

  • Every head of state and head of government, for the world’s ~200 sovereign countries, one row per person × office × term.
  • The dates each person was in office (start and end; open-ended = currently serving), so the year-by-year lineage is reconstructable.
  • Optionally each leader’s relatives (immediate family / close associates, shown as PEP4) via includeRelatives=true.
  • A derived pepClass on every row: a national office-holder is PEP1, an international-organization role is PEP3, a relative is PEP4. PEP1 Domestic vs PEP2 Foreign is deliberately not baked in here — it is applied per customer at screen time relative to your own home country.
  • Every row links back to its Wikidata source record (person and office) for independent verification — the same honest guarantee/best-effort boundary described above still applies (current leaders guaranteed; the deep historical tail best-effort).

The default view shows roughly the last 25 years of terms to keep it readable — the full history is retained and returned when you widen the window with yearFrom/yearTo.

EndpointReturns
GET /v1/leadersPaginated JSON, one row per leadership term, with the filters below.
GET /v1/leaders/export.csvThe same filtered rows as a flat CSV download.

Full parameter, filter and example-response detail is on the API reference.

How the PEP-tier column is read. PEP tiers (PEP1 Domestic / PEP2 Foreign / PEP3 International-org / PEP4 Family or associate) are only as granular as the office metadata the source supplies. Two things to know up front: foreign-vs-domestic is inherently relative to your own jurisdiction, so no source ships a literal “foreign” flag — it can only ship the office’s country, and the tier is computed at screen time; and PEP tiering only applies to PEP sources (sanctions and adverse-media lists carry no tier).

For the bundled Wikidata PEP set (free, CC0) we derive the tier from the office the person holds: the ingest reads each office’s jurisdiction (ISO country) and intergovernmental-organization flag, and at screen time the engine grades it against your tenant’s home country — office in your country → PEP1 Domestic, another country → PEP2 Foreign, an IGO role → PEP3 International-org. A PEP whose office carries no jurisdiction, or a tenant that hasn’t set a home country, falls back to the documented PEP1 Domestic default — a deliberate default, not an inferred fact. (The derived tiers populate as the Wikidata list refreshes with the office-jurisdiction data; set your home country on the risk profile to activate Domestic/Foreign grading.) OpenSanctions (bring-your-own) supplies the same office + family/associate (RCA) metadata for an even richer graded classification, consumed by the same engine.

Screening engine

  • Classification: True positive / Potential match / False positive / Unknown.
  • Decisioning: Pass / Review / Fail — sanctions & criminal → Fail; PEP & adverse media → Review; per-tenant configurable.
  • Matching: fuzzy (trigram + Jaro-Winkler), phonetic (double-metaphone), nicknames, transliteration, exact-match mode; per-tenant / per-request threshold.
  • Risk scoring: weighted country / category / criminal factors → 0–100 + Low/Med/High band, per-tenant profile.
  • PEP tiering — PEP1 Domestic / PEP2 Foreign / PEP3 International-org / PEP4 Family-or-associate — plus adverse-media categories. Tiers are derived from the office the person holds (bundled Wikidata: jurisdiction ISO + IGO flag, graded against the tenant home country; OpenSanctions BYO adds the wider relationship graph) — see the PEP-tier column above. Un-gradeable PEPs fall back to the documented PEP1 Domestic default.
  • Coverage presets — ready-made scope bundles (Comprehensive full-scope default / Balanced PEP1–3 / Sanctions-only / Enhanced PEP) plus Custom, controlling which lists are screened + which PEP levels count + the decision policy. Settable as the tenant global default or per-screen; see the coverage presets below.
  • Explainability: per-match risk factors returned on every screen and shown in the case view.

Coverage presets

A coverage preset bundles which lists are screened, which PEP levels count (PEP1–PEP4), and the decision policy — so an operator sets the whole screening scope in one choice. Set one as the tenant global default (self-serve /v1/coverage + the console Settings panel, with a Reset) and/or override it per-screen (the coveragePreset field / screen-card dropdown). Custom exposes the individual list + PEP-level controls. New tenants default to Comprehensive — the full scope.

PresetListsPEP levelsDecisions
Comprehensive defaultAll (UN/OFAC/EU/UK + PEP + adverse media)PEP1–PEP4 (incl. family/RCA)Sanctions → Fail; PEP/media → Review
BalancedAllPEP1–PEP3 (drops distant family/associate)Sanctions → Fail; PEP/media → Review
Sanctions-onlyUN/OFAC/EU/UK— (PEP off)Sanctions → Fail
Enhanced PEPAllPEP1–PEP4Foreign (PEP2) & Family/RCA (PEP4) → Fail; others → Review
CustomYour selectionYour selectionYour warning-type policy

APIs & integrations

CapabilityStatusSurface
Single screen + retrieve + re-screenLivePOST /v1/screenings/check, GET /v1/screenings/{id}, /rescreen
Bulk + async batch (CSV / XLSX)Live/v1/screenings/bulk, /v1/screenings/batch + playground UI
Full-text search over historyLiveGET /v1/screenings/search
Ongoing monitoring + alertsLivemonitor:true, /v1/monitoring/subjects
Screening coverage presetsLiveGET/POST /v1/coverage (global default + reset), coveragePreset per screen
Case management — APILive/v1/cases (list/detail/review/notes/attachments/bulk), CSV + regulator-pack (JSON/PDF/Parquet)
Case management — interfaceLiveBack-office console at /cases (WCAG 2.1 AA)
HMAC-signed webhooksLivescreening.completed, monitoring.alert
IdentityLiveOwn OIDC IdP + Keycloak (dual-authority) + tenant API keys
List version mapLiveGET /v1/lists/version
Quota + rate limitingLiveper-tenant monthly quota + per-minute limit (429 + Retry-After)
GDPR data-subject rightsLive/v1/privacy/… export / erase / restrict / object / rectify + consent
White-label branding + themingLiveGET /v1/branding (accent/secondary/surface/text/font/radius)
TypeScript SDK + MCP server (AI agents)Live@proovid/aml-sdk, @proovid/aml-mcp-server
Bring-your-own commercial providerBring your ownOpenSanctions / adverse-media / criminal-records via tenant's own key — see Data providers

PEP coverage by category

Exactly which categories of politically-exposed person we hold, mapped to the FATF PEP definition. Full = captured deterministically or in full from the free public source; Broad = comprehensive but sampled at the tail; Commercial = the exhaustive set is a bring-your-own / commercial feed. Coverage is measured against Wikidata and refreshed every 24 hours.

This matrix is self-audited — each refresh re-measures what the free source can supply against what we ingested, so gaps surface automatically.

PEP categoryStatusHow it's sourced
Heads of state (presidents, monarchs)FullCountry-anchored per country (P1906) plus the office class, incl. P31-instance offices — ~all sovereign states.
Heads of government (PMs, premiers)FullCountry-anchored per country (P1313) + office class + P31-instance offices.
Parliament speakers / presidents of the houseFullSpeaker class (Q1758037) + P31-instance pass — e.g. the President of the Cypriot House of Representatives.
Central-bank governorsFullGovernor class (Q107363151) — bounded (~1k), covered in full.
Government ministers (cabinet)BroadMinister class (Q83307, ~52k) + P31-instance pass. Sitting principal ministers covered; the full historical cabinet tail is sampled.
Ambassadors / senior diplomatsBroadAmbassador class (Q121998, ~6.5k) + P31-instance pass.
Members of parliament / legislatorsBroadMP class (Q486839) + P31-instance pass. National legislators; the deep historical/local tail is sampled.
International-organization officials (UN / IMF / EU…)FullIGO offices — graded PEP3 International-organization.
Family & close associates (RCA) of current heads of state / governmentFullRelatives pass on every sitting HoS/HoG (~11k) — graded PEP4.
RCA of ministers / MPs / governors (wider associate graph)CommercialOnly current-leader families are ingested from the free source; the full associate/enabler graph is a commercial feed.
Sub-national officials (state/provincial governors, mayors, regional legislators)CommercialNot systematically covered from the free source; exhaustive regional coverage is a commercial feed.
Senior judiciary (supreme / constitutional court)CommercialThe "judge" taxonomy explodes to ~74k positions; apex-court targeting or a commercial feed is the path.
Senior military officersPartialCaptured where modelled as office-holders; not yet systematically anchored.
State-owned-enterprise executives · political-party officialsCommercialFATF categories not covered by the free public source — commercial feed.
Every hit is graded into a tier — PEP1 Domestic / PEP2 Foreign (a national office, relative to your home country) / PEP3 International-organization / PEP4 Family-or-associate. The Domestic/Foreign split is applied per customer at screen time. Coverage is self-audited: each refresh re-measures what the free source can supply against what we ingested, so gaps surface automatically rather than going unnoticed.

What's not included (and why)

Being explicit so there are no surprises:

ItemStatusWhy / how to get it
Criminal-records data feedBYONo free public list exists — it's commercial/registry data. Plug in your own feed per tenant.
Exhaustive PEP long tail (every historical local MP/councillor)BYOWe ship the comprehensive Wikidata set (~109k, free/CC0). The full global tail is a bulk/commercial PEP feed.
Additional national / specialised sanctions lists (beyond UN/OFAC/EU/UK)On requestAddable as direct connectors, or via the OpenSanctions BYO aggregator (carries many at once).
WorldCheck / Dow Jones connectorsBYO / contractCommercial; wired through the bring-your-own provider seam when licensed.
KYC document verification, liveness, face-match, mobile SDKsOut of scopeA separate KYC product — this service is AML screening + case management only.
Threshold / turnover engineOut of scopeBelongs to the broader KYC/transaction platform, not the screening engine.
DPIA / ROPA, penetration test, pilot sign-off, SLO/WAFOwner / processCompliance & operations track, owned by the customer/operator.
Bottom line: the public sanctions (UN / OFAC / EU / UK), PEP and adverse-media sources requested are all live and refreshed every 24 hours, and case management is available via both the API and the interface. The only screening category without a bundled public feed is criminal records (no free source exists), available as a bring-your-own provider.
© PROOViD AML · Developer Docs Data providers · API reference