AML/CTF Compliance Platform

End-to-End Requirements Document

Chief Compliance Officer · Version 1.5 — Draft for review — 5 August 2026

Field Value
Document ID AML-REQ-001
Version 1.5 (Draft for review)
Date 3 August 2026
Owner Chief Compliance Officer (CCO)
Approvers CCO, CTO, Senior Management, External AML Counsel
Classification Internal — Confidential

Legal disclaimer. This document is a technical and operational requirements specification. It is not legal advice. Every obligation cited below must be validated against current FINTRAC guidance and confirmed by qualified Canadian AML counsel before go-live. FINTRAC revoked 86+ MSB registrations in Q1 2026 alone, disproportionately in the virtual currency sector — sign-off by counsel is not optional.

Contents

  1. Change Log
  2. Purpose & Scope
  3. Regulatory Basis & Obligation Register
  4. Current State Assessment
  5. Gap Analysis
  6. Target Architecture
  7. Functional Requirements
  8. Process Flows
  9. Rule Library — Starter Set
  10. Data Model & Canonical Events
  11. Integration Specifications
  12. Non-Functional Requirements
  13. Compliance Programme Governance
  14. Testing & UAT
  15. Go-Live Checklist
  16. Delivery Roadmap
  17. Risks, Assumptions & Open Items
  18. Glossary

Figures

0. Change Log

Version 1.1 — revised against confirmed platform status

Area v1.0 assumption v1.1 position
Travel Rule No solution — build or procure Sumsub is the Travel Rule provider. Downgraded from “absent” to “present but unconfigured for Canadian requirements”
Sanctions screening Vendor unknown; possibly Sumsub AML module Marble Screening is the chosen solution. Not yet implemented. Carries a licensing dependency (§4.3)
Rule engine Assumed integrated Confirmed integrated — this work is done
Alert management Assumed to exist within case management Does not exist. Rule engine decisions are not being captured. New blocking gap
Case management Assumed connected to monitoring Exists but is not linked to the compliance stack. New blocking gap

Version 1.2 — KYB confirmed live

Area v1.1 assumption v1.2 position
KYB / beneficial ownership Not built — blocking gap Built. Sumsub KYB is live in production and traces ownership through holding companies to ultimate natural persons. Removed as a gap

The residual issue is not collection but handoff: beneficial owner names sit in Sumsub and are not yet reaching Marble Screening. Until screening is live and that feed is built, no beneficial owner is checked against any sanctions list. See RSK-09 and FR-316.

What this changes materially

The most important revision is not any single module. It is that the platform currently detects without capturing. The Marble rule engine is integrated and producing decisions, but there is no alert management layer to receive them and no link into case management. Detection output is being generated and discarded.

From an examiner’s perspective this is a worse posture than having no monitoring at all. A firm with no monitoring has a capability gap. A firm whose system identifies risk and then drops it on the floor has a documented, timestamped record of having known something and done nothing with it. The alert-to-STR chain in §7.3 is the single most heavily examined path in any AML programme, and yours is currently severed in two places.

Phase 1 of the roadmap has therefore been reordered to close this loop before anything else is built.

1. Purpose & Scope

1.1 Purpose

Define the complete set of business, functional, technical and operational requirements necessary for the platform to operate lawfully as a FINTRAC-registered MSB dealing in virtual currency, and to survive a FINTRAC examination.

1.2 In scope

1.3 Out of scope (this document)

1.4 Audience

Compliance, Engineering, Product, Internal Audit, external AML counsel, and FINTRAC examiners.

2. Regulatory Basis & Obligation Register

2.1 Governing instruments

Instrument Relevance
Proceeds of Crime (Money Laundering) and Terrorist Financing Act (PCMLTFA) Primary AML/CTF statute
PCMLTFR (Regulations) Prescribed identification methods, records, report contents
Special Economic Measures Act (SEMA) Country/person sanctions programmes
United Nations Act (UN Act) regulations UN Security Council listings
Justice for Victims of Corrupt Foreign Officials Act (JVCFOA) Corrupt foreign official listings
Criminal Code s.83.05 Listed terrorist entities
Ministerial Directives (Iran, and others in force) Enhanced measures and mandatory reporting for specified jurisdictions
Retail Payment Activities Act (RPAA) Likely applicable — see §4.1

2.2 The five pillars of the compliance programme

Every requirement in this document traces back to one of these. FINTRAC examines all five.

# Pillar Evidence artefact
P1 Appointment of a Compliance Officer Board/senior management appointment record, job description, reporting line
P2 Written policies and procedures Approved P&P manual, version controlled, signed off by senior management
P3 Risk assessment Documented ML/TF risk assessment covering products, customers, geographies, delivery channels, technology
P4 Ongoing training programme Training plan, materials, attendance records, testing scores
P5 Biennial effectiveness review Independent review with sampling, walkthroughs, gap analysis, remediation plan, senior management sign-off

Note on P5. A one-page memo will not pass. FINTRAC expects a testing programme with documented sampling methodology, control walkthroughs, findings, and a tracked remediation plan.

2.3 Reporting obligation register

ID Report Trigger Deadline (verify against current FINTRAC guidance)
REP-1 LVCTR — Large Virtual Currency Transaction Report Receipt of virtual currency equivalent to CAD 10,000 or more in a single transaction, or via the 24-hour aggregation rule Within 5 working days
REP-2 LCTR — Large Cash Transaction Report Receipt of CAD 10,000 or more in cash, single or 24-hour rule Within 15 calendar days
REP-3 EFTR — Electronic Funds Transfer Report International EFT of CAD 10,000 or more, sent or received Within 5 working days
REP-4 STR — Suspicious Transaction Report Reasonable grounds to suspect a transaction (completed or attempted) is related to ML/TF As soon as practicable after measures are completed
REP-5 TPR — Terrorist Property Report Knowledge of property owned/controlled by a terrorist group or listed person Immediately
REP-6 LPEPR — Listed Person or Entity Property Report Property of a listed person under the Criminal Code / UN regulations Per FINTRAC guidance
REP-7 Sanctions evasion STR Suspicion of sanctions circumvention Same as STR
REP-8 Ministerial Directive reports Any transaction originating from or bound for a directive-designated jurisdiction (e.g. Iran) — regardless of amount Per directive

Critical. Each obligation is independent. Filing an STR does not discharge the LVCTR, LCTR or EFTR obligation. If a transaction triggers both, both must be filed. The single largest publicly reported crypto penalty in Canada (C$176.96M, October 2024) involved 1,068 unreported STRs in one month, 1,518 missed LVCTRs, and 7,557 unflagged Iran-linked transfers.

2.4 Threshold quick reference

Threshold Amount Applies to
Travel Rule (VCTR) CAD 1,000 Virtual currency transfers — originator & beneficiary information
VC identification / record CAD 1,000 Client identification and transaction record
Large VC transaction report CAD 10,000 LVCTR
Large cash / EFT CAD 10,000 LCTR / EFTR
Beneficial ownership 25% ownership or control Entity customers
Record retention 5 years From last transaction or account closure
FINTRAC information request 30 days Hard response deadline

3. Current State Assessment

3.1 Components in place

Capability Owner Build status Assessment
Identity verification Sumsub Built Must be mapped explicitly to FINTRAC-prescribed methods and evidenced per customer
Travel Rule Sumsub Built Vendor capability is strong; Canadian threshold logic, missing-information policy and record retention need configuration and proof
Crypto / address risk AMLBot Built Covers on-chain only; thresholds and action mapping need documenting
Transaction monitoring rules Marble Integrated Core engine working — the main remaining work is rule coverage and tuning evidence, not integration
Name / sanctions screening Marble Screening Not built Selected but not implemented. Licensing dependency — see §4.3
Alert management Not built Rule engine output is not being captured. Blocking
Case management Internal build Exists, not linked No connection to monitoring, screening or reporting. Blocking
24-hour aggregation Not built Blocking for LVCTR/LCTR/EFTR
Regulatory reporting Not built Blocking
KYB / beneficial ownership Sumsub Built Live in production, traced to ultimate natural persons. Remaining work is feeding those names into screening, not collecting them
Customer risk rating Not built Blocking — drives EDD and monitoring thresholds

3.2 Current architecture

Figure 1. Current-state architecture

Figure 1. Current-state architecture — red nodes are unbuilt or unconfirmed and block go-live

Red nodes are unbuilt. The amber node exists but is disconnected. The critical observation is the chain across the middle of the diagram: Marble Rule Engine → Alert Management → Case Management → FINTRAC Reporting is broken at every link. Rules fire, and nothing downstream receives the output.

3.3 Control ownership matrix

Where two vendors sit adjacent to each other, obligations fall into the seam between them. This matrix exists to make every seam explicit and assign it an owner.

Control Owner Seam risk
Individual identity verification Sumsub Prescribed-method mapping is yours, not Sumsub’s — Sumsub verifies, you must evidence which FINTRAC method was satisfied
Entity existence verification Sumsub (KYB) Built
Beneficial ownership identification Sumsub (KYB) Built and traced to natural persons. The seam is downstream: those names must be pushed into Marble Screening. Collection is solved; screening of what was collected is not
Name / sanctions / PEP screening Marble Screening Must receive names from Sumsub (customers, BOs, directors, signatories) and from transaction counterparties
Address / on-chain risk AMLBot Result must be an input to Marble decisioning, not a parallel silo
Travel Rule data exchange Sumsub Critical seam — Sumsub holds the messages, but the 5-year retention obligation is yours. Requires export into your own archive
Counterparty VASP due diligence Sumsub directory + your assessment Vendor directory is a starting point, not a substitute for your own risk rating
Transaction monitoring Marble rule engine Integrated
Alert capture and triage Unassigned — to build Currently nothing owns this
Investigation and STR decision Internal case management Currently disconnected
Reporting to FINTRAC Unassigned — to build Currently nothing owns this
24-hour aggregation Unassigned — to build Cannot be delegated to any current vendor
Record retention You No vendor discharges this for you

