OF

OFAC SDN List

sanctions API

OFAC SDN List

Type: sanctions
Module: Ofac

Capabilities

SDN Search Entity Screening Fuzzy Name Matching Program Lookup Consolidated Screening Vessel Search Address Search

Try OFAC SDN List

API Endpoint

Results

Overview

The Office of Foreign Assets Control (OFAC) of the US Department of Treasury administers and enforces economic and trade sanctions programs against targeted foreign countries, regimes, terrorists, international narcotics traffickers, and entities engaged in activities related to the proliferation of weapons of mass destruction. The Specially Designated Nationals and Blocked Persons List (SDN List) identifies individuals, companies, and entities whose assets are blocked and with whom US persons are generally prohibited from dealing.

OFAC sanctions have extraterritorial reach: any transaction touching the US financial system, involving US-origin goods or technology, or conducted by US persons is subject to OFAC compliance. This extraterritorial jurisdiction makes the SDN list relevant for organizations worldwide, not just those based in the United States. European companies with US dollar transactions, US-manufactured components in their supply chains, or US person employees must all comply with OFAC regulations, making the SDN list a cornerstone of global sanctions compliance programs.

For OSINT investigators and compliance professionals, the SDN list provides authoritative sanctions designation data with rich identifying information including aliases, identity documents, addresses, vessel details, and cryptocurrency wallet addresses. The breadth of identifying data enables precise screening that goes beyond simple name matching, reducing false positives while maintaining comprehensive detection of sanctioned parties.

Data Sources and Coverage

OFAC maintains multiple sanctions lists, with the SDN list being the most comprehensive and widely screened. The data is derived from executive orders, statutory authorities, and international sanctions obligations. OFAC also contributes to the US Government's Consolidated Screening List (CSL), which aggregates sanctions and export control lists from multiple agencies.

Data TypeDescriptionCoverage
SDN EntriesIndividuals, entities, and vessels designated by OFAC12,000+ entries
ProgramsSanctions programs (SDGT, UKRAINE-EO, IRAN, etc.)30+ programs
AliasesKnown aliases, alternate names, transliterationsMultiple per entry
IdentifiersPassport, tax ID, registration numbers, SWIFT codesComprehensive
AddressesKnown addresses and jurisdictionsGlobal coverage
VesselsShip names, IMO numbers, flags, tonnageMaritime sanctions
AircraftTail numbers, serial numbers, operatorsAviation sanctions
Digital CurrencyCryptocurrency wallet addressesGrowing coverage

Major Sanctions Programs

ProgramCodeTarget
Global TerrorismSDGTDesignated terrorist organizations
Ukraine/RussiaUKRAINE-EO13661/13662/13685Russian government, oligarchs
IranIRAN/IFSR/IRGCIranian government, IRGC
North KoreaDPRKNorth Korean entities
NarcoticsSDNTKDrug trafficking organizations
CyberCYBER2Malicious cyber actors
Global MagnitskyGLOMAGHuman rights abusers

Consolidated Screening List (CSL)

OFAC also contributes to the US Government's Consolidated Screening List, which aggregates screening lists from multiple federal agencies including OFAC SDN, OFAC Sectoral Sanctions (SSI), BIS Entity List, BIS Denied Persons, BIS Unverified List, and State Department lists. The CSL provides a single API endpoint for comprehensive US government screening.

Technical Architecture

The Prismatic Platform integrates OFAC through a dual-path architecture: direct SDN list ingestion for comprehensive offline screening and CSL API queries for real-time screening operations. The SDN list is downloaded in XML format and parsed into a local screening database optimized for fuzzy name matching. The CSL API at api.trade.gov/consolidated_screening_list provides real-time query capability for interactive screening workflows.

The fuzzy matching engine implements a multi-algorithm approach combining Levenshtein distance, Jaro-Winkler similarity, and phonetic matching (Soundex/Metaphone) to handle transliteration variations, misspellings, and alias patterns common in sanctions screening. Configurable threshold parameters allow operators to balance sensitivity against false positive rates based on their risk appetite and regulatory requirements.

