How does OpenSanctions handle sanction delistings and asset unfreezes?

Hello OpenSanctions Team,

I’ve been using OpenSanctions for compliance screening and noticed that when entities are removed from sanctions lists (e.g., UN Security Council delistings, national asset unfreezes), this doesn’t appear to be reflected in the data or API. Could just be a mistake on my part just want to confirm:

  1. Does OpenSanctions currently detect and track when entities are removed from source sanctions lists or have a mechanism to detect when entities are removed from source data between crawls?

  2. Is delisting information (date, authority, reason) anywhere in the API or bulk data?

  3. Are there plans to add historical tracking for ended or removed sanctions?

Thank you, Any guidance on how this is currently handled would be appreciated.

Hey Jordan,

Our approach to this is - for now - pretty simple: every watchlist entry we publish in the main database must have an online source somewhere, or it gets removed. In the case of the UN de-listing that happened this week, I think there’s still some governments that publish copies of the UN list and still haven’t updated those.

With regards to the question of change tracking: the data we publish is always the latest list version (so doing de-listings is natural because there really isn’t a stateful backend), and we detect de-listings by comparing checksums across previous crawls.

We do have a full archive of historical listings and also publish delta files that identify de-listings explicitly.

If I understand correctly, you’re running your own copy of zavod and building your own data, so YMMV on some this, depending on whether you have a GCS buckets configured to make the crawler archive properly stateful?

Cheers,

  • Friedrich