The rule to hold onto: a vendor performs a function; it never assumes your obligation. FINTRAC examines you, not Sumsub, Marble or AMLBot.

4. Gap Analysis

4.1 GAP-01 — RPAA registration (licensing, not technical) — BLOCKER

Your FINTRAC MSB registration covers AML obligations only. Because you operate a CAD fiat on/off-ramp and merchant payment settlement, and hold end-user fiat balances, you very likely also require registration as a Payment Service Provider with the Bank of Canada under the Retail Payment Activities Act. The RPAA is activity-based: purely crypto-to-crypto services are generally out of scope, but fiat on/off-ramps and wallets that hold fiat balances bring an entity into scope.

The RPAA operates entirely separately from FINTRAC — a valid MSB registration provides no defence. Registration requires an operational risk and incident response framework, an end-user funds safeguarding plan (safeguarded account with a qualified Canadian banking partner, plus insurance or guarantee), and ongoing reporting. Penalties for unregistered operation are severe.

Action: Legal determination required within 2 weeks. If in scope, this drives the critical path, not the AML build.

4.2 Technical and process gaps

ID Gap Severity Notes
GAP-02 No FINTRAC reporting capability Blocker No LVCTR/EFTR/STR generation or submission. Requires FINTRAC API enrolment (application + secret via the FINTRAC API portal) or FWR for low volume
GAP-02b No alert management layer Blocker Marble decisions are not captured. Detection output is generated and discarded. Highest-priority item in this document
GAP-02c Case management not linked Blocker No path from alert to investigation to STR. The chain FINTRAC examines most closely does not exist end to end
GAP-03 Travel Rule present but unconfigured for Canada High Sumsub provides the capability. What is unproven: CAD 1,000 threshold routing, missing-information policy, unhosted wallet handling, and retention of exchanged messages in your own archive
GAP-04 Sanctions screening selected but not implemented Blocker Marble Screening chosen. Not built. Licensing dependency and Canadian list coverage both unresolved — see §4.3
GAP-05 No 24-hour aggregation logic Blocker Required for LVCTR/LCTR. Must aggregate across same conductor/beneficiary within rolling 24h
GAP-06 No documented customer risk rating model Blocker Required input to EDD and monitoring thresholds
GAP-07 No KYB / beneficial ownership flow Closed Sumsub KYB live and tracing to natural persons. Verify against FR-201 to FR-206 and retain the evidence; no build required
GAP-07b Beneficial owner names not reaching screening Blocker The names exist in Sumsub. Nothing screens them. Fails silently — every dashboard looks healthy while a required control does not run
GAP-08 No Ministerial Directive handling Blocker Iran MD applies to all reporting entities as of 15 Nov 2025; all Iran-linked transactions reportable regardless of amount
GAP-09 Case management lacks regulatory workflow High No SLA clock, no four-eyes approval, no STR decision record, no immutable audit trail
GAP-10 Canadian list coverage in Marble Screening unproven High OpenSanctions carries the Canadian datasets, but coverage must be verified dataset-by-dataset against the authoritative government sources — see §4.3
GAP-11 No retrospective/lookback screening High List updates must re-screen the existing book
GAP-12 No compliance MI and audit reporting High Examination readiness
GAP-13 Five-pillar documentation not evidenced Blocker Risk assessment, P&P, training, effectiveness review
GAP-14 No merchant/OTC-specific controls High Merchant underwriting, settlement monitoring, source of funds
GAP-15 No CARF/RCASP data capture Medium CRA reporting from 2027 for calendar year 2026 — data must be captured now

4.3 GAP-04 detail — the Marble Screening dependency chain

Choosing Marble for screening is sound: it keeps screening and rules in one platform, one audit trail, one alert stream. But it introduces a three-link dependency chain, and every link must be resolved before screening can go live. This is a procurement item as much as an engineering one, which is why it sits in Phase 0 of the roadmap.

Link 1 — Marble Screening is a licensed feature. Screening is a premium offering within Marble and requires a licence key; it is not enabled by default in the open-source deployment you are already running. Deployment also has its own infrastructure requirements distinct from the rule engine.

Link 2 — the underlying data is OpenSanctions, which requires a commercial licence. Marble Screening is built on OpenSanctions data and matching. OpenSanctions is free for non-commercial use only; commercial users must hold a data licence or an API subscription. As an MSB you are unambiguously a commercial user.

Link 3 — Canadian dataset coverage must be explicitly verified. OpenSanctions does carry the Canadian lists, including the Consolidated Canadian Autonomous Sanctions List (SEMA and JVCFOA designations) and Criminal Code listed terrorist entities. But a global screening product does not necessarily enable Canadian datasets by default, and coverage must be confirmed list by list rather than assumed from a marketing claim of global coverage.

One caveat that must be written into the policy. The Consolidated Canadian Autonomous Sanctions List published by Global Affairs Canada is maintained for administrative purposes; it is not itself a regulation and does not carry force of law, and the published version may lag the regulations. The regulations are the law. Your procedures must therefore state that the consolidated list is a screening aid, and that a match — or a near-miss on a recently amended regulation — is resolved against the regulations themselves.

Screening frequency benchmark. OSFI supervises federally regulated financial institutions rather than MSBs, so its expectations do not bind you directly. They are nonetheless the clearest published Canadian benchmark, and an examiner will recognise them: screening at minimum weekly and daily for larger institutions, new client names checked at or as soon as reasonably possible after onboarding, the same measures applied to recorded beneficial owners and third parties, and screening integrated into transaction monitoring rather than run as a separate exercise. Marble refreshes sanctions data several times per day, so daily screening is achievable — adopt it, and document the choice.

5. Target Architecture

5.1 Logical architecture

Figure 2. Target logical architecture

Figure 2. Target logical architecture

5.2 Key design decision — the Compliance Orchestration Layer

Do not point every service directly at every vendor. Introduce a single orchestration layer that:

This is what makes the system explainable to an examiner: one place holds “what did we know, when did we know it, and what did we do”.

5.3 Deployment view

Figure 3. Deployment view

Figure 3. Deployment view

Data residency: host in a Canadian region. Confirm where Sumsub and AMLBot process and store personal data, and paper it in the vendor agreement — PIPEDA applies and FINTRAC expects records to be producible in Canada within 30 days.

6. Functional Requirements

Requirement convention: MUST = regulatory obligation or go-live blocker. SHOULD = strongly recommended. MAY = optional enhancement.

6.1 Module: Customer Onboarding — Individuals (FR-100)

ID Requirement Priority
FR-101 The system MUST verify the identity of every individual customer using a FINTRAC-prescribed method: (a) government-issued photo ID, (b) credit file method, or (c) dual-process method. The method used MUST be recorded per customer. MUST
FR-102 The system MUST record, at minimum: full legal name, date of birth, residential address, occupation or nature of principal business. MUST
FR-103 For the photo ID method, the system MUST record document type, issuing jurisdiction, document number, expiry, and confirmation the document was authentic, valid and current at the time of verification. MUST
FR-104 Where the dual-process method is used, the system MUST record both independent, reliable sources and the information each confirmed. MUST
FR-105 The system MUST determine whether the customer is a Politically Exposed Person (domestic or foreign), Head of an International Organisation, or a family member/close associate of one. MUST
FR-106 A foreign PEP determination MUST trigger mandatory senior management approval before the relationship proceeds, plus source of wealth and source of funds establishment. MUST
FR-107 The system MUST make a third-party determination — is the customer acting on behalf of another person or entity? Result recorded either way. MUST
FR-108 The system MUST re-verify or refresh customer information on a cycle driven by risk rating (see FR-401). MUST
FR-109 The system MUST capture the customer’s declared purpose and intended nature of the business relationship. MUST
FR-110 The system MUST support onboarding rejection with a recorded, coded reason, and MUST retain records of rejected applicants. MUST
FR-111 The system MUST NOT tip off a customer that an STR has been or may be filed. Rejection reason codes shown to customers MUST be sanitised. MUST
FR-112 The system SHOULD support step-up verification (re-KYC) triggered by behavioural change rather than only by calendar. SHOULD

6.2 Module: Customer Onboarding — Entities / KYB (FR-200)

Status: built. Sumsub KYB is live and traces ownership to ultimate natural persons. The requirements below therefore serve as a verification checklist rather than a build specification — walk the live flow against each one and retain the evidence, since an examiner will test the control, not the vendor’s capability. FR-207 is the exception: it depends on screening, which is not yet live.

ID Requirement Priority
FR-201 The system MUST verify the existence of every entity customer using a prescribed record (certificate of incorporation, annual return, partnership agreement, or equivalent). MUST
FR-202 The system MUST capture entity legal name, registered and operating addresses, business number, nature of business, and jurisdiction of incorporation. MUST
FR-203 The system MUST identify and record beneficial owners holding, directly or indirectly, 25% or more of ownership or control, traced to the ultimate natural person. MUST
FR-204 The system MUST record the ownership/control structure, including intermediate layers, and MUST take reasonable measures to confirm its accuracy. MUST
FR-205 Where beneficial ownership cannot be determined, the system MUST record that fact, treat the entity as high risk, and apply enhanced measures. MUST
FR-206 The system MUST identify and verify directors and authorised signatories/persons authorised to give instructions on the account. MUST
FR-207 The system MUST screen all beneficial owners, directors and signatories against sanctions and PEP lists (FR-300 series). MUST
FR-208 For merchant customers, the system MUST capture expected monthly volume, average ticket size, settlement currency, customer geography and business model, and MUST use these as the baseline for FR-500 monitoring. MUST
FR-209 The system MUST support periodic KYB refresh with automatic detection of registry changes where available. SHOULD