The local screening database is updated automatically when OFAC publishes new designations, typically within hours of publication. A change detection mechanism identifies additions, modifications, and removals from previous list versions, generating alerts for compliance teams when monitored entities appear on new designations.

Batch screening operations process entity lists in parallel using configurable worker pools, enabling screening of thousands of entities per minute against the full SDN list. Results include match confidence scores, matching algorithms triggered, and specific SDN entry details for analyst review.

API Integration

OFAC screening is integrated into the Prismatic compliance pipeline alongside EU Sanctions, providing comprehensive dual-jurisdiction sanctions coverage.

# Search SDN list by name
{:ok, results} = Ofac.search("Rosneft", fuzzy_threshold: 0.85)
# => [
#   %{
#     sdn_id: "12345",
#     name: "ROSNEFT OIL COMPANY",
#     type: :entity,
#     program: "UKRAINE-EO13662",
#     country: "Russia",
#     listed_on: ~D[2014-07-16],
#     remarks: "Executive Order 13662 Directive 2",
#     identifiers: [
#       %{type: :registration_number, value: "1027700043502"},
#       %{type: :swift_bic, value: "ROSNRUMM"}
#     ],
#     addresses: [%{city: "Moscow", country: "Russia"}]
#   }
# ]

# Search by identifier (passport, tax ID, etc.)
{:ok, results} = Ofac.search_identifier(type: :passport, value: "AB123456")

# Full consolidated screening list search
{:ok, results} = Ofac.search_consolidated("Entity Name",
  lists: [:sdn, :ssi, :bis_entity],
  fuzzy_threshold: 0.80
)

# Screen multiple entities in batch
{:ok, screening} = Ofac.screen_batch([
  %{name: "Company A", country: "RU"},
  %{name: "Person B", type: :individual},
  %{name: "Company C", country: "US"}
])

# Download latest SDN list
{:ok, sdn_list} = Ofac.download_sdn(format: :xml)

# Search by program
{:ok, program_entries} = Ofac.get_program("UKRAINE-EO13662")

# Check cryptocurrency addresses
{:ok, check} = Ofac.check_crypto_address("bc1q...")

Dual-Jurisdiction Screening Pipeline

defmodule PrismaticCompliance.Screening.DualJurisdictionScreener do
  @moduledoc """
  Comprehensive sanctions screening against both EU and US sanctions lists.
  Required for entities with transatlantic business relationships.
  """

  def comprehensive_screen(entity) do
    tasks = [
      Task.async(fn -> Ofac.search(entity.name, fuzzy_threshold: 0.80) end),
      Task.async(fn -> Ofac.search_consolidated(entity.name, lists: [:ssi, :bis_entity]) end),
      Task.async(fn -> EuSanctions.search(entity.name, fuzzy_threshold: 0.80) end)
    ]

    [sdn, consolidated, eu] = Task.await_many(tasks, 20_000)

    matches = collect_all_matches(sdn, consolidated, eu)

    {:ok, %{
      entity: entity,
      screening_result: if(Enum.empty?(matches), do: :clear, else: :hit),
      ofac_sdn: extract_ok(sdn),
      ofac_consolidated: extract_ok(consolidated),
      eu_sanctions: extract_ok(eu),
      total_matches: length(matches),
      highest_confidence: highest_confidence(matches),
      action_required: determine_action(matches),
      screening_id: generate_screening_id(),
      timestamp: DateTime.utc_now()
    }}
  end

  defp determine_action(matches) do
    cond do
      Enum.any?(matches, &(&1.confidence >= 0.95)) -> :block_and_report
      Enum.any?(matches, &(&1.confidence >= 0.80)) -> :manual_review
      Enum.any?(matches, &(&1.confidence >= 0.60)) -> :enhanced_due_diligence
      true -> :clear
    end
  end
end

Use Cases

KYC/AML Compliance

  • Customer and counterparty screening mandatory for US-connected transactions
  • Ongoing monitoring with periodic rescreening at configurable intervals
  • Combined with EU Sanctions and UN Sanctions for comprehensive tri-jurisdiction coverage
  • Audit trail generation for regulatory examination readiness

