FinchContext
Run with

Screen Against OFAC SDN / Consolidated Sanctions List

Skill: Convert a party list into OFAC sanctions-screening matches and decisions

Region: United States Category: Sanctions / OFAC Does: Takes a list of parties (customers, vendors, counterparties, payees) and screens them against the OFAC SDN List and the Consolidated Sanctions List, producing scored potential matches with the data needed to make a block/reject/clear decision. Spec: U.S. Treasury OFAC — Specially Designated Nationals (SDN) List + Consolidated Sanctions List (published as SDN/Consolidated XML, CSV, and fixed-width; plus SDN Advanced XML)

OFAC sanctions are strict-liability for U.S. persons — screening is a compliance control, not a filing. This is a screening recipe that ingests the official OFAC data files and flags possible matches; a trained compliance analyst makes the final determination. Always pull the current OFAC files (they change frequently, sometimes daily) and account for the OFAC 50% Rule (entities ≥50% owned by blocked persons are themselves blocked even if not listed).


When this applies


Source data (OFAC files)

File Contents
sdn.xml / sdn.csv SDN List primary records (names, programs, types)
add.csv, alt.csv SDN addresses; alternate names (AKA / FKA)
Consolidated list (cons_*) non-SDN sanctions lists (e.g. SSI, FSE, NS-PLC)
SDN Advanced XML richer structured data: features (DOB, passport, vessel IMO), relationships, ID documents

Each record carries: unique ID, name, type (Individual / Entity / Vessel / Aircraft), sanctions program(s), addresses, aliases, and identity features (DOB, place of birth, nationality, ID numbers, vessel call sign/IMO).


Screening logic


Output structure (per screened party)

{
  "party_id": "CUST-1001",
  "party_name": "Ivan Ivanov",
  "screened_against": "SDN+Consolidated 2026-05-31",
  "matches": [
    {
      "list": "SDN",
      "ofac_uid": "12345",
      "matched_name": "IVANOV, Ivan",
      "match_type": "alias(AKA)",
      "score": 0.93,
      "program": ["UKRAINE-EO13662"],
      "entity_type": "Individual",
      "secondary_match": { "dob": "partial", "nationality": "match" },
      "decision": "potential_match_review",
      "analyst_rationale": null
    }
  ],
  "overall_status": "needs_review"
}

Worked example

Screening payee "Ivan Ivanov, DOB 1970" against the SDN list:

Normalize → "ivan ivanov"
Candidates: SDN UID 12345 "IVANOV, Ivan" (AKA) program UKRAINE-EO13662, type Individual, DOB 1970-xx-xx
Name score (token-set Jaro-Winkler) = 0.93 ≥ threshold 0.85
Secondary: DOB year matches (1970) → confidence raised
→ POTENTIAL MATCH → route to analyst → if confirmed: BLOCK, reject the payment, file an OFAC blocking report within 10 business days

Validation / control checklist


Last updated: 2026-05-31 — OFAC lists change frequently and sanctions are strict-liability; confirm the current SDN/Consolidated/SDN-Advanced file formats, the 50% Rule guidance, and blocking/reporting obligations against current Treasury OFAC guidance, and have a qualified analyst review matches, before acting.