PVARA notified the full framework on 21 August. Regula’s catalogue reads it

AML detection · coverage proof

Every AML vendor says they catch financial crime.

We can show you the map.

Regula tests every case its detection can decide on, 860,160 of them, exhaustively, with no sampling, and publishes exactly where the alerting reaches and where it does not.

The law this encodes

Not a customer list. The instruments the catalogue is built from, each one a real citation you can check.

  • FATF March 2026 Report
  • FATF Recommendation 16 (rev. June 2025)
  • NOC Regulations 2025
  • Pakistan Virtual Asset Services Regulations, 2026
  • VA Act 2026
  • VARA Rulebook III.G

38 provisions, each stored as a versioned rule the engine evaluates directly.

Coverage proof

Tested exhaustively. Not sampled.

860,160
cases tested, not sampled
128
distinct outcomes, merged
13
facts the engine computes
0.15625%
of the space, nothing fires
What Regula’s detection reaches, by outcome
OutcomeRegionsCases
Alerts64792960
Seen, below the alert line6265856
Nothing fires21344
Alerts · 792,960Seen, below the alert line · 65,856Nothing fires · 1,344

The white band · 672 cases

A transfer under $1,000 with clean exposure is invisible to detection.

Every competitor tests a sample and reports a percentage. This is the whole space, drawn at true width, and the white band is the part where nothing fires.

thirteen facts are computed. four can raise an alert.

The rest are measured, stored and shown to a reviewer, and none of them can move an alert on its own. That is a property of the engine, not an opinion about it, so it is published rather than described.

  • direct_illicit_exposure
  • indirect_illicit_exposure_2hop
  • sanctioned_hop1_count
  • sanctions_hit
  • tx_count_30d
  • unique_counterparties_30d
  • avg_tx_value_usd
  • sanctions_distance_min
  • receive_send_ratio
  • account_age_days
  • hop1_capped
  • hop2_capped
  • amount_usd
  • one declared, never measured
4
can raise an alert
9
cannot

The size of the transfer. It cuts the space, and the Travel Rule threshold is its only cut point, but the rule doing the cutting is not alert-eligible, so no value it takes reaches an alert.

amount_usd

You decide whether that needs a manual control. Nobody else in this market will tell you it is there.

The console

The obligations, the risk, and the transfer, in one console.

Every module reads the same catalogue, so a revision to one obligation moves through all of them rather than being re-entered in each.

Provision reference, condition, severity, evidence and version history. When the regulator revises one, the catalogue versions it and every module downstream follows.

38provisions
6 instruments
16
machine-evaluable
22
gated on evidence

The queue carries the transaction, the rule that fired and the draft internal SAR, exported as a goAML report that the FMU's own 5.0.2 schema validates before release.

Sanctions exposure to two hops, with the facts behind every score kept beside it. An unrated counterparty says so rather than defaulting to low.

exposuretwo hops
  • direct_illicit_exposure
  • indirect_illicit_exposure_2hop
  • sanctioned_hop1_count
  • sanctions_distance_min 2

In force in Pakistan since August. Regula routes qualifying transfers, holds the payload, and records what the counterparty returned.

assessment pipelineends in hold
  1. Thresholds.47(1)
  2. IVMS101hashed
  3. Counterpartyunknown
  4. Sunriseheld
  5. Exchangenot sent

The package is recorded as evidence with its hash and the jurisdiction status, and it is not transmitted.

evidence recorded
ivms101_payload_hash
sha256 9f2c41ab…
counterparty_resolution_record
stored

Travel Rule · counterparties

No counterparty is compliant by default.

Every jurisdiction Regula routes against carries a cited legal source. Anywhere else, the transfer resolves as an unknown jurisdiction and the package is held as evidence, never sent on the assumption that a rule is in force somewhere nobody can cite.

5 jurisdictions, 5 citations
AEGBPKSGUSanywhere else · held, not sent
See how a transfer is routed

Agentic AML

The agent has to prove its own fix.

Point it at a gap and it drafts a detection rule, then hands that draft to the same analyser this page is built on and asks whether it closes the gap. Not a second, softer check, but the identical machinery. If cases stay open, it tries again.

  1. 01

    Draft

    A candidate rule for the gap you point it at.

  2. 02

    Validate

    Rejected unless every fact it names is one the engine observes.

  3. 03

    Prove

    Run against the same analyser this page is built on.

  4. 04

    Retry

    Cases still open come back as feedback, and it goes again.

A draft is a proposal, not a change: nothing is live until an officer approves it, an approved rule applies to transactions scored after it rather than backwards, and its thresholds are industry convention, and FATF publishes no numbers for these indicators.

Run it against your own catalogue.

Every module is live. We’re onboarding a small number of design partners, so there is a working console to react to rather than a roadmap to take on trust.

Or read the raw proof: coverage-report.json · 860,160 cases · sha256 6c9f114

An independent final-year project at FAST–NUCES, Lahore. Not affiliated with or endorsed by PVARA.