Transaction Monitoring

  • Real-time payment screening against SDN list for wire transfer compliance
  • Cryptocurrency transaction compliance using OFAC-listed wallet addresses
  • Trade finance document screening for sanctioned parties, vessels, and ports of origin
  • Correspondent banking compliance for international payment routing

Corporate Due Diligence

  • M&A target sanctions exposure assessment including subsidiaries and beneficial owners
  • Board member and UBO screening against all OFAC programs
  • Cross-reference with Czech registries for CEE operations involving US-connected entities
  • Supply chain compliance for NIS2 requirements and US export controls

Maritime and Aviation Compliance

  • Vessel screening using IMO numbers, vessel names, and flag state data
  • Aircraft screening using tail numbers and operator identification
  • Port call analysis for sanctions evasion detection through deceptive shipping practices

Data Quality

OFAC data quality benefits from its status as a US government authoritative source with legal enforcement backing. Designations are based on classified and unclassified intelligence, diplomatic reports, and law enforcement investigations, providing high confidence in the accuracy of entries.

Quality DimensionAssessmentNotes
AuthorityExcellent -- US Treasury official sanctionsLegal enforcement backing
Identifying DataVery high -- multiple identifiers per entryAliases, documents, addresses
CurrencyHigh -- updated as new designations are publishedNear real-time updates
CompletenessHigh for US sanctions; partial for non-US designationsUS-centric scope
Fuzzy Matching SupportExcellent -- aliases and transliterations includedMultiple name formats
Cryptocurrency CoverageGrowing -- wallet addresses increasingly includedExpanding digital asset coverage

Data Access Methods

MethodDetails
Direct DownloadXML/CSV from OFAC website
Sanctions Search ToolWeb-based search at sanctionssearch.ofac.treas.gov
CSL APIRESTful API from trade.gov
OFAC SDN AdvancedStructured XML with full metadata
AuthenticationNone required (public dataset)
CostFree (US Government public data)

Platform Integration

Within the Prismatic Platform, OFAC screening is a core component of the compliance pipeline. The adapter integrates with the broader sanctions screening framework that includes EU Sanctions and UN Sanctions, providing unified tri-jurisdiction screening through a single API call.

OFAC screening results feed into the Prismatic Perimeter security rating through the compliance component, where sanctions exposure -- including both direct matches and close associations -- affects the overall entity risk score. The screening pipeline supports both automated pass/fail decisions for clear matches and manual review workflows for borderline cases.

NABLA Compliance

OFAC integration satisfies NABLA epistemic requirements through its authoritative provenance and comprehensive identifying data. The Provenance Mandatory axiom is met through SDN entry references that link each designation to its authorizing executive order or statutory authority. Signal Plurality is enforced by cross-referencing OFAC matches with EU Sanctions and UN Sanctions data, requiring multi-jurisdiction confirmation for automated blocking decisions.

The Unknown Valid axiom is particularly important in sanctions screening, where the absence of a match does not guarantee that an entity is not sanctioned under other jurisdictions or that a match below the fuzzy threshold does not represent a true positive. The platform explicitly acknowledges these epistemic limitations in screening results.

Performance

MetricTargetTypical
Single name search (local)< 50ms10-30ms
Fuzzy name search (local)< 200ms50-150ms
CSL API query< 1s300-700ms
Batch screening (1,000 entities)< 60s20-40s
SDN list ingestion< 120s40-80s
Change detection cycle< 30s5-15s

The local screening database with pre-computed fuzzy matching indices enables sub-second screening operations suitable for real-time transaction monitoring. Batch operations leverage parallel processing with configurable worker pools.

  • EU Sanctions - European Union sanctions list
  • UN Sanctions - United Nations Security Council sanctions
  • ARES - Czech business register for entity identification
  • Justice.cz - Czech Commercial Register for UBO verification
  • VR.cz - Czech public registers with beneficial ownership
  • OSINT Core - Core OSINT framework and adapter layer
  • Prismatic Perimeter - Sanctions in compliance ratings

Connect & Contribute

Created by Tomáš Korcak (korczis) | Open Source under GHL