Obtain the OFAC SDN (Specially Designated Nationals) list in XML format from the US Treasury's public URL; also consider downloading the Consolidated Sanctions List which includes additional programs beyond OFAC.
Parse and index the SDN list, normalising names by removing diacritics, standardising whitespace, and storing name variants (alt names, aliases) separately; rebuild the index on each updated list download (OFAC publishes updates irregularly).
At screening time, run the input name through phonetic normalisation (e.g., Soundex or Metaphone) or edit-distance matching (Levenshtein) against the index; most compliance vendors use a configurable match score threshold (commonly 85–90%) to flag hits.
For any hit above your threshold, present the match for human review with the matched SDN entry details, the input data, and the match score; do not auto-block on fuzzy matches without human review unless your compliance policy explicitly requires it.
Implement a false-positive management workflow: allow compliance officers to document cleared false positives and store the cleared name/ID pair to reduce repeat alerts on the same individual.
Log all screening events with timestamps, input data, match results, reviewer actions, and disposition; retain these records for the period required by your compliance program (typically 5 years for BSA purposes).
Known gotchas
Running your own SDN screening is complex and error-prone; most fintechs use a commercial screening vendor (Socure, Dow Jones, LexisNexis, Comply Advantage, etc.) rather than rolling their own — roll-your-own is appropriate only if you understand the regulatory requirements deeply.
OFAC requires reasonable procedures, not perfect screening; however, if you screen and clear a name that later proves to be an SDN, your documented process and good-faith review are critical to your defense — the audit trail matters as much as the screening itself.
The SDN list is updated irregularly and sometimes multiple times per week; stale list data is a compliance failure — automate daily downloads and alert on download failures.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp