Features
Everything that’s in the box.
Thirteen areas and more than ninety capabilities, each one built into the product today. Read it top to bottom, or search for the thing you need.
- 167
- built-in rules
- 19
- rule packs
- 17
- jurisdictions set up
- 5
- ways to send data
- 9
- built-in roles
- 13
- webhook events
01 · Decide
An answer before the money moves.
Your payment switch asks SpeculaPro before it authorises a payment. It gets back allow, step up, review or block, with the reasons, inside the time budget you set.


Allow, step up, review or block, each with a score from 0 to 100 and the rules that fired. The strongest answer wins: an allow rule never overrides a block.
Each workspace sets how long a decision may take, from 20 milliseconds to 2 seconds, and what to answer if time runs out: let the payment through, or hold it.
An answer given without the full check is marked as degraded and raises a fraud alert, so a person looks at that payment afterwards.
A payment involving a confirmed sanctions match is blocked by default, and one with a match still under review is held. A counterparty name seen for the first time is screened on the spot.
Your systems can report back whether a payment turned out to be fraud or legitimate. Each rule then shows how often it was right.
Past its capacity the service turns requests away quickly instead of slowing every payment. If the message queue goes down it keeps deciding, and catches up when the queue returns.
02 · Detect
167 rules, ready on day one.
Nineteen packs cover the patterns that regulators and fraud teams look for, from structured deposits to payouts after a SIM swap. Switch on the packs for your market and licence, then tune them.


Thresholds, structuring, velocity, networks, geography, designations, mobile money, card fraud and business activity.
Separate packs for banks and for payment or e-money providers in Ghana, Nigeria, the UEMOA states, Sierra Leone, Liberia, The Gambia, Guinea and Kenya, on top of core, fraud and FATF packs. The five newest markets are starter packs, still to be verified with counsel and each regulator.
In real time before a payment, after each recorded transaction, or on a schedule: hourly, daily or weekly scenarios that look across many accounts at once.
Rules can use counts, sums, averages, maximums and the number of distinct counterparties, over windows from one minute to 180 days, for a customer, an account, a counterparty or a device.
New device, new payee, new country, impossible travel, a device shared by many customers, and account events such as failed PINs, phone changes and SIM swaps.
Deposits split across agents, limits by KYC tier, payouts soon after a SIM swap, BCEAO e-money caps: typologies written for how money actually moves here.
03 · Prove
Change a rule without holding your breath.
Every change is tried, compared with what runs today and approved by a second person before it touches a live payment. Every version is kept.
- Draft
- Try
- Backtest
- Shadow
- Approve
- Live


Pick conditions, totals and an outcome from menus, and SpeculaPro writes the expression. Those who prefer can edit the expression directly, in CEL.
Enter sample values and see at once whether the rule would fire, and the sentence an analyst would read.
Replay a draft, a new set of parameters or an unsaved rule over your history and compare it with the live version: hits, alerts, customers and amounts, day by day, with sample hits to read.
A new version runs beside the live one and records what it would have flagged, without raising alerts, until you promote it.
The author of a version can’t approve it: the database itself refuses. Approved versions are frozen, and each alert points at the exact version that raised it.
Each rule carries a sentence that is filled with the real figures when it fires, such as “5 cash-ins totalling GHS 48,500 in 48 hours”.
When a pack is updated, the values you tuned are carried over as drafts for you to review, not overwritten.
04 · Investigate
From first alert to closed case, on one timeline.
Analysts see what fired and why, work the riskiest items first, and leave a record that nobody can rewrite.


Hits on the same customer merge into one open alert, and the queue is ordered by risk. Money-laundering and fraud alerts are kept apart.
Each alert shows the rule, its version, the transactions and the values that made it fire.
A case has a number, an owner, a priority and a due time. By default: 4 hours for critical, 24 for high, 72 for medium and a week for low. You set your own.
Policies decide where a kind of case starts and who takes each level: a PEP’s case can open at level 2, in the senior desk’s queue, with four hours on the clock. Anyone working a case can still escalate it by hand, with the reason recorded.
Group people into teams. Cases join a team’s queue by policy or by hand, and each person can narrow the caseload to the queues of their own teams.
When a case’s deadline passes, it is written on the timeline and the owner, the team and the approvers are told. If the policy says so, the case moves up a level by itself, within a minute.
Attach what you collected: an ID document, a statement, the customer’s letter, an email. Each file is encrypted, its fingerprint is recorded, every download is logged, and a removed file leaves its record behind.
Ask the assistant about an alert and it says whether it looks like a false positive or needs investigating, with its reasons and what to check. What it reads is masked first: names and identifying numbers are replaced with placeholders. It can’t dismiss or close anything: a person does.
Closing a high or critical case needs another approver. You can require it for every case, or for the cases of one policy.
Activity that has been explained can be suppressed for 1 to 365 days, with a reason and a second approver. Suppressed hits are still kept for auditors.
Comments, assignments, escalations and decisions are added to the case in order. Nothing on it can be changed or removed.
05 · Know
Everything about a customer on one page.
The profile brings together what an investigator needs, and shows personal data only to the people allowed to see it.