6.3 Module: Sanctions, PEP & Adverse Media Screening (FR-300)

ID Requirement Priority
FR-301 The system MUST screen every customer, beneficial owner, director, signatory and transaction counterparty by name against, at minimum: OSFI Consolidated List, UN Security Council lists, SEMA regulations, JVCFOA listings, and Criminal Code s.83.05 listed terrorist entities. MUST
FR-302 The system SHOULD additionally screen against OFAC SDN/Consolidated, EU, and UK OFSI lists, given USD/EUR correspondent exposure and counterparty risk. SHOULD
FR-303 Screening MUST occur at onboarding, before every transaction above the identification threshold, and continuously on list updates. MUST
FR-304 Sanctions lists MUST be refreshed at least daily, with automated delta detection and alerting on new or amended listings. MUST
FR-305 Any list update MUST trigger retrospective re-screening of the entire existing customer book within 24 hours. MUST
FR-306 Matching MUST use fuzzy logic covering transliteration variants, name order permutation, date-of-birth proximity and known aliases. Thresholds MUST be documented, tuned and version-controlled. MUST
FR-307 A confirmed true match against a listed person MUST immediately: freeze the account, block the transaction, prevent asset disposal, escalate to the CCO, and trigger TPR/LPEPR assessment. MUST
FR-308 Every match disposition (true/false positive) MUST be recorded with reviewer identity, timestamp, rationale and supporting evidence. False positives MUST be whitelisted with an expiry and a review owner. MUST
FR-309 The system MUST screen for PEP/HIO/RCA status at onboarding and periodically thereafter, per FR-105. MUST
FR-310 The system SHOULD perform adverse media screening for high-risk and business customers. SHOULD
FR-311 The system MUST maintain a complete, replayable history: which list version was used to screen which subject at what time, with the result. MUST
FR-312 Screening MUST fail closed — if the screening service is unreachable, transactions above threshold MUST be held, not released. MUST

Marble Screening implementation requirements

ID Requirement Priority
FR-313 The Marble Screening licence and an OpenSanctions commercial data licence MUST both be in place before screening goes live (§4.3). MUST
FR-314 Canadian datasets MUST be explicitly enabled and verified list by list: Consolidated Canadian Autonomous Sanctions List (SEMA and JVCFOA), UN Act listings, and Criminal Code listed terrorist entities. Verification MUST be evidenced by reconciling record counts and spot-checking entries against the authoritative government sources. MUST
FR-315 Procedures MUST record that the consolidated list is an administrative aid without force of law, and that matches and near-misses are resolved against the underlying regulations. MUST
FR-316 Screening MUST receive names from all upstream sources: customers and beneficial owners, directors and signatories from Sumsub KYB, and transaction counterparties from the core platform. Coverage MUST be reconciled — every name held in Sumsub MUST be screened in Marble. MUST
FR-317 Screening frequency MUST be at least daily, given Marble refreshes sanctions data several times per day. The chosen frequency MUST be documented with its rationale. MUST
FR-318 Screening alerts MUST flow into the same alert management layer as rule-engine alerts (FR-850), giving analysts one consolidated queue rather than two systems to watch. MUST
FR-319 Matching thresholds MUST be configured, documented and tuned against a test corpus before go-live, and MUST NOT be left at vendor defaults without a recorded assessment. MUST
FR-320 Any AI-assisted match filtering or noise reduction MUST be evidenced: what was suppressed, on what basis, and with what measured effect on false negatives. Suppression that cannot be explained to an examiner MUST NOT be enabled. MUST

On false-positive reduction. Screening tools market noise reduction as a headline benefit, and the operational case for it is real. But every suppressed match is a decision not to look at something. Tune for precision only after you have measured recall against a known test corpus, and never let a false-positive target drive configuration — the regulatory asymmetry is total, since a missed true match is a sanctions breach and a false positive is only analyst time.

6.4 Module: Blockchain Address & Counterparty Risk (FR-400)

ID Requirement Priority
FR-401 The system MUST screen every deposit address and every withdrawal destination address through AMLBot before crediting or releasing funds. MUST
FR-402 The system MUST capture and store the full AMLBot response: risk score, exposure categories, attributed entity, and the analysis timestamp. MUST
FR-403 Risk thresholds MUST be configurable, documented, and mapped to actions: auto-approve / hold for review / auto-reject. MUST
FR-404 Direct exposure to sanctioned addresses, darknet markets, ransomware, child exploitation material, or terrorist financing categories MUST result in an automatic block and immediate escalation. MUST
FR-405 The system MUST distinguish direct from indirect (hop-based) exposure and apply differentiated thresholds. MUST
FR-406 The system MUST detect and flag mixer, tumbler, privacy-protocol and cross-chain bridge interaction. MUST
FR-407 Withdrawal address screening MUST occur at the moment of withdrawal, not only at whitelist creation. MUST
FR-408 The system MUST support periodic re-screening of previously seen addresses, as attribution data changes retroactively. SHOULD
FR-409 Address screening results MUST be passed into Marble as decision inputs (see FR-505). MUST
FR-410 Where AMLBot is unavailable, the system MUST hold the transaction rather than release it. MUST
FR-411 The system MUST support manual analyst override with mandatory documented rationale and four-eyes approval. MUST

6.5 Module: Customer Risk Rating (FR-450)

ID Requirement Priority
FR-451 The system MUST assign every customer a risk rating derived from a documented, weighted model. MUST
FR-452 The model MUST consider at minimum: customer type, PEP status, geography (residence, nationality, transaction counterparties), product usage, delivery channel, expected vs actual activity, on-chain exposure profile, and adverse information. MUST
FR-453 Ratings MUST be recalculated on a schedule and on trigger events (adverse screening hit, alert, threshold breach, KYC change). MUST
FR-454 Risk rating MUST drive: review frequency, monitoring thresholds, EDD requirements, and approval authority. MUST
FR-455 High-risk customers MUST be subject to enhanced ongoing monitoring and review at least every 12 months. MUST
FR-456 Manual rating overrides MUST require senior compliance approval and a recorded rationale. MUST
FR-457 The model MUST be version-controlled; every rating MUST record which model version produced it. MUST

6.6 Module: Transaction Monitoring (FR-500)

ID Requirement Priority
FR-501 All transaction events MUST be ingested into Marble via the Ingestion API in near real time (target < 5 seconds). MUST
FR-502 The ingestion payload MUST include the full canonical event schema (§9) — partial payloads MUST be rejected, not silently accepted. MUST
FR-503 The system MUST call the Marble Decision API synchronously for all transactions requiring a pre-execution decision (withdrawals, transfers, merchant settlements). MUST
FR-504 Decision outcomes MUST be one of: APPROVE, REVIEW, BLOCK. Each MUST map to a defined system action. MUST
FR-505 Decision inputs MUST include customer risk rating, KYC status, sanctions screening result, AMLBot address risk, and historical behavioural aggregates. MUST
FR-506 The system MUST run both real-time rules and scheduled batch/behavioural scenarios (velocity, structuring, dormancy-then-burst, peer-group deviation). MUST
FR-507 Every rule MUST be version-controlled, with an owner, documented rationale, effective dates, and a link to the ML/TF risk it mitigates. MUST
FR-508 The system MUST support shadow/parallel rule deployment to measure alert volume and precision before a rule goes live. MUST
FR-509 The system MUST retain the complete decision record: rule version, all input values, output, and timestamp — replayable for examination. MUST
FR-510 Rule tuning MUST be evidenced: alert volumes, true/false positive rates, and tuning decisions logged and reviewed at least quarterly. MUST
FR-511 The system MUST monitor attempted transactions, including those rejected by the platform. Attempted suspicious transactions are STR-reportable. MUST
FR-512 Monitoring MUST cover both fiat and virtual currency legs of on/off-ramp transactions as a single linked activity. MUST
FR-513 If Marble is unavailable, the system MUST fail closed for above-threshold and high-risk transactions and queue events for replay. No event may be lost. MUST

6.7 Module: 24-Hour Aggregation (FR-550)

ID Requirement Priority
FR-551 The system MUST aggregate virtual currency receipts totalling CAD 10,000 or more within a rolling 24-hour window from or on behalf of the same person/entity, and generate an LVCTR obligation. MUST
FR-552 Equivalent logic MUST apply to cash (LCTR) and to international EFTs (EFTR). MUST
FR-553 Aggregation MUST link by customer identity, and additionally by beneficiary, conductor, and third party on whose behalf the transaction is conducted. MUST
FR-554 The system MUST apply a documented, consistent FX/crypto valuation methodology to determine CAD equivalence, recording the rate, source and timestamp used. MUST
FR-555 The valuation rate MUST be the rate at the time of the transaction, from a documented reliable source, retained for audit. MUST
FR-556 Aggregation windows MUST be rolling, not calendar-day buckets. MUST
FR-557 The system MUST generate a dashboard of pending, near-threshold and breached aggregations with report status. SHOULD

6.8 Module: Travel Rule — Sumsub (FR-600)

Sumsub is the Travel Rule provider and the capability is in place. The requirements below are therefore about configuration, Canadian specificity and evidence, not about building or procuring. The vendor solves counterparty reach; it does not solve your obligation.

