FinToken XArchitectureCompliance / Money Laundering Reporting Officer (MLRO)

Compliance Officer / MLRO

Our in-house regulator. Reviews escalated applications, signs off on suspicious activity reports, runs monitoring on lenders and brokers, and is the human in Gate 3. No transaction powers — they review, decide, and document. Their console is the artefact we hand the regulator on demand.

Priya Lall · MLRO, FinToken X

priya.lall@fintokenx.uk · ICA Diploma in Anti-Money Laundering · 11 years in financial-crime prevention (most recently at a UK challenger bank)

Priya is the Money Laundering Reporting Officer — the named role required by the Money Laundering Regulations 2017 (MLR 2017) and Proceeds of Crime Act 2002 (POCA). She has authority to file Suspicious Activity Reports to the National Crime Agency (NCA), freeze customer activity on the platform, and escalate to the Financial Conduct Authority (FCA). She has no commercial Key Performance Indicators (KPIs); her line of accountability is to the Board, not to revenue. Two compliance analysts report to her.

Channel
Browser Single-Page Application (SPA)
Role-Based Access Control (RBAC)
compliance_officer · narrower roles for analysts
Authority
Suspicious Activity Report (SAR) filing · subject freeze · MLRO sign-off
Bypass marking
Every action audit-tagged actor_role=compliance_officer

What the compliance team does

Six recurring jobs, each with its own console surface. None of them touch money or move state on customer flows directly — they decide, and the platform acts.

Gate 3 review

Sign off (or decline) every onboarding file flagged HIGH risk or rule-flagged. Mandatory for sellers and investors regardless of score.

SAR register

File and track suspicious activity reports to the NCA. Hashed party identifiers in every view to prevent tipping-off.

Pre-trade log review

Sample-audit the secondary-market pre-trade checklists; flag any pattern of "yes-on-all" rubber-stamping. Quarterly export to the FCA Sandbox team.

Lender & broker monitoring

Continuous: FCA register deltas, sanctions deltas, defaults YTD per lender, decline patterns per broker.

Decision matrix

The "if X happens, do Y" playbook. Versioned, signed off by Priya, exported as the firm's risk-policy artefact.

Retention & subject access

Track record retention (5 years standard, 6 years for SARs); fulfil DSARs from /admin/users.

The console · /compliance

The landing page for everyone with the compliance_officer role. KPI strip for "is anything on fire", a queue of items needing decision, and shortcuts to every sub-tool.

🔒 app.fintokenx.uk/compliance
FX
⚖️
📥
🗂️
📊
Compliance
Priya L.

Compliance console

Tuesday 22 May 2026 · MLRO on duty: Priya Lall

In MLRO queue
7
Avg age 4h · oldest 1.2d
Open SARs
3
2 awaiting NCA acknowledgement
Active alerts (Gate 4)
12
9 sanctions delta · 3 insolvency
Pre-trade audit sample
38 / 40
Q2 quota
Today's queue · awaiting your decision
Subject
Reason
Risk grade
Submitted
Age
Coppergate Joinery Limited (Ltd)
Mandatory seller MLRO review
LOW
22 May 11:02
2h
Brunel Pension Partners
Mandatory investor MLRO review
LOW
22 May 09:14
4h
Penzance Cold Chain Ltd
Risk score HIGH · multi-jurisdiction Ultimate Beneficial Owners (UBOs)
HIGH
21 May 16:48
19h
FX-INV-22A88 (Halton & Crane)
Buyer rejection · investigation
MED
20 May 13:22
1.2d
Live alerts (Gate 4)
Subject
Signal
Source
Director · Halton & Crane Limited Liability Partnership (LLP)
Adverse media — minor regulatory action
ComplyAdvantage
Yorkshire Schools Trust
Late payment · 5 Business Days (BD) past due on FX-INV-21F88
FinToken X
Pennine Asset Management LLP
FCA register status unchanged · routine refresh
FCA register

MLRO queue · /compliance/mlro-queue

