Sanctionwise — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Sanctionwise (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<div align="center">
<img src="https://qinisolabs.github.io/sanctionwise/logo.svg" width="96" height="96" alt="Qiniso" />
Verified UK sanctions screening for AI agents — official FCDO UK Sanctions List, not guesses.
Verified, trustworthy data tools for AI agents. "Qiniso" means "truth" in Zulu.
Website · npm · MCP Registry
</div>
Ask an LLM "is this person on the UK sanctions list?" and it will answer from stale, fuzzy memory. Designations change constantly and are specific — that's data, not something to recall. sanctionwise screens a name against the official FCDO UK Sanctions List and returns possible matches with their real designation details, or a clean "no match".
{ "mcpServers": { "sanctionwise": { "command": "npx", "args": ["-y", "sanctionwise"] } } }The official UK Sanctions List data is bundled in the package (works offline, out of the box). The tool also auto-refreshes from a weekly-updated GitHub Release on startup — cached locally, no key, no token, no manual step — so it stays current on its own. Every response reports the dataset's report date.
npm i sanctionwiseimport { screenName, getSanctionsEntry } from "sanctionwise";
screenName("Vladimir Putin");
// { matchCount: 3, results: [{ id: "RUS0251", type: "Individual",
// primaryName: "Vladimir Vladimirovich PUTIN", matchType: "exact",
// regimes: ["The Russia (Sanctions) (EU Exit) Regulations 2019"], sanctions: "Asset freeze|…" }],
// disclaimer: "INDICATIVE NAME-MATCH SCREEN ONLY. …" }
screenName("Acme Quilting Supplies Ltd").matchCount; // 0 — no match (NOT a clearance)
getSanctionsEntry("RUS0251"); // full official entry for a Unique IDMatching folds accents and is case/punctuation-insensitive, and screens primary names and aliases.
| Tool | What it does |
|---|---|
| screen_name | Screen a person/company/vessel name → ranked POSSIBLE matches with official designation details |
| get_sanctions_entry | Full official entry for a Unique ID (names, aliases, regime, statement of reasons, …) |
The data is the official FCDO UK Sanctions List (designated persons, entities and ships under the Sanctions and Anti-Money Laundering Act 2018), published under the Open Government Licence v3.0. scripts/build-data.mjs parses the official CSV into one record per target (all names/aliases grouped); the bundled build currently carries 6,200+ designated targets. A weekly GitHub Action (.github/workflows/refresh-data.yml) re-downloads the list and publishes it as a GitHub Release asset; the installed tool fetches that asset on startup (cached, offline-safe), so it self-updates with no npm token and no manual step. The bundled copy is the offline / first-run fallback.
This tool runs locally on your machine and is built not to collect, store, or transmit your data — no analytics, no telemetry, no account. Screening runs locally; on startup it may download the latest public UK Sanctions List from a GitHub Release, but the names you screen are never transmitted. Full policy: <https://qinisolabs.github.io/privacy.html>.
Apache-2.0 (code). Sanctions data © Crown copyright, FCDO, Open Government Licence v3.0; see NOTICE.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.