Voice-driven AML triage, on the alerts that are drowning compliance teams.
OrionAML listens for suspicious patterns on a live mobile-money graph, draws the network as the pattern forms, and talks the analyst through it as Alexa+. The analyst questions it, hands off cases to Linear, and the agent replies in-thread. It never closes or escalates a case itself.
The model chooses the next move
Deterministic AML pipelines route rigid decision trees; the explainability is the diagram, not the behaviour. OrionAML lets the model decide what to investigate next and backs each decision with per-claim provenance and machine verification, so the control flow stays flexible without the audit trail going dark.
Voice-first, on an Echo-Show-sized canvas
The whole investigation runs through a web simulator of Alexa+: the analyst speaks or types, the model answers aloud through Amazon Polly, and tools that have a picture (wallet network, Linear issue) render on screen via the MCP Apps extension. The same MCP server powers the real Alexa+ add-on.
Live graph
Cases
| Alert | Status | Typology | Verdict | Proposed | Verified | Rejected | Runs |
|---|---|---|---|---|---|---|---|
| ALEXA-1792776159 | Awaiting analyst | Rapid receive-and-withdraw | Not yet determined | 0 | 0 | 0 | 0 |
| ALEXA-1792775878 | Awaiting analyst | Rapid receive-and-withdraw | Not yet determined | 0 | 0 | 0 | 0 |
| ALEXA-1792775686 | Awaiting analyst | Rapid receive-and-withdraw | Not yet determined | 0 | 0 | 0 | 0 |
| ALEXA-1792774323 | Awaiting analyst | SIM farm fan-out across agent network | Not yet determined | 0 | 0 | 0 | 0 |
| ALEXA-1792774116 | Awaiting analyst | Paybill turnover mismatch | Not yet determined | 0 | 0 | 0 | 0 |
| ALEXA-1792772393 | Awaiting analyst | Structuring below reporting threshold | Not yet determined | 0 | 0 | 0 | 0 |
| ALEXA-1792772346 | Awaiting analyst | Paybill turnover mismatch | Not yet determined | 0 | 0 | 0 | 0 |
| ALEXA-1792377490 | Awaiting analyst | Rapid receive-and-withdraw | Not yet determined | 0 | 0 | 0 | 0 |
| ALEXA-1792367929 | Awaiting analyst | Paybill turnover mismatch | Not yet determined | 0 | 0 | 0 | 0 |
| ALEXA-1792363294 | Awaiting analyst | Structuring below reporting threshold | Not yet determined | 0 | 0 | 0 | 0 |
| LINEAR-1792331169 | Awaiting analyst | No typology identified | Not yet determined | 0 | 0 | 0 | 0 |
| LINEAR-1792326829 | Awaiting analyst | No typology identified | Not yet determined | 0 | 0 | 0 | 0 |
| ALEXA-1792291419 | Awaiting analyst | Betting wallet passthrough | Not yet determined | 0 | 0 | 0 | 0 |
| AML-BET-001 | Open | No typology identified | Not yet determined | 0 | 0 | 0 | 0 |
| AML-PB-001 | Awaiting analyst | No typology identified | Suspicious -- recommend escalation | 6 | 4 | 2 | 1 |
| AML-SIM-001 | Open | No typology identified | Not yet determined | 0 | 0 | 0 | 0 |
Data and disclosure
- Transaction data — a hand-generated M-PESA-shaped graph plus live scenario injections. All synthetic; no real PII.
- Model — Claude, driven by a small hand-written tool loop: no agent framework, so every step the model takes is visible in the trace.
- Voice interface — in-browser web simulator of Alexa+, speaking the same MCP server that the hosted Alexa+ add-on uses. Speech out via Amazon Polly; speech in via the Web Speech API.
- Infrastructure — AWS Fargate behind CloudFront, Secrets Manager for keys, CodeBuild for CI deploys. Terraform-managed in infra/.
- Graph — Neo4j AuraDB Free (an external managed service).
- Analyst collaboration — Linear workspace via GraphQL. The agent lists outstanding issues, reads one, posts comments, and transitions state by voice; a Linear webhook delivers analyst replies back for the agent to re-verify.
- Sanctions data — a small hand-picked subset of the public OFAC SDN list, frozen at a fixed snapshot date, for fixture realism only. Not a screening list.