Money in and out, the latest transactions with the flagged ones marked, accounts, open alerts and cases.
The devices a customer has used and their recent account events: sign-ins, failed one-time codes, phone changes and SIM swaps.
Mark a customer or counterparty as a PEP (domestic, foreign or international organisation), a relative or associate, sanctioned, high risk, adverse media, on a watch list, or in your own categories. Each carries its source and is revoked, never deleted.
Lists of countries, merchant codes, customers, accounts, counterparties, devices and IP addresses. Entries can expire, and rules see a change within about 15 seconds.
Names are replaced with pseudonyms and identity fields are masked for roles without the right to see them. Every view of personal data is written to the audit log.
The risk rating, segment and KYC tier your systems send travel with the customer and can be used in any rule, along with your custom fields.
06 · Screen
Names checked against the lists, with the reasoning shown.
Sanctions lists are kept up to date for you. When a name comes close, a reviewer sees your record beside the list entry and why the two were matched.


United Nations, OFAC, European Union and United Kingdom lists are fetched and every version is kept. South Africa, Canada, Australia and Kenya can be switched on.
Import national lists for Nigeria, Ghana and the UEMOA states, and keep private watch lists. Signed list bundles serve sites with no internet access.
Spelling variants, names that sound alike, words in a different order, and names written in Cyrillic, Greek or Arabic. Date of birth, country and ID numbers raise or lower the score.
The reviewer sees which names were compared, how close they were and the threshold that applied.
Your record next to the list entry, with a timeline of comments. A true match needs a second person where you require it, and a cleared false positive is remembered.
When a list is updated, customers are screened again automatically. Nobody has to remember to run it.
OpenSanctions and ComplyAdvantage can be connected today. A World-Check One connector is included and still to be verified on a live account.
07 · Model
A model that advises. Rules that decide.
Each institution can train a model on its own transactions that scores how unusual a payment is. This is a first stage: it finds the unusual, and does not yet learn from confirmed fraud.
First stage

A model belongs to one workspace and is trained on that workspace’s transactions. Nothing is shared with another institution.
Each payment gets a score from 0 to 1 and the three things that made it unusual.
The model never blocks a payment or raises an alert by itself. A rule you wrote and approved decides what a high score means.
A version starts as a draft, runs in shadow, and goes live only with a second person’s approval. It can be retired at any time.
What it was trained on, over which period, with which inputs, and how its scores are spread. Ready for your model-risk file.
SpeculaPro measures whether today’s payments still look like the ones the model learnt from. Weekly or monthly retraining produces drafts only.
08 · Assist
An assistant that reads with you. People decide.
An AI assistant reads an alert, a case or a rule the way an analyst would and says what it sees, with its reasons. It never closes, dismisses, escalates or changes anything: every decision stays with a person.
The assistant says whether an alert looks like a false positive or needs investigating, how sure it is, why, and what to check next. Sanctions alerts, critical alerts and alerts about politically exposed persons are never called false positives.
Switch on automatic review and each new alert carries the assistant’s opinion, or ask it to read the whole queue in one go. Analysts filter by what it advises and start with the alerts that matter.
Whoever picks up a case gets a short account of what it is about, the facts that matter, what is still open, and what the assistant would suggest doing with it. One case or every case being worked at once. The investigator decides.
For a suspicious transaction report, the assistant drafts the narrative from the case: who, what, when, how much, and why it is suspicious. It is a draft: the officer checks every sentence, corrects it, completes it and signs.
It reads what became of a rule’s alerts over 90 days and proposes settings worth testing, each with its figures and what it could miss. Nothing changes on the rule: a person tries a suggestion in a backtest, and a new version goes through the usual approval.
What the assistant reads is masked first: names become placeholders such as “Customer A”, phone, identity and account numbers are replaced, and notes and files are not sent. It sees amounts, dates and patterns. Masking works by pattern, so what is sent is pseudonymised, not anonymous. Names are put back on your side.
Use the key provided with your subscription, with a monthly allowance you can ask to raise, or your institution’s own key: for Claude, or for another provider with an OpenAI-compatible interface (settings are there for OpenAI, Google Gemini, Mistral and a model you host yourself; these have been tested against stand-in servers, not yet against each provider). By default, switching it on takes a second person’s approval; switching it off is immediate. Each call is counted and written to the audit log.
09 · Report
Reports drafted from the evidence.
A suspicious transaction report starts from the case, is checked against the regulator’s format, approved by someone else, exported and tracked to acknowledgement.


