Skip to content

Build Regulatory Reporting Export in FATF Travel Rule Format for Flagged Wallets #298

Description

@Inkman007

Description

Regulatory bodies increasingly require virtual asset service providers to share wallet risk data in standardised formats. The current forensic report is a proprietary JSON structure. Adding a FATF Travel Rule-compatible export that maps LedgerLens detection output to the IVMS101 data standard would allow exchange compliance teams to submit flagged wallet reports to regulators and partner VASPs without manual reformatting.

What needs to be built

  • Add reporting/fatf_exporter.py with an export_ivms101(forensic_report) function that maps detection fields to the IVMS101 schema (originator/beneficiary identification, transaction reference, risk indicator codes).
  • Map LedgerLens risk scores to FATF risk indicator codes defined in reporting/fatf_risk_codes.py.
  • Output valid JSON-LD conforming to the IVMS101 1.0 schema; validate against the bundled JSON Schema in reporting/schemas/ivms101.json.
  • Support batch export of multiple flagged wallets via export_batch_ivms101(reports: List[dict]) -> List[dict].

Requirements

Functional

  • Export must include only wallets with calibrated risk score above FATF_EXPORT_THRESHOLD (default 0.85).
  • Fields not available in the detection output must be populated as null with a data_unavailable indicator, not omitted.
  • Must validate output against the IVMS101 JSON Schema before returning; raise ExportValidationError on schema violation.

Testing

  • Unit test: a high-scoring forensic report maps to a valid IVMS101 structure that passes schema validation.
  • Test: a report below the threshold is excluded from batch export.
  • Test: a missing optional field produces null with data_unavailable indicator, not a missing key.

Security

  • Raw wallet addresses in the IVMS101 export must be masked by default; expose a --reveal-addresses CLI flag requiring admin auth to include them.

Documentation

  • Add docs/regulatory_reporting.md explaining the IVMS101 field mapping, the risk code taxonomy, and the compliance use case for this export.

Contributor guidance

Area of specialty: RegTech, Python, JSON-LD, FATF Travel Rule, IVMS101.

How to contribute:

  1. Comment on your experience with FATF Travel Rule compliance or IVMS101 data standards.
  2. Identify which LedgerLens detection fields map most naturally to IVMS101 risk indicator codes.
  3. PR must include the schema-validation test and the below-threshold exclusion test.

Metadata

Metadata

Labels

Stellar WaveIssues in the Stellar wave program

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions