Compliance

AML Screening, Sanctions & PEP

Foundational

Screening is central to what we do. We check customers and transactions against sanctions lists, PEP databases, and adverse media before we let them through. The worst failure this company can have is letting someone through who should have been stopped. Every screening decision must fail closed, be evidenced, and never be silently bypassed.

This guideline shows how screening and sanctions/PEP logic must behave in code. The compliance team defines what to check and the thresholds. Engineering must make sure the checks actually run, that uncertainty is resolved safely, that decisions are recorded so they cannot be changed, and that controls cannot be quietly turned off. It brings together the fail-closed rule (Designing for Failure), evidence (Auditability & Evidence), and human oversight (High-Risk AI) for this one critical area.

The Finperiti audit found the worst version of getting this wrong: KYC/AML webhooks that accepted unsigned, forgeable payloads. This meant a fake "approved" message could pass someone through with no real check. The rules here exist so that a missing, errored, forged, or unrecognised result can never become an approval.

Fail closed, always

Fail open on a screening error var hit = sanctions.Screen(customer); // throws on timeout
// caught upstream and treated as: no hit -> proceed

A provider timeout becomes a silent approval. A sanctioned person could be onboarded with no screening. This is the most dangerous AML failure, and exactly what failing closed prevents.

Completed-clear required, else escalate var r = await sanctions.ScreenAsync(customer, ct);
if (r.Status != Completed) return Decision.BlockAndEscalate("screening incomplete");
if (r.HasHit) return Decision.Escalate(r); // human review
audit.Record("Sanctions.Clear", customer, r.ListVersion, actor);
return Decision.Proceed;

Only a completed, recognised clear result proceeds. Anything else is held for a human. The decision and the list version are recorded as evidence.

Evidence and keep control

Self-review checklist

Why it matters: Screening is the control that stops criminals, sanctioned parties, and illegal money from entering the financial system through us. This is the core purpose of the business. A single fail-open path, forged result, or silently disabled check can let exactly the people we exist to stop walk straight through. The regulatory, legal, and reputational damage could end the company. Fail closed, evidence everything, and never let the control be bypassed.