AML Transaction Monitoring Platform¶
| System ID | SD03 |
| Repo | bank-aml |
| Business domain | BD07 |
| Tech owner | Financial Crime Engineering |
| Build status | Not started |
Continuous monitoring of all transactions for AML typologies, unusual patterns, and reportable activity. Produces alerts, manages cases, and submits regulatory reports automatically.
Modules¶
| ID | Name | Status |
|---|---|---|
| MOD-016 | Rule-based typology engine | Not started |
| MOD-017 | ML behavioural scoring model | Not started |
| MOD-018 | Alert case management system | Not started |
| MOD-019 | Regulatory report submission | Not started |
Architecture¶
All monitoring runs as Kafka consumers against bank.transactions. Rule engine (MOD-016) and ML scorer (MOD-017) both subscribe to the same event stream independently. Results written to Postgres for case management (MOD-018). See ADR-003 and ADR-010.
Risk score mirror table¶
MOD-039 (customer risk score model, SD06) publishes bank.risk-platform/customer_risk_score_updated events whenever a customer's risk tier changes. bank-aml maintains a local mirror table populated by MOD-016/017 from this event stream:
bank_aml.aml.risk_scores_mirror
| Column | Type | Notes |
|---|---|---|
party_id |
UUID | PK; cross-domain ref to SD02 party.parties.party_id — no FK constraint (cross-database; application-enforced) |
composite_risk_score |
FLOAT NOT NULL | 0–100 |
risk_tier |
VARCHAR NOT NULL | LOW | MEDIUM | HIGH | CRITICAL |
score_version |
VARCHAR NOT NULL | Model version from MOD-039 |
scored_at |
TIMESTAMPTZ NOT NULL | Timestamp from the event |
mirror_updated_at |
TIMESTAMPTZ NOT NULL DEFAULT now() | When the mirror row was written |
Idempotency key: (party_id, scored_at). MOD-016/017 upserts on receipt. The mirror is read-only from AML's perspective — SD06 owns the source of truth. AML typology rules (MOD-016) and ML scoring (MOD-017) read from this mirror rather than making cross-bus Snowflake calls inline.
Modules¶
| Module | Name | Status | Policies |
|---|---|---|---|
| MOD-016 | Rule-based typology engine | Deployed | AML-005 · AML-001 · AML-008 |
| MOD-017 | ML behavioural scoring model | Deployed | AML-005 · DT-005 · AML-001 |
| MOD-018 | Alert case management system | Deployed | AML-005 · AML-006 · GOV-006 |
| MOD-019 | Regulatory report submission module | Deployed | AML-008 · REP-003 · AML-001 |
Compiled 2026-05-22 from source/entities/system-domains/SD03.yaml