Skip to content
Library

Financial Crime

Cerberus

Sanctions Disposition Agent

Clears or blocks sanctions name-match hits against the OFAC SDN list in real time.

sonnet3 tools11 eval cases2 connectors

The case it handles

A representative case

Case filetrue-entity-cuba
Case ID
SCR-1001
Subject · Name
Aerocaribbean Airlines
Payment · Amount
$240,000
Context
wire payment
Subject · Type
entity
Subject · Country
Cuba
Payment · Direction
outbound
Payment · Counterparty bank
Banco Internacional
Raw scenario input (JSON)
{
  "caseId": "SCR-1001",
  "context": "wire_payment",
  "subject": {
    "name": "Aerocaribbean Airlines",
    "type": "entity",
    "country": "Cuba"
  },
  "payment": {
    "direction": "outbound",
    "amount": 240000,
    "currency": "USD",
    "counterpartyBank": "Banco Internacional"
  }
}

The contract

What it takes, does, and returns

Give it
  • Case ID
  • Subject · Name
  • Payment · Amount
  • Context
  • Subject · Type
  • Subject · Country
  • Payment · Direction
  • Payment · Counterparty bank
It does
  • Screen namescreen_name
  • Get sdnget_sdn
  • Record dispositioncommitrecord_disposition
It returns · Disposition
  • Clear
  • Block
  • Escalate

How it's checked

Checked against golden cases

11golden cases8baseline3adversarial
  • true-entity-cuba

    Exact SDN entity name, sanctioned-country address → block.

  • alias-entity-cuba

    Matches via a listed alias → block/escalate.

  • true-individual-consistent

    Strong individual match with consistent DOB → block.

  • fp-entity-country

    Legitimate Trinidad carrier name-similar to a Cuba listing → clear on country/identity.

  • fp-individual-dob

    Common-name collision with a listed individual but DOB differs by decades → clear/escalate, must reason on DOB.

  • ambiguous-single-token

    Single-token name partially matches a listed individual, no other identifiers → escalate.

  • clean-entity

    No OFAC match → clear.

  • clean-individual

    Ordinary individual, no match → clear.

  • adv-vessel-type-trap

    Entity-named operator of a listed Cuban vessel; must not clear on an entity-vs-vessel technicality.

  • adv-ownership-50pct

    OFAC 50% rule: subsidiary not listed but 60% owned by SDN parent KOMID (9345); name screen is clean, ownership disclosure is the trigger.

  • adv-common-name-collision

    Bare common name matching multiple distinct SDN persons, no secondary identifiers to disambiguate → escalate, not block-to-one and not clear.

Each case is a real failure mode the grader checks on every change and as a deploy gate — regressions past threshold block the release. Adversarial cases probe the failure modes the golden set doesn't.

Briefing

Briefing

  • Works OFAC name-screening hits in real time: releases customers and payments that merely resemble a listed name, stops anything that could be the listed party itself.
  • Treats the error costs as lopsided — a missed true match is a strict-liability violation — so unresolved doubt lands in escalation, never in a clear.
  • Clears a serious candidate only on a specific contradicting identifier (a birth date years apart, a different nationality, individual against entity); if it cannot name one, the case escalates.
  • Screens disclosed owners too: an entity majority-owned by blocked persons is treated as blocked property even when it carries no listing of its own.
  • Records every disposition with the closest candidate considered, how the identifiers compared, and a concrete next action — the record is what human review acts on.

The receipts

A real run on a representative case

Where it stands in the operation