3.7 KiB
Compliance Architecture Explanation
Date: 2025-12-24
Purpose: Clarify the distinction between different compliance systems
🔍 Two Types of Compliance
1. Legal Compliance (NEW - For Travel Rules Exemption)
Purpose: Ensure contracts meet legal requirements and are exempt from Travel Rules
Location: contracts/compliance/LegallyCompliantBase.sol and contracts/compliance/ComplianceRegistry.sol
Features:
- ✅ Hague Conventions compliance
- ✅ ISO standards compliance
- ✅ ICC compliance
- ✅ Travel Rules exemption
- ✅ Regulatory compliance exemption
- ✅ Instrument of Value Transfer classification
Key Point: NO KYC/AML - This is for exemption, not compliance enforcement
2. eMoney Compliance Registry (EXISTING - For Policy Enforcement)
Purpose: Enforce compliance policies in eMoney system (KYC/AML, freezing, risk tiers)
Location: contracts/emoney/ComplianceRegistry.sol
Features:
- Account allowed/frozen status
- Risk tier management
- Jurisdiction tracking
- Policy enforcement
Key Point: This has KYC/AML features which are NOT compatible with Travel Rules exemption
⚠️ Important Distinction
For Travel Rules Exemption
USE: contracts/compliance/LegallyCompliantBase.sol and contracts/compliance/ComplianceRegistry.sol
DO NOT USE: contracts/emoney/ComplianceRegistry.sol for Travel Rules exempt contracts
Reason: The eMoney ComplianceRegistry has KYC/AML features (allowed, frozen, riskTier) which would trigger Travel Rules requirements.
🎯 Implementation Strategy
For Value Transfer Tokens (USDT, USDC, etc.)
Use: LegallyCompliantBase + Legal Compliance Registry
Design:
- No KYC/AML requirements
- No account freezing
- No risk tier management
- Pure value transfer
- Private peer-to-peer
For eMoney System
Use: Existing eMoney ComplianceRegistry (if needed for policy enforcement)
Note: If eMoney tokens need Travel Rules exemption, they should NOT use the KYC/AML features of the eMoney ComplianceRegistry, or should have an opt-out mechanism.
📋 Contract Classification
Travel Rules Exempt Contracts
These contracts should use LegallyCompliantBase:
- ✅ CompliantUSDT
- ✅ CompliantUSDC
- ✅ Governance Token (if exempt)
- ✅ Bridge contracts (if exempt)
- ✅ Any private value transfer instrument
Policy-Enforced Contracts
These contracts may use eMoney ComplianceRegistry:
- ⚠️ eMoneyToken (if policy enforcement needed)
- ⚠️ ISO20022Router (if compliance checks needed)
Note: If these need Travel Rules exemption, they should NOT enforce KYC/AML policies.
🔧 Migration Path
Option 1: Separate Systems (Recommended)
- Value Transfer Tokens: Use
LegallyCompliantBase+ Legal Compliance Registry - eMoney System: Use existing eMoney ComplianceRegistry (if policy enforcement needed)
- Clear separation: No mixing of systems
Option 2: Unified System (If Needed)
- Create unified compliance system that supports both:
- Legal compliance (for exemption)
- Optional policy enforcement (if not exempt)
- More complex but allows flexibility
✅ Recommended Approach
For Travel Rules Exemption:
- Use
LegallyCompliantBasefor all value transfer contracts - Use Legal Compliance Registry for tracking
- DO NOT implement KYC/AML features
- DO NOT use eMoney ComplianceRegistry for exempt contracts
For eMoney System:
- If Travel Rules exemption needed: Do NOT use KYC/AML features
- If policy enforcement needed: Use eMoney ComplianceRegistry but understand it may affect exemption status
- Consider separate eMoney tokens for exempt vs. non-exempt use cases
Last Updated: 2025-12-24