Every change is a new version
Approved versions are frozen. Each alert points at the exact version, parameters and feature values that produced it.
Product
SpeculaPro brings real-time fraud decisions and anti-money-laundering monitoring into one platform, with the evidence your regulator expects kept at every step.


01 · Getting data in
SpeculaPro keeps its own copy of the transactions and customers it monitors. Rules never query your core banking system, so monitoring doesn’t slow it down, keeps working if it’s unavailable, and can always show exactly what data a rule saw.
| Channel | Timing | Typical use | Status |
|---|---|---|---|
| REST event API | After the fact | Transactions, customers, accounts, exchange rates and account events such as sign-ins and SIM swaps, sent in batches as they happen. | Built |
| REST decision API | Real time | Your switch asks before authorising a payment and gets allow, review, block or step up, with reasons. | Built |
| Batch files | End of day | CSV, JSON Lines or ISO 20022 (camt.053, pain.001) files collected from your SFTP server or S3-compatible bucket, or CSV and JSON uploaded by hand. Common for banks starting out. | Built |
| Change data capture | No integration work | For core systems that cannot push events: SpeculaPro follows the database's changes through Debezium topics (JSON or Avro) or PostgreSQL logical replication. | Built |
| Kafka / Redpanda topic | High volume | Institutions with their own streaming platform publish to their own topics; SpeculaPro reads them, with a dead-letter topic for rejects. | Built |
02 · Rules
Rules are written in CEL, a safe expression language, and tuned through parameters: amounts, time windows, channels, customer segments. No release is needed to change one.
See the rule library →Approved versions are frozen. Each alert points at the exact version, parameters and feature values that produced it.
A rule author submits; a different person approves. The database itself refuses a self-approval.
Run a new version alongside the current one. It records what it would have flagged, without creating alerts, until you promote it.
Replay a draft rule over up to 180 days of history and compare it with the live version: how many alerts it would have raised, and on whom, before it ever runs live.
03 · Alerts and cases
Hits on the same customer merge into one alert. Known, explained activity can be suppressed for a fixed period with a second person’s approval, and suppressed hits are still kept for auditors.
Alerts roll into one case per customer, with a priority, an owner, a team queue and a due date. Queues are worked by deadline, so the most urgent work comes first.
Analyst, then level 2, then MLRO. Policies route cases by condition: a PEP’s case can open at level 2 in a team’s queue. A missed deadline is recorded and can escalate the case by itself. Closing a high-risk case needs a second approver.
Every case closes with a disposition
False positives feed back into rule tuning, so the alert queue gets quieter over time.
04 · Reporting
Suspicious transaction reports are drafted from the case, approved by someone other than the author, and exported in the regulator’s format: goAML for FIUs that use it, and a printable CENTIF declaration for the UEMOA states and Guinea, whose layout is still to confirm with each CENTIF.
goAML export built05 · Around the investigation
Mark customers and counterparties as PEP, relative or associate, sanctioned, high risk, adverse media or your own categories. Designations are revoked, never deleted. Allow and deny lists for countries, merchant codes, accounts and devices.
UN, OFAC, EU and UK lists fetched and versioned for you, with imports for Nigeria, Ghana and UEMOA lists. Name matching that explains each score. Connect OpenSanctions, ComplyAdvantage or World-Check One for PEPs. Reviewers clear false positives and confirm true matches side by side with the list entry, with a second approver where it matters. By default, real-time decisions block payments involving a confirmed sanctions match.
Each workspace can train a model on its own transactions that scores how unusual a payment is, with the reasons. Rules read the score; the model never blocks or alerts by itself. Every version runs in shadow first and needs a second person’s approval to go live.
Volume, typologies, rule performance and alert outcomes by month. An optional ClickHouse analytics store extends the view to 24 months; Postgres alone is enough without it.
Assignments, escalations, missed SLAs and blocked payments reach the right people by email, SMS or WhatsApp, and your own systems by signed webhook, from templates you can translate.
Each institution works in its own base currency, with a daily exchange-rate table. Ghana, Nigeria and the eight UEMOA states have their own packs and reporting defaults, with the values each regulator must confirm listed. Sierra Leone, Liberia, The Gambia, Guinea and Kenya have starter packs and reporting defaults too, drawn from our research and still to be verified with counsel and each regulator. Rules, report formats, currencies and languages are added per market. The app is in English and French, with French terms that follow UEMOA and BCEAO usage for Francophone West Africa.
06 · Separation of duties
Built-in roles follow how compliance teams are organised. The person who writes a rule can’t approve it, and the analyst who closes a high-risk case can’t sign it off alone.
| Role | What it can do |
|---|---|
| Analyst | Works alerts and cases, drafts reports, proposes suppressions. |
| Senior analyst | Everything an analyst does, plus closing cases and managing risk designations. |
| L2 investigator | Takes escalated cases and approves other people’s case closures. |
| MLRO / Compliance officer | Approves reports, suppressions, rule changes and high-risk case closures. |
| Rule author | Writes and tunes rules. Can’t approve their own changes. |
| Rule approver | Reviews and approves rule versions written by someone else. |
| Auditor | Read-only access to alerts, cases, rules and the audit log. |
| Data protection officer | Runs the Privacy area: retention, legal holds, data subject requests and the breach register. |
| Administrator | Users, roles, API keys and settings, with a second person approving sensitive changes. No access to investigations by default. |
Need something else? Build a custom role from a plain-language list of permissions.
Next step
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.