ID Requirement Priority
FR-601 For every outbound virtual currency transfer of CAD 1,000 or more, the system MUST include originator information: name, address, and account/reference number. MUST
FR-602 Outbound transfers MUST include beneficiary name and account/reference number where obtainable. MUST
FR-603 For inbound transfers of CAD 1,000 or more, the system MUST take reasonable measures to obtain missing originator/beneficiary information and MUST record those measures. MUST
FR-604 The system MUST have a documented, risk-based policy for handling transfers with missing or incomplete information: accept with EDD, hold, return, or reject. Decisions MUST be recorded. MUST
FR-605 Travel Rule data MUST be transmitted as IVMS101 through Sumsub, which selects the wire protocol and routes to the counterparty. Payload construction MUST be built once against the IVMS101 model so protocol changes do not force a rewrite. MUST
FR-606 The system MUST perform counterparty VASP due diligence before exchanging Travel Rule data, and maintain a counterparty register with risk ratings. Sumsub’s VASP directory MAY seed this register but MUST NOT substitute for your own assessment. MUST
FR-607 Transfers to unhosted/self-hosted wallets MUST be identified and subject to a documented enhanced control set, including ownership attestation where risk warrants. MUST
FR-608 All Travel Rule messages sent and received MUST be exported from Sumsub into your own archive, retained for 5 years, and linked to the underlying transaction record. Retention held only in a vendor platform does not discharge the obligation — see FR-612. MUST
FR-609 Missing-information patterns MUST feed into transaction monitoring as a risk signal. SHOULD
FR-610 Threshold routing MUST be configured to the Canadian CAD 1,000 trigger. Jurisdictional rule bundles configured for other regimes (for example the EU’s zero-threshold TFR) MUST NOT be assumed to satisfy FINTRAC, and the configuration actually in force MUST be evidenced. MUST
FR-611 Counterparties reachable only via protocols Sumsub does not natively support (TRISA being the known case) MUST have a documented manual or email fallback path, with the same data content and the same retention. Reachability gaps MUST NOT silently become unsent Travel Rule data. MUST
FR-612 Travel Rule records MUST be producible to FINTRAC within 30 days independently of vendor availability. An export and restoration test MUST be performed before go-live and repeated annually. MUST
FR-613 Travel Rule outcomes — sent, received, incomplete, fallback — MUST be surfaced in compliance MI, so systemic counterparty failures are visible rather than buried in per-transaction records. SHOULD

6.9 Module: FINTRAC Regulatory Reporting (FR-700)

ID Requirement Priority
FR-701 The system MUST generate LVCTR, LCTR, EFTR and STR in FINTRAC-accepted format, satisfying all field-level validation rules published for API submission. MUST
FR-702 The system MUST submit reports via FINTRAC’s API report submission channel. Enrolment requires an application and secret obtained through the FINTRAC API portal; contact [email protected] to initiate. FWR web submission MUST be maintained as a documented fallback. MUST
FR-703 The system MUST pre-validate every report against FINTRAC validation rules before submission and surface field-level errors for correction. MUST
FR-704 The system MUST record submission confirmations, FINTRAC-assigned identifiers, rejections and resubmissions. MUST
FR-705 The system MUST track reporting deadlines per report type with escalating alerts at defined intervals before expiry. MUST
FR-706 STR narratives MUST be structured to cover: who, what, when, where, why suspicious, and how the transaction was conducted. Templates SHOULD be provided; the analyst MUST retain authorship and control. MUST
FR-707 STR filing decisions — including decisions not to file — MUST be recorded with full rationale, reviewer identity and timestamp. MUST
FR-708 The system MUST support STR extensions attached to LCTR/LVCTR/EFTR records where the same activity triggers both. SHOULD
FR-709 The system MUST support report amendment and correction workflows. MUST
FR-710 The system MUST enforce that each obligation is evaluated independently — filing one report type MUST NOT suppress evaluation of others. MUST
FR-711 The system MUST implement Ministerial Directive logic: transactions originating from or destined for a directive-designated jurisdiction (currently including Iran) MUST be flagged, treated as high risk, and reported per the directive regardless of amount. MUST
FR-712 The system MUST provide a reporting register showing every reportable event, its report status, deadline, and submission evidence — the primary examination artefact. MUST
FR-713 The system MUST support Terrorist Property Reports and Listed Person or Entity Property Reports, including manual/paper submission paths where required. MUST
FR-714 Reports and supporting evidence MUST be retained for 5 years in immutable storage. MUST

6.10 Module: Case Management (FR-800)

ID Requirement Priority
FR-801 Every alert MUST create a case with a unique identifier, source rule, triggering event and full context snapshot. MUST
FR-802 Cases MUST support prioritisation, assignment, queues by type and risk, and workload balancing. MUST
FR-803 Each case type MUST have a defined SLA with an automatic clock and breach escalation. MUST
FR-804 Investigators MUST be able to view the complete customer profile: KYC data, risk rating, transaction history, prior alerts and outcomes, screening results, on-chain exposure — without leaving the case. MUST
FR-805 Cases MUST support evidence attachment, structured investigation notes, and linkage of related cases and customers. MUST
FR-806 Case closure MUST require a coded disposition and free-text rationale. Closure without rationale MUST be blocked. MUST
FR-807 STR recommendations MUST route to a reviewer with appropriate authority — four-eyes principle, and the recommender MUST NOT be the approver. MUST
FR-808 The system MUST support escalation to the Compliance Officer and to senior management with recorded decisions. MUST
FR-809 All case actions MUST be captured in an append-only audit log recording actor, action, timestamp, before/after state. Records MUST NOT be deletable or editable in place. MUST
FR-810 The system MUST enforce role-based access control implementing the roles in §12.1a, the authority matrix in §12.1b, and the segregation rules SOD-01 to SOD-08. Segregation MUST be enforced by the system and MUST be visible in the interface — a disabled control that explains why is a demonstrable control; a silently missing one is not. MUST
FR-811 The system MUST support account restriction actions from within a case: freeze, withdrawal block, transaction limit, offboard. MUST
FR-812 The system MUST manage customer offboarding with exit reason, retention of all records, and a re-onboarding block list. MUST
FR-813 The system MUST support FINTRAC information requests and production orders, with 30-day response tracking and export packaging. MUST
FR-816 The system MUST support customer information requests (RFI/EDD) raised from an alert or case: source of funds, source of wealth, transaction purpose, counterparty relationship, updated identity documents, business documentation, beneficial ownership confirmation, wallet ownership attestation. MUST
FR-817 RFI wording MUST be drawn from a pre-approved template library. Free text MUST pass a tipping-off check warning on references to monitoring, rules, thresholds, suspicion, alerts, investigations or reporting. Where an STR is in progress for the same customer, free text MUST be disabled and only templates permitted. MUST
FR-818 Customers MUST NOT be able to infer which rule fired, what amount triggered review, or that a case exists. MUST
FR-819 Documents supplied in response MUST attach automatically to the originating case, be individually markable as satisfied or insufficient, and support repeat requests. MUST
FR-820 Each RFI MUST carry a response deadline with escalating reminders. Non-response MUST be recorded as a risk signal and MUST present documented options: restrict, escalate, or proceed on available information. MUST
FR-821 The internal case SLA MAY pause while genuinely awaiting a customer response, provided the paused duration is displayed separately. The regulatory clock MUST NOT pause — an STR is filed as soon as practicable regardless of whether the customer replied. Both clocks MUST be visible and distinct. MUST
FR-822 A customer under RFI MUST move to RESTRICTED, not FROZEN — deposits remain open so funds are not stranded, withdrawals held. MUST
FR-814 The system MUST enforce tipping-off controls: STR-related case content MUST be segregated from any customer-facing view. MUST
FR-815 The system SHOULD provide analyst productivity and quality metrics: throughput, cycle time, SLA adherence, QA sampling scores. SHOULD

6.10a Module: Alert Management (FR-850) — new, highest priority

This module does not exist today. The Marble rule engine is integrated and producing decisions; nothing captures them. Until this layer is built, every other detection control in this document is inert — a rule that fires into nothing has no compliance value, and the record that it fired is evidence against you rather than for you.

ID Requirement Priority
FR-851 Every REVIEW or BLOCK decision from the Marble rule engine MUST generate an alert record. No decision may be dropped, and delivery MUST be guaranteed, not best-effort. MUST
FR-852 Screening matches (FR-300) MUST generate alerts into the same queue as rule-engine alerts, giving one consolidated worklist rather than parallel systems. MUST
FR-853 Alerts MUST carry a full context snapshot at the moment of generation: triggering rule and version, all input values, customer profile, risk rating, screening result, AMLBot result and relevant transaction history. Analysts MUST NOT have to reconstruct context by hand. MUST
FR-854 Alerts MUST be deduplicated — repeated firings of the same rule on the same customer within a configurable window MUST group into one alert with an occurrence count, not flood the queue. MUST
FR-855 Alerts MUST be prioritised by a documented scoring model combining rule severity, customer risk rating and transaction value. MUST
FR-856 Alerts MUST be assignable, with queues by type and risk, and workload balancing across analysts. MUST
FR-857 Each alert type MUST carry an SLA with an automatic clock starting at generation and escalation on breach. MUST
FR-858 Alerts MUST promote to a case in the internal case management system (FR-870) with full context carried across, and no re-keying. MUST
FR-859 Alert outcomes MUST be recorded with coded dispositions and fed back into rule performance metrics, so tuning is evidence-driven (FR-510). MUST
FR-860 Alert backlog, ageing and SLA breach MUST be visible on the CCO dashboard in real time. A growing backlog is an early warning of under-capacity and MUST be treated as a compliance issue, not an operational one. MUST
FR-861 Alert generation MUST be resilient: if the alert store is unavailable, decisions MUST queue for replay with zero loss and MUST NOT be silently discarded. MUST
FR-862 No alert may be closed in bulk without individual review. Bulk closure MUST be blocked at the system level, not merely discouraged by policy. MUST

