Docs
Sanctions & PEP Screening

Sanctions & PEP Screening

Screen individuals and entities against sanctions lists and French PEP data

Status: under development. This section describes the target interface (v0.2). Schemas and labels may evolve until 1.0.

The screening API checks a subject (individual, legal entity, vessel or aircraft) against sanctions lists and politically exposed persons (PEP) data, and returns either a clear verdict or a set of scored potential matches to qualify. Every screening is immutably logged with the exact list versions in force, so it can be replayed as evidence years later.

Sources

SourceContentRefresh
OFAC SDNSpecially Designated Nationals and Blocked PersonsHourly
OFAC ConsolidatedNon-SDN OFAC programsHourly
DG Trésor national freeze registerFrench national asset freezes (art. L.562-2 / L.562-3 CMF), EU autonomous regimes, UN regimes as transposed in EU lawDaily, plus on every publication
French PEPFrench politically exposed persons, built from official public sources: Répertoire national des élus, HATVP, government composition, JORF appointmentsDaily

One request queries every source enabled on the account. Source selection is configurable per environment.

Out of scope for now: foreign and international-organization PEPs and their relatives and close associates (RCA), adverse media, UK OFSI and other third-country lists, the OFAC 50 percent rule, customer risk scoring and case management. The French PEP module covers prominent public functions exercised in France; it reinforces a declarative PEP questionnaire, it does not replace one.

How matching works

Names are normalized (case, accents, transliteration) and compared with deterministic and approximate strategies: token-level comparison, Jaro-Winkler distance and phonetic encoding. Date of birth, nationality and registration identifiers act as discriminators that raise or lower the score. Results at or above the request threshold (default 0.75) are returned as matches, each with the matched fields, the source list, the score and the full designated-entity record including legal basis and designation dates.

Weak aliases flagged by the source are excluded by default and can be included per request.

Verdicts

StatusMeaning
clearNo match at or above the threshold
potential_matchOne or more matches to qualify
errorSubject not processed (see the item-level error)

A 503 from the API is never a clear: if screening is unavailable, replay it. We recommend blocking onboarding rather than letting it through without a completed screening.

Evidence and audit

Each screening records: timestamp, submitted subject, applied threshold, the version of every list queried, returned matches, and the caller request id. GET /v1/screening/screenings/:id replays a past screening identically, and the audit export produces a signed, timestamped extract for inspections. Retention is 5 years by default, the LCB-FT record-keeping baseline (article L.561-12 CMF counts 5 years from the end of the business relationship, which only the institution knows, so longer retention is configurable contractually). See AML / LCB-FT for the full regulatory mapping.

Verifiables provides the consolidated data, the matching engine and the audit trail. Qualifying matches and deciding to onboard, refuse or freeze remains the obligated entity's responsibility.

Continuous screening

Subjects can be registered for continuous screening: they are re-screened on every source update, and any new match triggers a signed webhook (same signature scheme and retry policy as monitoring webhooks).

Billing

Each submitted subject counts as one billable unit, whatever the batching. A clear is a verdict and bills like a match; item-level error entries do not bill.