Sanction
Sanctions Screening

Sanctions Screening

The sanctions screening product does three things: it ingests lists from source, it matches, and it makes the result usable both from the API and from inside a fraud flow.

The direct integration surface is the Sanctions Screening API. To call it from inside a fraud flow, use the screening nodes (below).

List coverage

Lists are pulled again every day from more than 400 sources. There are two kinds of source:

  • Official publisher files — the list is pulled from the issuing authority's own file or API.
  • OpenSanctions datasets — national and international lists whose official file is not pulled directly, and non-sanctions risk lists (PEP, wanted persons, debarments and so on), come from datasets published by OpenSanctions.

The main lists pulled directly from official publishers:

AuthorityList
United StatesOFAC SDN and Consolidated (non-SDN), restriction lists of the US Commerce and State departments
United NationsSecurity Council Consolidated List
European UnionFinancial sanctions list, sanctions regimes, travel bans, EDES exclusion list
United KingdomUK Sanctions List
CanadaSpecial Economic Measures Act list, listed terrorist entities
SwitzerlandSECO sanctions list
JapanMinistry of Finance asset freeze list
FranceTreasury asset freeze register
BelgiumNational consolidated list
Türkiye — MASAKAsset freezing decisions
Türkiye — SPKTrading bans
TürkiyeWanted-terrorist list
Türkiye — PresidencyCabinet members (PEP)

Further national sanctions, terrorism and debarment lists (e.g. Monaco, New Zealand, Czechia, Poland, Latvia, Azerbaijan, South Africa, Argentina, Iraq, Jordan, Brazil; the EBRD and US federal exclusion lists) are also pulled from their official publisher.

⚠️

The Turkish sources (MASAK, SPK, wanted-terrorist list) are pulled from their official source every day. For an institution operating in Türkiye, screening only the international lists is not sufficient — the local obligation arises separately.

Data freshness is monitored: when a source has not updated within its expected interval, the freshness watchdog surfaces it. Screening against a stale list carries the same risk as not screening at all.

List publication

Pulled lists do not go straight into screening. List versions that pass quality checks together form a list publication; screening always runs against the publication active at that moment.

  • Every screening pins the publication it read and returns it (publicationId, publicationRevision). "Which version of which lists did we screen this customer against" therefore has an exact answer.
  • Every screening has an immutable evidence record (evidenceRef).
  • The response states what the screening covered (coverageStatus, uncoveredRiskDomains). When no list covers a requested risk domain, the result is PARTIAL.
  • With no active publication the screening is not run and there is no fallback to older data; the response is an error. Details: When screening cannot run.

Risk domains

Every list belongs to one or more risk domains. Screening covers every domain by default; narrow it with riskDomains if you need to.

Risk domainScope
sanctionsSanctions lists
pepPolitically exposed persons
rcaRelatives and close associates of PEPs
wantedWanted persons (e.g. wanted terrorists)
regulatoryRegulatory sanctions (e.g. SPK trading bans)
debarmentPublic procurement and development bank debarments
ownershipOwnership and control relationships
vesselVessels
securitiesSecurities

Screening types

TypeWhat it screens
Name screeningNatural or legal person name — against the list publication
Wallet screeningCrypto wallet address — exact match against wallet addresses on the lists, plus your own wallet list and crypto intelligence
Account screeningIBAN or account number — your own account list and the account risk score. Sanctions lists do not publish account numbers
Transaction screeningThe parties to a transaction together, against the same list publication
Public procurement ban screeningName and Turkish TCKN/VKN against debarment lists
Indirect exposureEven with no direct match, how many hops connect the subject to a sanctioned party

Indirect exposure

Looking for direct matches is not enough: a company owned by a sanctioned person may not be listed under its own name. The sanctions side maintains an identity/entity relationship graph, and sanction-indirect-exposure queries a subject's indirect connection to a sanctioned party.

Graph analysis exists only here. There is no live transaction-graph network analysis on the fraud side — see Transaction Monitoring.

Calling it from inside a fraud flow

Screening does not have to be a separate service call. Place it as a node in a fraud flow and the result feeds the decision directly:

NodeWhat it does
sanction-lookupName / entity screening
sanction-account-screenAccount screening plus account risk score
sanction-transaction-screenScreening of the transaction's parties
sanction-wallet-screenCrypto wallet screening
sanction-indirect-exposureIndirect exposure over the graph

This lets a policy like "block on a sanctions match, review on indirect exposure" live in a single flow. See Flows and Resolution.

What we do not do

⚠️

Turkish public procurement bans (KİK) are not screened. The list has no official machine-readable source. No match in public procurement ban screening is not a clean result for Türkiye; you need to check EKAP separately. Details: Public procurement ban screening.

  • PEP coverage is a compilation. No government publishes a single official PEP list; PEP data is compiled from open datasets (such as OpenSanctions PEP collections, Wikidata and the Turkish Presidency's cabinet page). We do not claim this coverage is exhaustive.
  • The lists field of a match tells you which lists it came from; uncoveredRiskDomains tells you which risk domains a screening did not cover.
  • We do not quote a catch-rate percentage for name matching. Match quality depends on your own threshold and on the quality of the data you send; threshold tuning is covered in AML Screening.

Related