6.10b Module: Case Management Integration (FR-870) — new

Case management exists but is not connected to the compliance stack. These requirements cover the linkage; §6.10 covers the workflow the linked system must then support.

ID Requirement Priority
FR-871 Case management MUST receive cases automatically from alert management (FR-858). Manual case creation MUST remain available but MUST NOT be the primary path. MUST
FR-872 Cases MUST resolve a single, consistent customer identifier across Sumsub, Marble, AMLBot and the core ledger, so an investigator sees one customer rather than four fragments (DQ-05). MUST
FR-873 Case management MUST be able to retrieve, at investigation time: KYC and KYB records from Sumsub, screening results and match history from Marble, address risk and exposure from AMLBot, Travel Rule messages, and full transaction history. MUST
FR-874 Case outcomes MUST write back to the customer profile — risk rating changes, restrictions, offboarding — and those changes MUST take effect in monitoring and screening. A case that changes nothing downstream is not a control. MUST
FR-875 Case management MUST hand off to the report builder (FR-700) on an STR decision, carrying the investigation record and narrative. MUST
FR-876 The full chain — event, decision, alert, case, disposition, report, submission confirmation — MUST be traceable end to end from any single identifier, in one query. This traceability is what an examiner will ask for first. MUST
FR-877 Where the internal build cannot meet the §6.10 workflow requirements within the roadmap, procurement MUST be reassessed rather than the requirements relaxed. MUST

6.10c Module: Examination Workspace (FR-880) — new

Regulators and independent reviewers need access to evidence. They must not be given a login to the operational platform. Direct production access exposes data outside the scope of the examination — including unrelated customers — with no way to withdraw what has been seen, and no record of the boundary having been respected.

ID Requirement Priority
FR-881 The system MUST provide a scoped examination workspace separate from the operational interface. MUST
FR-882 Each examination MUST be created by the CCO with a named requesting authority, an explicit scope (named customers, date range, report types or case identifiers), a start date and a mandatory expiry date. MUST
FR-883 Data outside the defined scope MUST be inaccessible, not merely hidden from the interface. Scope MUST be enforced at the data access layer. MUST
FR-884 Examination access MUST be read-only. Write controls MUST be absent rather than disabled. MUST
FR-885 Within scope, the workspace MUST expose: customer files and verification evidence, transaction and decision records, alerts and cases with dispositions, submitted reports with confirmations, and the audit trail. MUST
FR-886 The workspace MUST answer “what controls were operating on a given date” — the rule versions, sanctions list versions and screening frequency in force at any selected point in time. MUST
FR-887 Every examination view MUST be logged and visible to the CCO in real time. MUST
FR-888 Exports MUST be watermarked with the examination reference and generation timestamp. MUST
FR-889 The CCO MUST be able to revoke access immediately. Access MUST auto-expire on the set date with prior warning. MUST
FR-890 The same mechanism MUST serve the Independent Reviewer for the biennial effectiveness review, scoped to the review period. MUST

6.11 Module: Record Keeping & Audit (FR-900)

ID Requirement Priority
FR-901 All prescribed records MUST be retained for 5 years from the last transaction or account closure, whichever is later. MUST
FR-902 Records MUST be retrievable and producible within 30 days of a FINTRAC request. MUST
FR-903 Audit logs MUST be immutable (WORM / object lock) and tamper-evident. MUST
FR-904 The system MUST retain: client identification records, transaction records, Travel Rule messages, screening results, risk ratings, decisions, case files, reports, submission confirmations, policy versions and training records. MUST
FR-905 Retention MUST be enforced automatically, including legal hold to suspend deletion. MUST
FR-906 The system MUST support a full evidence export package for examination, scoped by date range, customer or case. MUST
FR-907 Personal data MUST be encrypted at rest and in transit, with access logged. MUST

6.12 Module: Compliance MI & Oversight (FR-950)

ID Requirement Priority
FR-951 The system MUST provide a CCO dashboard covering alert volumes, case ageing, SLA breaches, reporting status and deadline risk, screening hit rates, and high-risk customer counts. MUST
FR-952 The system MUST produce a monthly compliance report for senior management. MUST
FR-953 The system MUST support QA sampling of closed cases with scoring and feedback loops. MUST
FR-954 The system MUST evidence rule performance to support tuning and the effectiveness review. MUST
FR-955 The system MUST support data extraction for the biennial effectiveness review, including sampling frames. MUST

7. Process Flows

7.1 Customer onboarding

Figure 4. Customer onboarding flow

Figure 4. Customer onboarding flow

7.2 Transaction decisioning — real time

Figure 5. Real-time transaction decisioning sequence

Figure 5. Real-time transaction decisioning sequence

7.3 Alert to STR

Figure 6. Alert to STR workflow

Figure 6. Alert to STR workflow

Independence check. The “No” branch at H closes the STR question only. LVCTR/LCTR/EFTR obligations for the same transaction are evaluated separately and are unaffected.

7.4 Travel Rule — outbound

Figure 7. Travel Rule — outbound transfer

Figure 7. Travel Rule — outbound transfer

7.5 LVCTR aggregation and filing

Figure 8. LVCTR aggregation and filing

Figure 8. LVCTR aggregation and filing

8. Rule Library — Starter Set

Thresholds below are illustrative starting points. Every one must be calibrated against your actual risk assessment and customer base, then tuned with evidence.

8.1 Threshold and structuring

Rule ID Scenario Logic Action
R-001 Large VC receipt Single receipt ≥ CAD 10,000 LVCTR obligation
R-002 24h VC aggregation Rolling 24h receipts ≥ CAD 10,000 LVCTR obligation
R-003 Structuring — just under ≥3 transactions between CAD 8,000–9,999 in 7 days Alert, high priority
R-004 Threshold avoidance pattern Repeated activity 85–99% of any reporting threshold Alert
R-005 Cash-equivalent structuring Multiple fiat deposits under threshold, same beneficiary Alert

8.2 Velocity and behaviour

Rule ID Scenario Logic Action
R-010 Rapid in-out (pass-through) Deposit followed by ≥90% withdrawal within 60 minutes Alert
R-011 Volume vs declared Actual 30d volume > 300% of declared expected Alert + KYC refresh
R-012 Dormancy burst No activity 90+ days, then >CAD 25,000 in 48h Alert, high priority
R-013 New account velocity >CAD 50,000 within 7 days of onboarding Alert
R-014 Peer group deviation Activity >3 standard deviations from risk-segment peers Alert
R-015 Round-amount pattern ≥5 identical round-value transactions in 30 days Alert

8.3 On-chain risk

Rule ID Scenario Logic Action
R-020 Sanctioned address Direct exposure to sanctioned entity Block + freeze + escalate
R-021 Severe category exposure Darknet / ransomware / CSAM / terrorist financing, direct Block + escalate
R-022 Mixer interaction Direct exposure to mixing service Hold for review
R-023 Indirect high-risk Indirect exposure above threshold within N hops Alert
R-024 Bridge / chain-hopping Cross-chain movement with obfuscation pattern Alert
R-025 High-risk exchange counterparty Counterparty VASP with weak AML rating Alert
R-026 New unhosted wallet, high value First transfer to unhosted wallet > CAD 10,000 Hold + attestation

8.4 Geography and sanctions

Rule ID Scenario Logic Action
R-030 Ministerial Directive jurisdiction Any transaction from/to Iran or other MD-designated jurisdiction, any amount Report + high risk + escalate
R-031 FATF call-for-action jurisdiction Counterparty in FATF blacklist jurisdiction Alert + EDD
R-032 FATF increased-monitoring Counterparty in FATF greylist jurisdiction Enhanced monitoring
R-033 Geographic inconsistency Login/IP geography inconsistent with declared residence Alert
R-034 Sanctions nexus Counterparty with ownership links to designated persons Escalate

8.5 Merchant and OTC specific

Rule ID Scenario Logic Action
R-040 Merchant volume spike Settlement volume >250% of trailing 3-month average Alert
R-041 Refund anomaly Refund ratio >15% of settlement volume Alert
R-042 Customer concentration >40% of merchant volume from a single payer Alert
R-043 Merchant business mismatch Transaction pattern inconsistent with declared MCC/business model Alert + review
R-044 OTC large trade Single OTC trade above defined threshold Pre-trade compliance approval
R-045 Third-party settlement Settlement instructions to a party other than the verified merchant Hold + investigate

8.6 Network and identity

Rule ID Scenario Logic Action
R-050 Shared device/IP cluster ≥3 unrelated accounts sharing device fingerprint or IP Alert — possible mule network
R-051 Shared bank account Same fiat funding instrument across multiple accounts Alert
R-052 Common address cluster Multiple customers transacting with the same on-chain cluster Alert
R-053 Rapid credential change Bank details or withdrawal address changed then immediate large withdrawal Hold

9. Data Model & Canonical Events

9.1 Core entities

Figure 9. Core compliance data model

Figure 9. Core compliance data model

9.2 Canonical compliance event

Every business event MUST be normalised to this shape before entering the compliance layer. This is the contract between core platform and compliance.

