Blog · BL-19
Building a Sanctions List Screening Workflow: From Name Matches to Auditable Review
List downloads and fuzzy matching are only the beginning. This article breaks down how list versions, name and entity matching, beneficial ownership, human review, continuous monitoring, degradation handling, and audit evidence combine to form a screening product.
Downloading a sanctions list and running name similarity searches does not equal a compliance screening product. Real operations immediately encounter homonyms, aliases, transliterations, corporate hierarchies, missing identifier fields, list updates, and false-positive backlogs; during system outages, teams must also decide which workflows pause, which can enter human review, and how to backfill screening once recovered.
A discussion on r/ComplianceOps regarding a screening service outage described a scenario where, after a vendor became unavailable, transactions were queued en masse, teams temporarily downloaded official lists, and manual handling rules had not been pre-defined. The post and replies have not been independently verified and do not represent general financial institution practices; it raises a sound question for product design: does a screening product deliver search results, or a decision workflow traceable across both normal and degraded states?
The Official List Is a Source, Not a Final Judgment
The OFAC Sanctions List Service provides entry points such as SDN, Non-SDN consolidated, customized datasets, and historical delta files, exposing list data in downloadable formats. The ingestion layer should preserve source lists, record identifiers, release times, download times, file digests, and parsing versions. Only then can systems later answer which list version was used in a specific screening.
The same entity may have primary names, weak aliases, addresses, nationalities, dates of birth, identification numbers, or vessel and aircraft identifiers. Products must not collapse these fields into a single long string before generating an opaque score. The normalization layer should retain field types and raw source values while generating normalized representations for search; any transcription, punctuation stripping, or transliteration must be explainable.
List entries do not cover the full compliance scope. OFAC guidance on the 50 Percent Rule notes that certain unlisted entities may also be considered blocked if one or more sanctioned principals hold a combined aggregate interest of 50 percent or greater. Screening counterparty names alone cannot replace ownership investigations. Products must separate direct list hits from ownership chain reviews, and must not use name searches lacking equity data to conclude the latter.
Similarity Scores Only Recall Candidates
OFAC FAQ 246 explains that Sanctions List Search applies fuzzy logic only to the name field, using character matching for other fields. In other words, name scores serve as candidate recall signals rather than cross-field risk probabilities.
Products can use names, aliases, and transliterations to expand recall, then use dates of birth, addresses, nationalities, jurisdictions of incorporation, identification documents, or entity types to help analysts differentiate. However, field discrepancies carry implications tied to data quality: missing birth years do not equal non-matches; differing addresses may simply reflect historical locations; and conflicts in personal versus corporate entity types typically serve as stronger exclusion signals. The interface should display side-by-side field comparisons rather than a single score of [87].
Recommend retaining at least four result categories:
- Pending review: Name or alias meets recall criteria, but secondary fields are insufficient.
- Excludable candidate: Analysts exclude based on clear field differences, recording rationale and validity periods.
- Escalate: Key fields match or ownership relationships require compliance officer judgment.
- No available result: The query is incomplete, list data is expired, or inputs are insufficient, preventing a "passed" status display.
Automating false positive closures requires particular caution. An entity previously excluded under a homonym does not remain excludable under a new list version, updated address, or new identification document. Good match exceptions must bind to object identifiers, supporting fields, applicable lists, and expiration conditions.
Input Quality Determines Screening Quality
If upstream systems supply only a truncated payee name, backend complexity cannot recover the missing identity. Screening APIs should return input quality hints: missing country, unknown entity type, name potentially truncated by field length, stripped corporate suffix, or unparsable identifier format. Businesses can then request supplemental data rather than continuously lowering thresholds.
Individuals, corporations, vessels, and aircraft use distinct field models. Forcing all objects into [name + country] strips semantic meaning from corporate registration numbers, personal birth dates, and vessel IMO numbers. Unified interfaces may share a common wrapper, but each object type must preserve its own strong identification fields.
Privacy boundaries must also be enforced. Identity fields required for screening do not justify indefinite customer data retention. Raw identification documents, extracted fields, screening requests, and analysis conclusions require role-based access controls and distinct retention schedules. Internal unified data API design guidelines can assist in designing the boundaries between source evidence and business actions, but cannot replace jurisdictional and permitted-purpose assessments.
Continuous Monitoring Is Not Daily Recurring Alerts
Following list updates, systems must identify added, modified, and deleted records before rescreening only potentially impacted objects. Without stable source record identifiers and version diffs, systems risk misinterpreting name formatting adjustments as new hits, or missing newly added aliases or identifier fields.
Continuous monitoring events should include list versions, modified fields, affected object counts, rescreening batches, and processing statuses. When the same customer appears across multiple business relationships, entity resolution should prevent duplicate case creation, while actions within each business relationship remain independent: onboarding, payments, and vendor provisioning may involve different owners and timelines.
Do not automatically interpret list removals as permission to resume all business. Prior freezes, rejections, or escalated dispositions may require compliance officer review under applicable rules. Data changes only trigger tasks; systems must not overreach by issuing legal conclusions.
Degradation Handling Must Be Designed Before Incidents Occur
List download failures, parsing errors, screening service timeouts, and case system outages represent four distinct failure modes. Products must display current list versions and freshness metrics, refusing to let expired caches masquerade as newly completed checks, while retaining idempotency keys for recoverable requests to prevent duplicate case creation upon service recovery.
Degradation rules should be pre-approved by business and compliance leads, establishing policies such as which workflows automatically suspend, which permit draft saves only, when manual routing occurs, and the prioritization order for backlogged rescreening. Technical teams must not make ad-hoc decisions during incidents regarding whether to release funds or onboard customers. The OFAC Compliance Commitments Framework identifies risk assessments, internal controls, testing and auditing, and training as core compliance program components; screening products should provide evidence for these organizational controls rather than claiming to replace them.
Post-recovery processing requires generating a catch-up screening manifest covering objects and transactions within the outage window, the list versions used at the time, whether rescreening results changed, and who reviewed discrepancies. Internal API error and self-healing guidelines can help design retries, degradation paths, and exception queues, but actual release rules must be defined by authorized personnel.
MVP Validation Focuses on Analysis Loops, Not Zero False Positives
Initial versions may cover a single object type, a single business entry point, and a defined set of official lists. Establish test sets using authorized historical samples, recording true hit recall, irrelevant candidate counts, per-case review times, input omissions, and list update latency. Avoid using a single aggregate accuracy metric that obscures the differing costs of false negatives and false positives.
Acceptance testing should randomly sample closed cases to confirm that a secondary analyst can reconstruct decisions using identical inputs, list versions, and rationale. Teams should also conduct fire drills for a list update and a service outage to verify that stale results are not silently reused, backlogs are preserved, and catch-up screening executes successfully post-recovery.
This article discusses sanctions list productization and engineering controls and does not constitute legal or compliance advice, nor does it imply that [EveryInfra] has released a sanctions screening service. The most critical output of a sanctions system is not a "passed" label, but a well-bounded decision process that accommodates uncertainty, permits review by authorized personnel, and remains reconstructible years later.