US sanctions lists

Hypothesis

Screen against OFAC’s SDN and Consolidated lists in your own warehouse. Every publication since September 22, 2022 is included, for audits and lookbacks.

About this dataset

We load every publication of OFAC’s Enhanced XML into 11 tables and keep each one whole. Screen against today’s list, or show an auditor what the list said on any past date.

  • Compliance and KYC teams screening customers, vendors and payments
  • Risk and audit teams showing what the list said on a past date
  • Data teams joining screening results to their own customer tables

Latest publications

ListLatest publicationEntities
SDN[DATE][COUNT]
Consolidated (non-SDN)[DATE][COUNT]

Tables

Every row carries its publication date. Each publication is the complete list as it stood that day.

TableOne row per
v_entitiesListed party, with its whole record
v_entity_namesName or alias, in one script
v_entity_addressesAddress, in one script
v_entity_featuresDetail about a party, such as a birthdate or nationality
v_entity_identity_documentsIdentity document, such as a passport
v_entity_relationshipsLink between 2 parties
v_entity_sanctionsList and program a party is on
v_delta_eventsChange OFAC published, such as a removal, with the old value
v_feature_typesKind of detail OFAC publishes
v_reference_valuesLookup value, such as a country or program
v_publication_filesPublished file, and whether it’s OFAC’s official export

Sample queries

Each query starts by picking a publication. Then it takes all of that publication’s rows.

  1. Screen against the current lists

    Filter on is_current_publication. It marks each list’s newest publication and is worked out when you query, so it’s never out of date.

  2. Look up a past date

    Take each list’s latest publication on or before the date, then all of its rows. Don’t take each party’s latest row: that brings back parties removed before the date.

  3. Join on the publication

    Join a party’s names, addresses and sanctions on source_list, published_at and entity_id. Joining on entity_id alone repeats rows from every publication.

SQL
-- Screening: every name on the current lists, aliases included
select entity_id, formatted_full_name, alias_type, is_low_quality
from v_entity_names
where is_current_publication;
-- The lists as they stood on 2024-04-15
with as_of as (
select source_list, max(published_at) as published_at
from v_entities
where published_at <= date '2024-04-15'
group by source_list
)
select e.*
from as_of a
join v_entities e using (source_list, published_at);

Pricing

One monthly plan covers both lists, all 11 tables and every publication since September 22, 2022. It’s billed through Snowflake Marketplace or AWS Data Exchange, on your existing Snowflake or AWS bill.

Changelog

[DATE] · First release: the SDN and Consolidated lists in 11 tables, with every publication since September 22, 2022.

This dataset supports sanctions screening. It isn’t legal advice, and the US Treasury doesn’t endorse it. OFAC’s own lists are the authoritative source.

US sanctions lists | Zym Labs