Where Priya spends most of her day. Each entry is an onboarding file or an in-life subject that the rules say a human must decide on.

🔒 app.fintokenx.uk/compliance/submissions/sub_cop_g1k_77241

Coppergate Joinery Ltd · seller onboarding

FX-APP-77241 · Submitted 22 May 2026 11:02

Awaiting MLRO decision
Subject summary

Coppergate Joinery Ltd · Companies House (CH) 07452983 · Active · 12 years incorporated · 18 staff · ~£3.2M turnover

UBOs: Aisha Mahmood (62%), Daniel Hartley (38%) — both verified · Sumsub GREEN · ComplyAdvantage clear

Risk score

LOW · 14 / 100 · primary positive signals: company age, low UBO count, low-risk Standard Industrial Classification (SIC) industry

Source of funds (declared)

Trading revenue from joinery work, primarily for United Kingdom (UK) retail and education-sector buyers. Largest customer Northwind Retail (38% of revenue).

Provenance & evidence
  • CH lookup at 10:42 · status active · view
  • Sumsub identity (Aisha Mahmood) · GREEN at 10:54 · view payload
  • Sumsub identity (Daniel Hartley) · GREEN at 10:58 · view payload
  • ComplyAdvantage screening (entity + UBOs) · all clear at 11:01 · view payload
  • Confirmation of Payee (CoP) on bank account · matched at 11:01 · view payload
Your decision
Rationale (required, written to audit log)
Standard mandatory seller review. All gates passed. Risk model output LOW. UBO disclosure complete. CoP on bank verified. No reason to escalate. Approving.
Audit trail: on Approve, the audit log gets {action: 'MLRO_APPROVE', subject: 'sub_cop_g1k…', actor: 'sub_priya_lall', actor_role: 'compliance_officer', rationale_hash: '0x…', evidence_refs: […]}. Rationale is mandatory; the field cannot be empty. Decline path requires a structured reason from the decision matrix dropdown plus free-text; the subject sees only "we could not approve your application".

Suspicious Activity Reports · /compliance/sar

When a subject's behaviour is consistent with money laundering or financial crime, the MLRO files a SAR with the National Crime Agency. The console anonymises party names behind hashes — POCA §333A makes "tipping off" the suspect a criminal offence.

🔒 app.fintokenx.uk/compliance/sar

SAR register

Filings to the National Crime Agency. Subject names are hashed in this view; full identities visible only on the detail page to MLRO + nominated deputy.

Filed YTD
17
Open
3
NCA-acknowledged
14
Avg time to file
6.2h
From trigger to filing
SAR ID
Filed
Subject (hash)
Trigger
Status
SAR-2026-014
19 May
0xa11f…2b07
3 buyer rejections in 30 days · same supplier
Open
SAR-2026-013
12 May
0x7c92…ed18
Source-of-funds inconsistent with trading pattern
Acknowledged
SAR-2026-012
02 May
0xfd44…01a3
Sanctions match · post-onboarding delta
Acknowledged
Reminder. No information from this register may be shared, by any channel, with the subject of a filing. Tipping-off is a POCA §333A offence carrying up to 5 years' imprisonment. The subject continues to use the platform normally while the SAR is open, unless a separate freeze decision is made.

Pre-trade log · /compliance/pre-trade

Every secondary-market pre-trade check from investor T3 lands here. Priya samples 10% of trades for human audit; the regulator can pull the full log on demand.

🔒 app.fintokenx.uk/compliance/pre-trade

Pre-trade compliance log

Required by FCA / Bank of England Digital Securities Sandbox · last 30 days · 1,847 entries