The narrative, the customer and the transactions are drawn from the case and the investigator’s notes.
A validation panel lists what the regulator’s format would reject, and where to fix each item.
The author of a report can’t approve it. The approval trail shows who drafted, who approved and when.
Reports are exported as goAML XML for you to upload to your FIU’s portal. The exact file is stored with its fingerprint, so you can prove what was sent.
Tick the case’s evidence files that go with a report. They are frozen with it at approval and come out in one archive with the export and a list of fingerprints, ready to upload.
For the UEMOA states and Guinea, a printable French declaration with an XML copy. The layout is ours and still to be confirmed with each CENTIF.
When switched on, cash transaction reports are drafted every day from the transactions above your threshold.
Every report with its status and the regulator’s reference. A report can be voided with a reason, never deleted.
Reporting defaults for Ghana, Nigeria, the eight UEMOA states, Sierra Leone, Liberia, The Gambia, Guinea and Kenya, and a FATF baseline, with the values each regulator must confirm listed.
10 · Protect
Data protection inside the monitoring tool.
Your data protection officer has their own area, built around the point where privacy law and anti-money-laundering duties meet.


Set how long each kind of data is kept, never below the minimum your anti-money-laundering law requires. Run a dry run first, then delete or pseudonymise.
Put a customer’s data on hold and nothing is purged until the hold is lifted.
Six kinds of request, to see, correct, erase, restrict, object or take data away, each with the deadline from the applicable law. The export leaves monitoring data out.
An erasure request that conflicts with a legal duty to keep records is flagged, and a request from someone under investigation is routed to the MLRO.
Records of processing, lawful bases and transfers abroad, kept in the same place.
Record an incident, follow the checklist against the legal deadline, 72 hours where it applies, and export the record for the regulator.
Deadlines and rules for Ghana, Nigeria, Kenya, Côte d’Ivoire, Senegal, South Africa, the European Union and the United Kingdom.
11 · Connect
Fits the systems you already run.
Five ways to send data in, signed events on the way out, and messages that reach your people where they already are.
How the pieces fit together →

Transactions, customers, accounts, exchange rates and account events, in batches. Each record carries your own reference, so a retry is never counted twice.
CSV, JSON Lines and ISO 20022 statements and payment files, collected from your SFTP server or S3-compatible bucket, with a results file written back. Or upload up to 50,000 rows by hand.
For core systems that can’t push events, SpeculaPro follows changes through Debezium topics or PostgreSQL replication, with versioned field mappings you fill in on a form: which column feeds which field, how values translate, how dates and amounts are written.
Publish to your streaming platform and SpeculaPro reads from it, slowing down when it must and sending rejects to a dead-letter topic.
Thirteen events, from a blocked payment to a missed case deadline, signed so your systems can check where they came from, retried for about a day, with a delivery log.
Assignments, escalations and missed deadlines reach people in English or French. Messages never carry customer data, and WhatsApp runs through your own gateway.
Amounts are kept in the currency’s smallest unit, including currencies with no decimals or three, and converted to your base currency with the rate used stored alongside.
An API key can send data, or ask for decisions, and nothing else. Keys are stored as fingerprints and replaced in one step.
12 · Govern
Who did what, and who approved it.
Access follows how compliance teams are organised, sensitive changes wait for a second person, and the record of it all can’t be altered.
Security in detail →

