⚓ Sanctioned Vessels

What we count, and what we refuse to count

Ukraine's catalogue holds 857 vessels and none of them is sanctioned by it. Keeping that distinction is most of the work in building an honest vessel index.

· figures as of 6 September 2026 methodologyukrainedata-quality

A vessel index is mostly a series of decisions about what not to merge.

The catalogue that is not a list

Ukraine’s military intelligence publishes War & Sanctions, the largest public catalogue of shadow-fleet vessels. It holds 857 hulls, more than any single sanctions list tracked here.

None of them is sanctioned by it. A catalogue records what an analyst concluded; a designation is made under a named law, on a stated date, by a body with power to make it, and creates prohibitions that can be tested in court. Merging the two would inflate every count on this site and tell a shipowner they were under a legal measure that does not exist.

So the catalogue loads as its own authority, badged separately, excluded from every listing count. 107 hulls appear in it and on no legal list at all; their pages say, in words, that no authority tracked here lists them.

Two other places we hold the line

IMO numbers. Records join on the seven-digit hull number and nothing else, with the check digit validated. 17 list entries carry no usable IMO number; they sit in a candidates table with a match score and appear on a vessel page only when name and structural attributes agree, labelled as unmerged. Names are not a join key: they repeat across unrelated hulls and change on sale.

The same trap caught us during the build. Ukraine’s page has two filters that look identical, one listing vessels and one listing owner companies whose IMO company numbers have the same seven-digit shape. Reading both would have created roughly 180 vessels that do not exist.

Dates. Where an authority publishes a designation or removal date, the event is marked exact and cites the notice. Where a vessel simply stopped appearing on a list, the removal is dated to the day it was noticed and labelled “date inferred” on the page. And when a source fails to download, no removals are inferred for that authority at all, because a failed fetch must never look like a wave of delistings.

That last rule was written after a real incident. OFAC periodically consolidates duplicate records, deleting a redundant identifier while the target stays sanctioned. Read naively, one such action showed a currently listed tanker as removed. The parser now recognises those consolidations, the pipeline refuses to mark any hull delisted while it remains in the current list file, and the real notice is a regression test.

Why be this pedantic

Because the alternative is a number that is bigger and wrong.

It would be easy to publish a headline figure of a few thousand sanctioned vessels by pooling every list and catalogue. It would also be false, and it would fail the first person who checked a specific hull against an authority’s own website, which is exactly what a compliance analyst or a journalist does.

The methodology sets out each rule and the known gaps, including the EU financial sanctions file, whose endpoints were returning server errors throughout this build, and Japan, which publishes vessel measures only as per-regime PDFs and is therefore not ingested rather than guessed at.

Figures in this post were computed on 6 September 2026 and are not updated afterwards. The statistics page always shows current numbers.