Trade
Investor
Receivable
Pre-trade
Result
When
tr_kc8f…
Brunel Pension Partners
FXR-INV-23A4F-S2
7/7 yes
Settled
22 May 14:38
tr_2d11…
Brunel Pension Partners
FXR-INV-22Y91-S4
7/7 yes
Settled
22 May 11:14
tr_99af…
Northstar Capital LP
FXR-INV-21Q88-S1
No on Q4
Blocked
21 May 16:01
Anomaly detection: the system flags any investor with a streak of "yes-on-all" answers shorter than the 7-second median answer time, or any investor whose answer pattern is statistically unusual versus their peers. Anomaly entries surface to the top of this view automatically.

Decision matrix · /compliance/decision-matrix

The "if X happens, do Y" playbook. Priya owns this; engineering implements the rules; the regulator reads it as proof of consistency.

TriggerRoutes toOutcomeCustomer-facing message
Sumsub RED on a customer-side identityAuto-decline at Gate 1SUBJECT_DECLINED"We could not approve your application."
Sumsub YELLOW · all other gates greenMLRO queueManual decision"Your application is under review — we'll be in touch within 2 business days."
ComplyAdvantage match · sanctions listAuto-decline at Gate 2 + auto-SARSUBJECT_DECLINED · SAR opened"We could not approve your application."
ComplyAdvantage match · Politically Exposed Person (PEP) onlyMLRO queueEnhanced due diligence required before approval"Your application is under review."
Risk score HIGHMLRO queueManual decision"Your application is under review."
Buyer rejects an invoice (any subject)Compliance reviewInvestigate · open SAR if pattern"On hold while we check the details with both sides."
3 buyer rejections from same originator in 30dAuto-SAR + originator freezeSUBJECT_FROZEN · SAR opened"We've paused new submissions on your account while we conclude a routine review."
Lender FCA permission revokedCompliance review · auto-freezeSUBJECT_FROZEN_FCALender notified by direct email.
Investor pre-trade fails Q2 (sanctions)MLRO queueInvestigate · re-screen"We need to recheck your firm before any new trade."
On-chain Chainalysis attribution to a sanctioned walletAuto-freeze + MLRO queue + SARSUBJECT_FROZEN · SAR opened(none — POCA tipping-off)
Versioning: the matrix is versioned (v3.4 as of writing), every change requires Priya's signed approval, and the previous version remains queryable at /compliance/decision-matrix/v3.3. The active version is exported as part of the firm's quarterly Sandbox return.

Agent proposals · /compliance/ai-decisions

The compliance-ai service attaches a proposed verdict and a SparseScore explanation to every Gate 3 case, Gate 4 alert, and pre-trade entry. The proposal is advisory — Priya and her team remain the decision-makers. Full service spec in AI compliance.

What's new in the queue

The MLRO queue grows an Agent proposal column showing a verdict pill (approve / escalate / decline) and a confidence band. Clicking it opens the SparseScore panel without leaving the queue.

What's new on submission detail

A SparseScore card sits next to the existing risk-score card. It lists top signals with regulatory anchors (MLR 2017 sections, Markets in Financial Instruments Directive II (MiFID II) rules, Financial Action Task Force (FATF) typologies), confidence, and the counterfactual ("if X had been observed, the verdict would have been Y").

What's new on the pre-trade log

The existing "filter: anomalies only" control now defers to the agent's anomaly score. Streaks of "yes-on-all" rubber-stamps, sub-median answer times, and statistically unusual patterns rise to the top automatically.

Override accounting

Every accept / override of an agent proposal is a separate audit entry, with Priya's free-text rationale required. The "accepted vs overridden" rate is a tracked metric and a monthly reading for the MLRO.

Authority during cohort

Advisory only. The agent cannot file a SAR, cannot freeze a subject, cannot approve a gate, cannot move money. Every existing auto-rule (sanctions hit → freeze + SAR, 3 buyer rejections → originator freeze, etc.) is unchanged.

Fails closed

If the agent service is unreachable the queue continues to operate manually with the existing rule-based score. No customer flow is gated on agent availability. Operator console at /admin/compliance-ai shows live health and model version.

🔒 app.fintokenx.uk/compliance/submissions/sub_cop_g1k_77241

Coppergate Joinery Ltd · seller onboarding

