FIRST PRINCIPLES

Scope and sources of the sanctions database

A list mirror is trustworthy only when six things hold at once: the file comes from the issuer, current members are complete, identities are not merged, dates are not rewritten, every field can be traced, and the page does not decide a transaction. If one fails, the result is not that official list.

Questions the snapshot must answer

  1. Which records does this official file publish now?
  2. Can the stored name, program and date still be tied to that file?
  3. Is the identity the file’s own number, or a guess from a similar name?
  4. Who decides whether a transaction may proceed? The issuer publishes the fact. The user decides.

Six axioms

  • Official file only. News, commercial databases and name similarity are not sources.
  • Do not merge two source-native IDs, including across issuers or scripts.
  • Publish current membership only. Removed Swiss targets stay out of the public file.
  • Keep each issuer's official date. generatedAt is the local assembly time.
  • Omit dates of birth, documents, street addresses, phone numbers and email addresses.
  • Do not translate a list hit into a prohibition, licence or ownership conclusion.

The same name on an OFAC file and an EU file stays two records. The UK Sanctions List and the OFSI financial-sanctions list are both official, so overlap is not collapsed. The Swiss download includes removed targets. The public layer keeps only targets without a de-listed mark. Repeated copies of the same Swiss number are folded into one record. That does not create a new identity.

Files in the current snapshot

The snapshot was assembled at . That is a local assembly time, not an effective date under any one law.

What is left out on purpose

  • DOD 1260H is not covered yet: its host blocks automated retrieval and it publishes as a page, not as a bulk file.
  • OFAC Advanced XML is not the input. This snapshot uses SDN.XML and CONS_ENHANCED.XML, so nested relationships are absent.
  • Weak or low-quality aliases are omitted from search.
  • Not covered: unnamed ownership rules, country or sector embargoes, licences, and historical removals other than the Swiss filter.
  • Canada has no official row UID. Its id is a derived locator and must not be treated as a government number.
  • UK Sanctions List and the OFSI consolidated list are both official and overlap. They are not deduplicated.
  • BIS exports and the DHS UFLPA page carry no official row UID and no entity type. Their ids are derived locators (list or statutory section, name); rows are folded by name, street addresses stay out under the privacy axiom, and the type is set only when a company or agency suffix is recognizable, otherwise it stays 'other'.

Weak and low-quality aliases are omitted from search so a string the issuer marked as weak is not shown as an equal name. The omission is in the public layer. The raw-file hash remains in the assembly record. This site does not republish the raw XML.

Personal information

These lists contain information about people that the issuer has already published. The site keeps only fields needed to see who the record is, without document numbers. Dates of birth, identity numbers, street addresses, phone numbers and email addresses stay out of the public snapshot even when the official file contains them. A vessel IMO number is not a personal document and may be kept.

Relationship to the China list database

Lists published by China’s Ministry of Commerce, Ministry of Foreign Affairs and related authorities remain in the China entity-list database. The fields, statuses and official domains differ, so the two collections are not stored in one JSON file. To search both at once use counterparty screening. This database also does not rewrite a foreign measure as an instruction to a user in China.

How a snapshot is replaced

python3 scripts/build-sanctions-database.py downloads only the allow-listed official files, parses them and writes a new snapshot. The build audit checks counts, hashes, unique identities, the direction of official dates, and that the Swiss removal filter actually ran. A failed download does not publish a half-updated source.

Legal boundary

This page explains where the data comes from. It is not legal advice. Official texts prevail. If a row disagrees with the official file, send the file link through the contact page.

Back to global sanctions

Practical verification checklist

Scope · evidence · decision trail

Use the steps below to review this page. Verify the complete official text before making a decision. Seek qualified advice when needed.

  1. Define the decision

    State the exact decision, owner, deadline, trade direction and required evidence. Do this before you search.

  2. Identify every party

    Confirm each legal name and alias. Check registration, ownership, control, intermediaries, carriers, banks and beneficial owners.

  3. Describe the item

    Record the item’s function, operating principle, material, model and performance. Include software, technology, accessories and decisive parameters.

  4. Check classification

    Treat customs and export-control classification as separate tasks. Keep the facts, assumptions and reasoning for each result.

  5. Map the route

    Confirm origin, departure, destination and transit points. Include re-export, remote access, technology transfer and each delivery path.

  6. Verify end use

    Identify the stated purpose and real operating environment. Check integration, sensitive sectors, military links and prohibited uses.

  7. Verify end users

    Check the purchaser, consignee, end user, operator and parent company. Identify anyone who can redirect or control the item.

  8. Read the complete source

    Treat a search result as a lead. Read the official scope, definitions, notes, exclusions, annexes and licence conditions.

  9. Check current measures

    Use the version effective on the transaction date. Review later notices, temporary controls, destination measures and policy changes.

  10. Test exceptions carefully

    Prove every condition before using an exception or exemption. Apply the same rule to licence facilitation and general authorisations.

  11. Resolve contradictions

    Pause when names, codes, documents, routes, prices or explanations conflict. Obtain evidence instead of filling gaps with assumptions.

  12. Escalate uncertainty

    Send unresolved questions to the compliance owner or a qualified adviser. This includes classification, ownership, use, destination and licensing.

  13. Keep an audit trail

    Keep source links, files, checksums, screenshots, search terms and results. Record the reviewer, approvals and final reasoning.

  14. Schedule re-checks

    Set a new review date for open transactions. Re-check changing parties, destinations, specifications, official lists and licences.