⚓ Sanctioned Vessels

How this site builds a vessel history

The matching rules, confidence levels and known gaps behind every vessel page, written so you can decide how much to trust a given field.

Updated 6 September 2026methodologydatatransparency

Fetch raw file, checksummed Parse per-source, fails loudly Normalise IMO, names, flags, progr Resolve join on IMO only Diff yesterday vs today Publish dated, sourced rows
Diagram generated from this article's structure. Values are illustrative of the mechanism described, not of any specific vessel.

What a vessel page is

A vessel page is an assembly of statements made by named authorities on stated dates, plus a small number of derived fields that are computed the same way for every hull. It contains no free prose about the ship. The paragraph at the top that answers “is this vessel sanctioned?” is generated from a fixed template over the listing rows, which is why it reads the same way on every page.

The sources, and their order of authority

Three canonical lists are parsed directly: the OFAC advanced SDN file, the UK Sanctions List, and Annex XLII of Regulation (EU) No 833/2014 as consolidated on EUR-Lex. OFAC’s Recent Actions notices are read separately, because they carry designation and removal dates with press-release links that the list file does not.

Where two sources disagree about a fact, neither is deleted. Both rows are kept with their source attached, and the page shows the conflict rather than resolving it silently.

The join rule

The IMO number is the only join key. Two records become the same vessel only when they carry the same seven digits and the check digit validates. Two different numbers are never merged, however similar the names, and a number that fails its check digit is never used to attach a record to a hull.

Entries with no IMO number — a small number of older OFAC entries and the occasional UK one — go to a candidates table. Each is scored against known hulls: a name match gives a base score, with increments for matching flag, matching tonnage within a tolerance, and matching build year. A candidate appears on a vessel page only above a high threshold, and when it does it is labelled as matched by name and attributes and explicitly not merged.

How the derived fields work

Display name. A hull often carries several names across the lists. The name shown in the heading is the one from the most recently dated listing, on the reasoning that the newest designation reflects the most recent identity. Every other name is kept, marked as an alias or a former name, with its source.

Current flag. Same rule. Where authorities printed different flags at different times, the most recently dated one is shown as current and the others become former flags. This is a heuristic: it produces a plausible flag history, not a verified one, because the lists do not date flag changes.

Status. A hull is listed if any authority currently lists it, delisted if every listing has been removed, and partially delisted where some authorities have removed it and others have not.

Days under sanction counts from the earliest stated listing date to the data date.

Dates and their honesty

Three kinds of date appear, and the distinction is preserved everywhere:

Stated by the authority. OFAC’s entry event date and its Recent Actions notices, the UK’s designation date, the EU’s date of application. These are marked as exact.

Inferred from a change in the list. When a vessel disappears from a list with no accompanying notice, the removal is recorded on the day the change was detected and labelled “date inferred”. The reference line says so in words.

Not available. Where a source states no date, the field is empty rather than guessed.

There is one safeguard worth knowing: if a source fails to load on a given day, no delistings are inferred for that authority. A failed download must never look like a wave of removals.

Ownership, and what it is not

Ownership rows record what an authority printed. In the US data the link is structured: the SDN file records a relationship between the vessel’s profile and the owner’s profile, and those rows are marked as a stated link. In the UK data the owner or operator is a free-text name inside the ship record, so it is matched to a company by normalised name and jurisdiction, and marked as a name match.

Neither is a beneficial-ownership finding. This site does not assert who ultimately controls a vessel, because the sources do not say. Company pages carry only the facts the listing published, including addresses only where the authority printed them.

Known gaps

The EU financial sanctions file was unavailable when this build was assembled; its endpoints were returning server errors. Because almost all EU vessel listings are Annex XLII port bans rather than asset freezes, the effect on coverage is small, but a handful of asset-freeze vessel listings may be missing. The sources page shows the live status of every feed.

Allied lists from Switzerland, Canada, Australia, New Zealand and Japan are not yet ingested, so a hull listed only by one of those will not appear.

Ukraine’s War & Sanctions catalogue is not ingested either. When it is, it will carry its own badge and be excluded from listing counts, because it is a government catalogue rather than a legal designation.

Delistings before this site started tracking are incomplete, because a removal that happened before the first snapshot cannot be observed by comparison. Removals announced in OFAC notices within the backfill window are captured; older ones may not be.

Behaviour data — transponder gaps, encounters, port calls — is not published here. It requires either a commercial feed or careful use of a permitted API, and the caveats around it are heavy enough to deserve their own treatment.

Corrections

If a page misstates what a source says, that is a defect and it will be fixed. The corrections page explains what to send and the response target. Requests to remove an accurate record of a current official listing are declined, with a pointer to the listing authority’s own delisting procedure, because the remedy for a listing lies with the authority that made it.

Common questions

Why does a vessel page sometimes show two different current flags?

Because two authorities printed different flags when they listed the hull. The site keeps both, marks the one from the most recent listing as current, and shows which source stated each.

What does 'date inferred' mean on a timeline?

That no authority published a date for the event. The vessel was on a list one day and gone the next, so the removal is dated to the day it was noticed and labelled as inferred rather than stated.

Why are some list entries not attached to any vessel page?

Because they carry no IMO number. They are held as candidates with a confidence score, and only surfaced on a vessel page when name plus at least one structural attribute agree.

How often does the data change?

The pipeline runs nightly. Every page shows the timestamp of the last successful refresh, and the changes section lists what moved on any given day.

Sources

  1. Specially Designated Nationals and Blocked Persons List — US Treasury, Office of Foreign Assets Control
  2. OFAC Recent Actions — US Treasury, Office of Foreign Assets Control
  3. The UK Sanctions List — Foreign, Commonwealth & Development Office
  4. Regulation (EU) No 833/2014, consolidated text — Council of the European Union
  5. IMO identification number schemes — International Maritime Organization
  6. Open Government Licence v3.0 — The National Archives

Links go to the primary document wherever one exists. Where a fact comes from a news report rather than an official text, the publisher is named and the claim is attributed in the sentence itself.

Read next

This explainer describes how sanctions regimes and shipping practices work in general. It is not legal advice, and it does not make findings about any named vessel, company or person. Vessel pages state only what an authority published.