FX-APP-77241 · Submitted 22 May 2026 11:02

Awaiting MLRO decision
Risk score (rule-based)

LOW · 14 / 100 · primary positive signals: company age, low UBO count, low-risk SIC industry

Agent proposal · SparseScore

approve · confidence 0.91 · compliance-ai v0.4.2 · policy seller-MLRO-v1

Top signals: company-age 12y (MLR 2017 §28 proportionate CDD) · UBOs both verified (MLR §5) · low-risk SIC (FATF typologies) · CoP matched · ComplyAdvantage clear (MLR §19).

Counterfactual: a PEP match on either UBO would flip verdict to escalate (MLR §35 enhanced due diligence).

Your decision
Rationale (required, written to audit log)
Standard mandatory seller review. Accepting agent proposal — signals consistent with my own read of the file. CoP matched, ComplyAdvantage clear, no escalation triggers.
Audit trail: on Accept, two audit entries fire — {action: 'AGENT_PROPOSE_VERDICT', actor: 'compliance-ai', verdict: 'approve', model_version: 'v0.4.2', ...} first, then Priya's {action: 'MLRO_APPROVE', actor: 'sub_priya_lall', accepted_agent_decision_id: '...', rationale_hash: '0x…'}. Acceptance never overwrites the agent's row — "agent was right / MLRO overrode" remains a queryable fact.

Lender & broker monitoring

Continuous (Gate 4) — both lender and broker monitoring run daily, with weekly summaries and alert-driven exceptions.

Lender monitoring · /compliance/lender-monitoring

  • FCA register status check (every 24h)
  • Sanctions / PEP refresh (monthly)
  • Defaults YTD per lender (rate & absolute)
  • Concentration breach attempts
  • Audit-trail anomalies (e.g. unusual override patterns)

Broker monitoring · /compliance/broker-monitoring

  • FCA register status check (every 24h)
  • Decline rate per broker (per 30-day rolling window)
  • Aggregator-pattern detection (lead spike + low conversion)
  • Per-agent activity for KYC review
  • Commission claw-back patterns

Retention & subject access · /compliance/retention

Records retention is a regulatory contract: 5 years for general Know Your Customer (KYC) and transaction records (MLR 2017), 6 years for SARs (NCA guidance). UK General Data Protection Regulation (GDPR) adds the duty to action subject access requests within 1 month.

Record classRetentionBasisWhat's exported on Data Subject Access Request (DSAR)
KYC / Know Your Business (KYB) evidence5 years post-relationship-endMLR 2017 §40Identity docs (with hash trail), screening results, MLRO rationale
Transaction records5 yearsMLR 2017 §40Invoice records, funding records, settlement records
SARs6 yearsNCA guidance + POCAExcluded — DSAR cannot reveal a SAR existed (POCA §333A)
Audit log10 years (sandbox phase) · 6 years (steady state)FCA Sandbox termsPer-actor entries relevant to subject
Pre-trade log5 yearsFCA Sandbox terms · MiFID IIPer-investor entries
Marketing communications2 yearsUK GDPREmail send + open events

Where it can go wrong

BranchWhat the team seesRecovery
MLRO queue Service-Level Agreement (SLA) breach (item > 5 BD age)Red banner on the queue + email digest to Priya · escalates to deputy after 7 BDDecision with rationale; SLA breach itself is an audit entry, not a customer-facing event
Sanctions match arrives during a live tradeTrade blocks at the chain compliance module; an alert opens; the trade returns "could not settle" to the investorInvestor's funds are returned; subject moves to SUBJECT_FROZEN pending MLRO
SAR mistakenly filedWithdrawal supplement to NCA; audit entry of withdrawalNo customer notification (POCA tipping-off applies even on withdrawal)
FCA Sandbox export request mid-monthGenerate package on demand from /compliance/specification; package includes pre-trade log, decision matrix version, MLRO queue status, SAR register summary (without identifiers)Delivered via the Sandbox portal