Skip to content

ActiveSanction

A Ruby library that manages government sanctions lists from jurisdictions around the world. Every list parsed into one record model, every name screened in your own process, with an account of every point a score was awarded.

Choose your lists, screen a name, and read the score:

# Every list, or only the ones your obligations actually cover.
ActiveSanction.sync!(:ofac_sdn, :un_consolidated)
hit = ActiveSanction.screen(
name: "Bosco Ntaganda",
type: :individual,
sources: %i[ofac_sdn un_consolidated]
).first
hit.score # => 100.0
hit.source # => :un_consolidated -- which list answered
hit.snapshot_id # => "sha256:4e39b663..." -- the exact version of it

This library is a screening aid. It is not legal advice, and it is not a compliance program. Verify every hit against the official published list before acting on it. A clean result means nothing over the threshold in the lists we currently hold — it does not mean not sanctioned.

Get started

For a name you have never screened before: one path, followed start to finish. Begin here.

Guides

For somebody who already knows what they are trying to achieve and wants the steps for one job. Browse the guides.

Reference

For somebody looking something up — a source, a setting, an error — rather than reading start to finish. Look something up.

Explanation

For somebody who wants to understand why the library works the way it does, not what to type next. Understand why.

The gem is complete on its own — every supported list is fetchable, parseable and screenable locally, forever, with no account and no key.


Screening compares folded strings, never published ones. This is the one thing you can try with no data at all:

require "active_sanction"
ActiveSanction::Normalizer.call("O'Brien, Seán").value
# => "o brien sean"