Built-in roles from analyst to MLRO, auditor and data protection officer. Build others from a plain-language list of about fifty permissions.
Connect your identity provider by OpenID Connect or SAML 2.0, verify your domains, map groups to roles, and keep emergency administrators for the day the provider is down.
With SCIM 2.0, people are added and removed as your directory changes. A leaver loses access without anyone remembering to do it.
A code from an authenticator app at every password sign-in, with one-time recovery codes for a lost phone. Or a passkey: fingerprint, face or device PIN, bound to the real address so a fake sign-in page gets nothing. Accounts lock after repeated failures and sessions end after 30 minutes idle.
About two dozen kinds of administrative change, such as roles, API keys and decision policy, show before and after and wait for a second person.
Every change, approval, sign-in and view of personal data. The database refuses to edit or delete an entry, whoever asks.
The database itself checks every row against the institution asking for it, so one institution’s data can’t be served to another.
Phone, ID and account numbers are encrypted with a key of the institution’s own, and can still be searched without being decrypted. Master keys can be rotated.
On the hosted service, our staff see your workspace only when you approve it: read-only, for a limited time, and logged on both sides.
13 · See
The whole operation at a glance.
A command center for today, analytics for the months behind it, and an interface people enjoy working in all day.


Value monitored and flagged today, money flow over 24 hours, an alert heatmap over four weeks, the priority queue and the approvals waiting for you.
Volume by channel and transaction type, typologies, alert outcomes and decision outcomes. Three months out of the box, 24 with the optional analytics store.
See which rules fire most and how many of their alerts were confirmed, so tuning starts from evidence.
Each chart can be read as a table of the same figures, for people who prefer numbers or use a screen reader.
Two themes that follow your system setting, and a layout that works on a phone as well as on a wide screen.
Press Ctrl or ⌘ and K to move to any screen without touching the mouse.
The app and its notifications are in both languages, with French terms that follow UEMOA and BCEAO usage.
14 · Run
Hosted by us or run by you. The same product.
The self-hosted product is the hosted one: the same program, the same features, in your own data centre if your regulator requires it.
How deployment works →A single program takes every role, from decisions to background work, in one small container image that runs without administrator rights.
A Helm chart with autoscaling, disruption budgets, network policies and monitoring alerts already written.
Rule packs, jurisdiction settings and sanctions lists come as signed bundles that are verified offline, for sites cut off from the outside.
The licence is checked offline. If it lapses there is a 30-day grace period, and monitoring carries on throughout.
Around 55 metrics and request tracing in the open formats your operations team already uses, Prometheus and OpenTelemetry.
The design target is 5,000 decisions a second sustained, 99 in 100 answered within 50 milliseconds. These are targets we test against, not yet figures from a live institution.
Nothing matches that. Try another word, or ask us.
What sets it apart
Eight things you won’t find together elsewhere.
Some of these exist one at a time in other tools. What is unusual is having all of them in one product, built for this region.
- 1
Fraud and money laundering in one place
Most institutions run one tool that stops fraud and another that looks for laundering. Here one set of rules does both, and a payment that was allowed in real time is still watched afterwards.
- 2
Written for these markets
Mobile money, agents, KYC tiers, BCEAO caps, goAML and CENTIF are in the product from the start, not added to a tool designed for somewhere else.
- 3
Four eyes that can’t be skipped
Rules, case closures, reports, suppressions and model go-live all need a second person, and the database enforces it. No screen or script gets round it.
- 4
Proof before a rule goes live
Try a rule on sample values, replay it over months of history, then run it in shadow on live traffic. You know what it will do before it does it.
- 5
Every flag explains itself
A rule hit, a screening match and a model score each say why, in a sentence with the real figures. Analysts spend their time judging, not decoding.
- 6
The privacy officer has a seat
Retention, legal holds, data subject requests and breaches are handled in the same product, with the conflict between erasure and record-keeping already thought through.
- 7
It keeps deciding when things break
A slow dependency, a queue that is down or a lapsed licence doesn’t stop payments being checked. You choose in advance what happens when time runs out.
- 8
Your data stays yours
Each institution has its own encryption key and is sealed off inside the database. Run it in your own data centre, offline if you must, with the same features.
Where things stand
Everything on this page is built into the product. Where something is a first stage, or still to be confirmed with a regulator, the text says so. Speed figures are design targets, and thresholds in market packs are defaults for your compliance team to confirm.
Next step
See SpeculaPro against your own typologies.
Tell us about your institution, your volumes and your regulator. We will walk you through the platform and the rule library, and talk about a pilot.