{
  "event_id": "uuid",
  "event_type": "DEPOSIT|WITHDRAWAL|TRANSFER|EXCHANGE|SETTLEMENT|ATTEMPT",
  "event_timestamp": "ISO8601",
  "customer": {
    "customer_id": "string",
    "customer_type": "INDIVIDUAL|ENTITY",
    "kyc_status": "VERIFIED|PENDING|EXPIRED|REJECTED",
    "risk_rating": "LOW|STANDARD|HIGH",
    "risk_model_version": "string",
    "pep_status": "NONE|DOMESTIC|FOREIGN|HIO|RCA",
    "jurisdiction": "ISO3166",
    "onboarding_date": "ISO8601"
  },
  "transaction": {
    "transaction_id": "string",
    "direction": "INBOUND|OUTBOUND|INTERNAL",
    "asset": "BTC|ETH|USDT|CAD|...",
    "amount": "decimal",
    "amount_cad": "decimal",
    "fx_rate": "decimal",
    "fx_source": "string",
    "fx_timestamp": "ISO8601",
    "status": "PENDING|COMPLETED|REJECTED|ATTEMPTED"
  },
  "counterparty": {
    "type": "VASP|UNHOSTED|INTERNAL|BANK|MERCHANT",
    "name": "string|null",
    "vasp_id": "string|null",
    "address": "string|null",
    "chain": "string|null",
    "bank_details": "object|null"
  },
  "screening": {
    "sanctions_status": "CLEAR|POTENTIAL_MATCH|CONFIRMED_MATCH|NOT_SCREENED",
    "sanctions_list_version": "string",
    "address_risk_score": "number|null",
    "address_risk_categories": ["string"],
    "address_exposure_type": "DIRECT|INDIRECT|NONE",
    "screening_timestamp": "ISO8601"
  },
  "travel_rule": {
    "required": "boolean",
    "status": "SENT|RECEIVED|INCOMPLETE|NOT_REQUIRED",
    "originator": "object|null",
    "beneficiary": "object|null"
  },
  "channel": {
    "source": "WEB|MOBILE|API|OTC",
    "ip": "string",
    "device_fingerprint": "string",
    "geo": "ISO3166"
  },
  "aggregates": {
    "rolling_24h_cad": "decimal",
    "rolling_7d_cad": "decimal",
    "rolling_30d_count": "integer",
    "declared_expected_monthly_cad": "decimal"
  }
}

9.3 Data quality requirements

ID Requirement
DQ-01 Mandatory fields MUST be validated at ingestion. Events failing validation go to a dead-letter queue with alerting — never silently dropped.
DQ-02 Every event MUST carry an idempotency key; duplicate ingestion MUST NOT create duplicate alerts or duplicate reports.
DQ-03 Completeness MUST be monitored: daily reconciliation of ledger transaction count against ingested event count, with variance alerting at zero tolerance.
DQ-04 FX/valuation sources MUST be documented, consistent, and retained.
DQ-05 Customer identifiers MUST be stable and consistent across Sumsub, Marble, AMLBot and case management.

10. Integration Specifications

10.1 Integration map

# Integration Direction Mode Criticality
I-1 Core → Compliance Orchestrator Push Async queue Critical
I-2 Orchestrator → Sumsub (KYC/KYB) Request/response + webhook Sync + async Critical — built
I-2b Orchestrator ↔ Sumsub Travel Rule Bidirectional + webhook Sync + async Critical — built, needs Canadian config
I-2c Sumsub → your archive (Travel Rule + KYC export) Pull Scheduled Critical — not built
I-3 Orchestrator → AMLBot Request/response Sync Critical — built
I-4 Orchestrator → Marble Ingestion API Push Async, near real time Critical — built
I-5 Orchestrator → Marble Decision API Request/response Sync Critical — built
I-5b Orchestrator → Marble Screening API Request/response Sync Critical — not built
I-6 Marble → Alert Management Push/poll Async Critical — not built
I-6b Alert Management → Case Management Push Async Critical — not built
I-7 Marble Screening → OpenSanctions data Pull Vendor-managed, multiple times daily Critical — licence required
I-8 Report Builder → FINTRAC API Push Sync Critical — not built
I-9 Sumsub Travel Rule ↔ Counterparty VASPs Bidirectional Sync Critical — vendor-managed
I-9b Manual/email Travel Rule fallback (e.g. TRISA-only counterparties) Bidirectional Manual High — not built
I-10 All components → Immutable Audit Log Push Async, guaranteed delivery Critical

10.2 Integration requirements

ID Requirement
INT-01 All external calls MUST use TLS 1.2+ with certificate pinning where supported.
INT-02 Credentials MUST be stored in a secrets manager, rotated on a defined schedule, never in code or config files.
INT-03 Every integration MUST implement timeout, retry with exponential backoff, and circuit breaking.
INT-04 Circuit-breaker open state MUST trigger the documented fail-closed policy for above-threshold transactions and page the on-call compliance contact.
INT-05 All requests and responses MUST be logged with correlation IDs traceable end to end.
INT-06 Every integration MUST have a documented, tested manual fallback procedure.
INT-07 Vendor SLAs, uptime and support escalation paths MUST be contractually defined and monitored.
INT-08 A sandbox/test environment MUST exist for every integration, including FINTRAC’s test submission environment.
INT-09 Personal data transmitted to vendors MUST be minimised to what each vendor genuinely needs.
INT-10 Vendor risk assessments MUST be completed before go-live and reviewed annually — including data residency and sub-processor disclosure.

10.3 Marble specifics

ID Requirement
CM-01 Ingestion API MUST receive the full canonical event including all enrichment; Marble MUST NOT need to call back for context.
CM-02 Data model in Marble MUST mirror §9.1 entities so scenarios can reference customer, transaction and counterparty attributes.
CM-03 Scenario versions MUST be managed as code with peer review and change approval.
CM-04 Decision API responses MUST be persisted in full, including the rule/scenario version that produced them.
CM-05 Decision latency MUST be monitored; p99 target defined in §11.
CM-06 Scenario changes MUST be tested in a non-production environment against replayed historical data before promotion.
CM-07 If Marble Screening is used for sanctions (it is), its Canadian list coverage MUST be validated per FR-314 before reliance, and the licence chain in §4.3 MUST be complete.

11. Non-Functional Requirements

ID Category Requirement
NFR-01 Availability Compliance decisioning path: 99.9% monthly uptime
NFR-02 Latency Real-time decision p95 < 500 ms, p99 < 2 s
NFR-03 Throughput Sized to 10× current peak transaction volume
NFR-04 Ingestion lag Event to Marble < 5 s at p95
NFR-05 Screening refresh Sanctions lists refreshed at least daily; full book re-screen within 24h of a list change
NFR-06 Durability Zero event loss — guaranteed delivery with dead-letter capture and replay
NFR-07 Recovery RPO ≤ 15 min, RTO ≤ 4 h for compliance systems
NFR-08 Retention 5 years minimum, immutable, with legal hold
NFR-09 Encryption AES-256 at rest, TLS 1.2+ in transit
NFR-10 Access control RBAC + MFA for all compliance systems; least privilege
NFR-11 Audit Every read and write of customer compliance data logged
NFR-12 Data residency Canadian hosting; vendor processing locations documented and contracted
NFR-13 Segregation Non-production environments MUST use masked or synthetic data
NFR-14 Observability Alerting on decision failures, ingestion lag, queue depth, vendor errors, SLA breaches
NFR-15 Change management All rule, threshold and model changes through documented approval with rollback
NFR-16 Capacity Alert volumes forecast and analyst staffing modelled against them before go-live
NFR-17 Privacy PIPEDA compliance; privacy impact assessment completed; retention aligned to the 5-year obligation

12. Compliance Programme Governance

12.1 Documentation deliverables

ID Artefact Owner Blocking?
DOC-01 Compliance Officer appointment record + job description + reporting line to senior management Senior Mgmt Yes
DOC-02 AML/CTF Policies & Procedures Manual CCO Yes
DOC-03 Enterprise ML/TF Risk Assessment (products, customers, geographies, channels, technology) CCO Yes
DOC-04 Customer Risk Rating Methodology CCO Yes
DOC-05 KYC/KYB Procedures incl. prescribed methods CCO Yes
DOC-06 EDD Procedures CCO Yes
DOC-07 Sanctions Compliance Policy CCO Yes
DOC-08 Transaction Monitoring Rule Rationale Document (every rule → risk it mitigates) CCO/Eng Yes
DOC-09 STR Decision Procedures + narrative standards CCO Yes
DOC-10 Reporting Procedures (all report types, deadlines, escalation) CCO Yes
DOC-11 Travel Rule Policy incl. missing-information handling CCO Yes
DOC-12 Record Retention Policy CCO Yes
DOC-13 Training Programme + materials + attendance records CCO Yes
DOC-14 Biennial Effectiveness Review plan and methodology CCO/Independent Yes
DOC-15 Ministerial Directive Procedures CCO Yes
DOC-16 Vendor/Outsourcing Risk Assessments CCO/Ops Yes
DOC-17 Model Validation & Tuning Procedures CCO/Eng Yes
DOC-18 Business Continuity for compliance functions Ops Yes
DOC-19 RPAA operational risk framework + end-user funds safeguarding plan (if in scope) CTO/CCO If applicable
DOC-20 Sanctions disclosure procedures — RCMP and CSIS channels, distinct from FINTRAC reporting Sanctions Officer Yes
DOC-21 Internal suspicion escalation procedure, communicated to all staff Nominated Escalation Officer Yes
DOC-22 Privacy policy and privacy impact assessment (PIPEDA) Privacy Officer Yes
DOC-23 On-call compliance rota and outage response procedure CCO Yes
DOC-24 Independent model validation report Model Validator Yes

12.1a Compliance roles and segregation of duties

FINTRAC requires an appointed Compliance Officer. It does not prescribe the rest of the structure — but it does examine whether decisions were made by people with appropriate authority and independence. The roles below are the minimum functional set; on a small team one person may hold several, subject to the prohibited combinations in §12.1c.

Role Owns Key functions Prohibited from
Chief Compliance Officer The programme Appointed under PCMLTFA and named to FINTRAC. Final STR sign-off. Approves risk assessment, P&P, risk rating model, foreign-PEP relationships. Owns FINTRAC examinations and information requests. Reports to senior management Conducting the independent effectiveness review of their own programme
Deputy Compliance Officer Continuity Acts with full CCO authority when delegated; delegation recorded with dates and scope Operating permanently without recorded delegation
KYC / Onboarding Analyst Onboarding decisions Reviews referrals not auto-cleared by Sumsub. Verifies KYB ownership structures and beneficial owner tracing. Collects source of wealth and source of funds for EDD Self-approving high-risk or PEP onboarding
Sanctions / Screening Analyst Match disposition Dispositions potential matches with recorded evidence. Maintains whitelist with expiry and named owner. Monitors list deltas and retrospective re-screening. Escalates confirmed matches directly to the CCO Whitelisting a high-similarity match without second review
Transaction Monitoring Analyst (L1) Alert triage Works alerts within SLA. Closes false positives with coded disposition and rationale. Escalates to L2 Bulk closure; making a suspicion determination
Senior Investigator (L2) Investigations Full investigation, on-chain tracing, RFIs conducted without tipping off. Drafts STR narratives. Recommends account actions Approving an STR they drafted
STR Reviewer Four-eyes control Independent review of narrative, sufficiency and rationale before CCO sign-off Reviewing an STR they drafted
Reporting Officer The reporting register LVCTR/LCTR/EFTR queue and deadline management. Field validation, submission, rejection handling, amendments, submission evidence Suppressing an obligation raised by the system
QA Reviewer Decision quality Samples closed alerts and cases, scores against documented standards, feeds findings into training Sampling their own work
Rule / Model Owner Detection logic Rule library, thresholds, version control, tuning evidence, model validation Deploying a rule change without separate approval
Senior Management Resourcing and approval Approves P&P, risk assessment and compliance headcount. Receives monthly MI. Approves foreign PEP relationships Delegating accountability to the CCO and disengaging
Independent Reviewer Biennial effectiveness review Sampling methodology, control walkthroughs, gap analysis, remediation plan Having designed or operated the programme under review
Auditor / Examiner Read-only access Full read access for audit and examination; every view logged Any write action

A note on terminology. Other jurisdictions use Money Laundering Reporting Officer (MLRO — UK, EU, Singapore, UAE, Cayman) or Chief Anti-Money Laundering Officer (CAMLO — used by Canadian federally regulated financial institutions). Under the PCMLTFA the statutory role is simply the Compliance Officer, which is the CCO above. If the business later operates under another regime, expect the MLRO title and its specific nominated-officer duties to apply there in addition, not instead.

12.1a-ii Roles beyond the second line

The roles above are almost entirely second-line. A compliance programme that exists only in the second line fails examination, because the first line is where risk is actually seen and the third line is what proves the whole thing works.

Role Line Owns Key functions
Customer-facing staff / OTC dealers / merchant onboarding First Day-to-day risk identification Apply pre-trade and pre-onboarding checks. Escalate anything unusual to the nominated officer. Never tip off. Complete role-specific training. This is where most suspicion originates
Nominated Escalation Officer Second The internal reporting channel The single named individual to whom any employee reports suspicion, via a documented channel available to every member of staff. Logs every internal report, including those not escalated further, with rationale. Usually the CCO or Deputy, but the role MUST be named and communicated
Sanctions Officer Second The sanctions programme Owns obligations under SEMA, the UN Act and the JVCFOA — separate statutes from the PCMLTFA. Owns the duty to disclose designated-person property to the RCMP and CSIS, which is a distinct channel and deadline from FINTRAC reporting. Owns asset-freeze execution, licence and permit applications, and sanctions risk assessment. May be held by the CCO, but the distinct obligation set MUST be documented
Privacy Officer Second PIPEDA accountability The designated individual accountable for personal information. Owns the privacy impact assessment, vendor data-residency positions, retention alignment, breach response, and access-request handling
Vendor / Outsourcing Owner Second Third-party risk Owns Sumsub, Marble and AMLBot relationships: SLAs, uptime, support escalation, data residency and sub-processor changes, annual risk reassessment, and exit planning. A vendor performs a function; it never assumes your obligation
Records / Information Governance Owner Second Retention and production 5-year retention enforcement, legal hold, immutability, and the 30-day FINTRAC production clock. Owns the evidence export capability and tests restoration annually
On-Call Compliance Contact Second Out-of-hours coverage Receives circuit-breaker pages when a compliance service fails. Decides whether to hold, restrict or suspend activity. Documents outage duration — an examiner will ask which controls were operating on a given date
Independent Model Validator Third Model assurance Validates the risk rating model and rule logic independently of the Rule/Model Owner. Validation performed by the person who built the model is not validation
CARF / RCASP Reporting Owner Second CRA tax reporting Owns crypto-asset reporting to the Canada Revenue Agency from 2027 on calendar-2026 data. A different regulator and a different data set from FINTRAC — see §16.3 O-09
Board / Board Risk Committee Governance Ultimate oversight Approves risk appetite. Receives the biennial effectiveness review and the remediation plan. Distinct from day-to-day senior management
Operational Risk & Incident Officer Second RPAA, if in scope Owns the operational risk management framework, incident response and reporting to the Bank of Canada, and the end-user funds safeguarding plan. Applies only if the RPAA determination in §4.1 is positive

Why the Sanctions Officer is called out separately. It is tempting to fold sanctions into AML because the screening tooling is shared. The obligations are not. Sanctions arise under different statutes, are strict liability, require disclosure to the RCMP and CSIS rather than FINTRAC, and carry an immediate rather than a scheduled deadline. Filing a Terrorist Property Report to FINTRAC does not discharge the SEMA disclosure duty, and vice versa. If one person holds both roles — which is reasonable at your scale — the two obligation sets MUST still be separately documented and separately evidenced.

12.1b Role authority at each decision point

Decision Recommends Approves
Standard onboarding System System
High-risk onboarding KYC Analyst CCO
Foreign PEP relationship KYC Analyst Senior Management
Sanctions match disposition — false positive Screening Analyst Second reviewer where similarity is high
Sanctions match disposition — true match Screening Analyst CCO (immediate)
Alert closure as false positive L1 Analyst L1 Analyst
Escalation to investigation L1 Analyst L2 Investigator
STR filing L2 Investigator STR Reviewer, then CCO
Decision not to file an STR L2 Investigator Senior Investigator or CCO, recorded with rationale
Account freeze — sanctions System (automatic) CCO notified immediately
Account restriction or offboarding L2 Investigator CCO
Regulatory report submission System raises obligation Reporting Officer
Disclosure of designated-person property to RCMP / CSIS Sanctions Officer CCO — immediate, separate from any FINTRAC filing
Internal suspicion report from any employee Any staff member Nominated Escalation Officer logs and triages
Compliance service outage response On-call Compliance Contact CCO where activity is suspended
Vendor change or sub-processor addition Vendor Owner CCO
Risk model validation sign-off Independent Model Validator CCO and Senior Management
Rule or threshold change Rule Owner CCO
Risk model change Rule Owner CCO and Senior Management

12.1c Segregation of duties — enforced in software

These MUST be enforced by the system, not by policy alone. Policy-only segregation fails under workload pressure and cannot be evidenced to an examiner.

ID Rule
SOD-01 The STR drafter MUST NOT be able to approve or sign off that STR. The control MUST be visible in the interface, not silently applied
SOD-02 A QA reviewer MUST NOT be able to sample a case they worked
SOD-03 A rule change requester MUST NOT be able to approve their own change
SOD-04 Bulk closure of alerts MUST be blocked at system level
SOD-05 The independent reviewer MUST have no operational role in the programme
SOD-06 Auditor accounts MUST have no write capability of any kind
SOD-07 Where one person necessarily holds two roles, the conflicting pair MUST be escalated to a second individual for that transaction, and the arrangement documented in the P&P
SOD-08 The system MUST warn on role assignment that creates a prohibited combination
SOD-09 The Independent Model Validator MUST NOT be the Rule/Model Owner
SOD-10 The Vendor Owner MUST NOT be the sole approver of a vendor risk assessment they authored
SOD-11 The Nominated Escalation Officer MUST be reachable by every employee through a channel that does not route through their line manager

On small teams. A firm at your stage may reasonably run with a CCO, a deputy, two analysts, and outsourced QA and independent review. That is defensible. What is not defensible is one person drafting and approving the same STR, however small the team — that pair always requires a second individual.

12.2 Training requirements

ID Requirement
TRN-01 All employees, agents and mandataries who deal with customers, handle transactions, or implement the programme MUST be trained.
TRN-02 Training MUST cover: PCMLTFA obligations, ML/TF and sanctions typologies specific to virtual currency, red flag indicators, reporting duties, tipping-off prohibition, escalation, and their own role’s procedures.
TRN-03 Training MUST occur at onboarding and at least annually thereafter, with refreshers on material regulatory change.
TRN-04 Comprehension MUST be tested and scores recorded.
TRN-05 Attendance, materials and version history MUST be retained as examination evidence.
TRN-06 Role-specific deep training MUST be provided to compliance analysts.
TRN-07 Training MUST be mapped to the roles in §12.1a, so each person’s curriculum matches the decisions they are authorised to make.

12.3 Governance cadence

Frequency Activity
Daily Sanctions list delta review; alert queue and SLA monitoring; reporting deadline check
Weekly Case ageing review; escalation review; rule performance snapshot
Monthly Compliance MI to senior management; QA sampling of closed cases; reporting completeness reconciliation
Quarterly Rule tuning review; risk rating model review; vendor performance review
Annually Risk assessment refresh; training cycle; policy review; vendor risk reassessment
Biennially Independent effectiveness review with sampling, walkthroughs, gap analysis, remediation plan, senior management sign-off

13. Testing & UAT

13.1 Test coverage

ID Test area Approach
T-01 KYC prescribed methods Positive/negative cases per method; expired, altered and mismatched documents
T-02 Beneficial ownership tracing Multi-layer structures, circular ownership, undeterminable ownership
T-03 Sanctions matching Known-list test entities; transliteration, name-order, alias and DOB-proximity variants; measure false positive and false negative rates
T-03b Screening coverage reconciliation Assert every name held in Sumsub — customers, beneficial owners, directors, signatories — has a corresponding screening record in Marble. Any unmatched name is a defect
T-03c Canadian dataset verification Reconcile Marble/OpenSanctions record counts against Global Affairs Canada and Criminal Code sources; spot-check recent designations appear within the refresh window
T-03d Alert capture completeness Generate N rule-engine decisions; assert exactly N alerts exist. Zero tolerance for loss — this is the control that does not exist today
T-03e Alert-to-case-to-report chain End-to-end traceability from a single transaction identifier through alert, case, disposition, report and submission confirmation
T-04 Retrospective re-screening Add a test entity to a list; verify full-book re-screen completes within 24h
T-05 Address screening Known-risk test addresses across categories; direct vs indirect exposure
T-06 Rule firing Synthetic transaction sets designed to trigger each rule in §8; verify exactly the expected rules fire
T-07 24-hour aggregation Boundary cases: 23h59m, 24h01m, multi-currency, multi-account same beneficial owner
T-08 FX valuation Verify rate selection, source and retention; verify CAD equivalence at boundaries
T-09 Report generation Every report type against FINTRAC field validation rules; deliberate invalid-field cases
T-10 FINTRAC submission End-to-end in FINTRAC test environment incl. rejection and resubmission
T-11 Travel Rule Send/receive, missing information, unhosted wallet, unresponsive counterparty
T-12 Case workflow SLA clock, escalation, four-eyes enforcement, closure-without-rationale blocked
T-13 Tipping-off controls Verify no STR-related content is reachable from customer-facing surfaces
T-14 Fail-closed behaviour Simulate outage of each vendor; verify holds, queuing, replay, and zero event loss
T-15 Audit immutability Attempt record modification and deletion; verify prevention and alerting
T-16 Access control Every role against every function; privilege escalation attempts
T-17 Retention & retrieval 5-year retention enforcement; legal hold; 30-day production simulation
T-18 Ministerial Directive Iran-linked transactions at all amounts including well below thresholds
T-19 Load 10× peak volume with latency and queue-depth measurement
T-20 Recovery Failover, backup restore, RPO/RTO validation

13.2 UAT acceptance criteria

14. Go-Live Checklist

14.1 Regulatory

14.2 Technical

14.3 Operational

15. Delivery Roadmap

Figure 10. Delivery roadmap

Figure 10. Delivery roadmap

Sequencing logic. Three things drive this order.

Phase 0 is cheap and slow. Legal determinations, FINTRAC API enrolment and the Marble/OpenSanctions licences all have external lead times you cannot compress by adding engineers. Start them in week 1 even though none of them produce visible progress.

Phase 1 closes the detection loop before anything else is built. This is the change from v1.0. Alert management, case management linkage and screening now precede the reporting stack, because reporting has nothing to report from until alerts are captured and investigated. Building the report builder first would produce a submission pipeline with an empty intake.

Phase 3 is lighter than in v1.0. The rule engine is integrated and Sumsub already provides Travel Rule, so what remains there is configuration, evidence and tuning rather than construction.

On the go-live date. 15 March 2027 assumes Phase 0 starts immediately and RPAA does not apply. If RPAA is in scope, the Bank of Canada review adds roughly 60–90 days for a complete application on top of 3–6 months building the operational risk framework and end-user funds safeguarding plan — and that becomes the binding constraint, not this AML build.

16. Risks, Assumptions & Open Items

16.1 Key risks

ID Risk Impact Mitigation
RSK-01 RPAA registration required but not obtained Unlawful operation, penalties up to CAD 10M per violation, potential officer liability Legal determination in week 1; if in scope, this leads the critical path
RSK-02 FINTRAC registration revoked for programme inadequacy Business termination Counsel review; 86+ revocations in Q1 2026 alone, concentrated in crypto
RSK-03 Missed reporting obligations at launch Direct penalty exposure — the largest Canadian crypto penalty involved missed LVCTRs and unreported STRs Reporting register as primary control; deadline alerting; parallel run
RSK-04 Alert volume exceeds analyst capacity Backlog, SLA breach, late STRs Forecast during parallel run; staff before go-live; tune with evidence, never suppress to reduce volume
RSK-04b Detection without capture continues The rule engine records that risk was identified while no one acted. This is affirmatively worse than no monitoring — it creates a timestamped record of knowledge without response Phase 1 closes the loop. Until it does, treat the current rule output as an unmonitored liability and consider manual review of decisions in the interim
RSK-04c Marble/OpenSanctions licensing not secured in time Screening cannot go live; the whole Phase 1 chain stalls Commercial negotiation started week 1, in parallel with engineering rather than after it
RSK-04d Canadian list coverage assumed rather than verified Screening runs and appears healthy while missing Canadian designations entirely — a silent failure mode FR-314 dataset-by-dataset verification with record-count reconciliation against government sources
RSK-04e Travel Rule configured to the wrong jurisdiction’s thresholds Non-compliance despite a working vendor integration FR-610; evidence the Canadian CAD 1,000 configuration actually in force, not the vendor’s default bundle
RSK-05 Sanctions screening false negatives Sanctions breach — strict liability Test corpus with known entities; independent validation; zero-tolerance on false negatives
RSK-06 Vendor outage blocks transactions Customer impact Fail-closed with clear customer messaging and rapid manual review path
RSK-07 Ministerial Directive transactions missed Direct precedent for enforcement Explicit rule R-030 with any-amount reporting; test at low values
RSK-08 Data quality gaps produce incomplete reports Report rejection; examination findings Daily ledger-to-ingestion reconciliation at zero variance tolerance
RSK-09 Beneficial owners never reach the screening engine BOs collected in Sumsub, screening performed in Marble — if the handoff is missed, an entire category of required screening silently does not happen FR-316 coverage reconciliation: every name in Sumsub screened in Marble, tested explicitly (T-03b)
RSK-10 Programme not updated for regulatory change Registration eligibility is a continuous obligation, not a point-in-time one Regulatory change monitoring with an owner and a defined update cycle

16.2 Assumptions

16.3 Open items requiring decision

# Item Owner Needed by
O-01 RPAA applicability — legal opinion Counsel Week 1
O-02 Marble Screening licence key + OpenSanctions commercial data licence — commercial terms and cost Ops/CCO Week 1
O-02b Interim control while the detection loop is open: manual review of Marble decisions, or restrict volumes until Phase 1 lands? CCO Immediately
O-03 Travel Rule solution selection CCO/CTO Week 3
O-04 Sanctions list data source (direct vs vendor) CCO Week 3
O-05 Case management: harden internal build vs procure — decide against the §6.10 workflow requirements, not against effort already spent CTO Week 4
O-05b Confirm which Travel Rule protocols your actual counterparty corridors need, and whether any are TRISA-only (fallback path required) CCO/Product Week 3
O-06 Chains and assets supported at launch Product Week 2
O-07 Quebec residents in scope? Product/Counsel Week 2
O-08 Are any listed assets securities? (CSA/CIRO exposure) Counsel Week 2
O-09 CARF/RCASP data capture — CRA reporting begins 2027 for calendar 2026 data, so capture must start now CCO/Eng Week 4
O-10 Compliance team target headcount and hiring plan CCO Week 4

17. Glossary

Term Definition
CCO Chief Compliance Officer — the appointed compliance officer under PCMLTFA
CDD / EDD Customer Due Diligence / Enhanced Due Diligence
CARF / RCASP Crypto-Asset Reporting Framework / Reporting Crypto-Asset Service Provider — CRA tax reporting regime
EFTR Electronic Funds Transfer Report
FINTRAC Financial Transactions and Reports Analysis Centre of Canada
FWR FINTRAC Web Reporting — the web submission portal
HIO Head of an International Organisation
IVMS101 InterVASP Messaging Standard for Travel Rule data
JVCFOA Justice for Victims of Corrupt Foreign Officials Act
LCTR / LVCTR Large Cash / Large Virtual Currency Transaction Report
LPEPR Listed Person or Entity Property Report
MSB Money Services Business
OSFI Office of the Superintendent of Financial Institutions — maintains the Consolidated List
PCMLTFA Proceeds of Crime (Money Laundering) and Terrorist Financing Act
PEP / RCA Politically Exposed Person / Relative or Close Associate
RPAA Retail Payment Activities Act — Bank of Canada PSP regime
SEMA Special Economic Measures Act
STR Suspicious Transaction Report
TPR Terrorist Property Report
VASP Virtual Asset Service Provider
VC / VCTR Virtual Currency / Virtual Currency Travel Rule

End of document. Version 1.0 — Draft for review.