# Global AML & Sanctions Engine (GASE) ## Overview GASE is the global AML and sanctions engine providing sovereign sanctions list synchronization, automated risk tiering of transactions, PEP graph linking, and Suspicious Activity Score (SAS) calculation. ## Core Functions - **Sovereign Sanctions List Synchronization**: Unified sanctions list from OFAC, EU, UN, etc. - **Automated Risk Tiering**: Assign risk tiers (TIER_1 to TIER_4) to entities - **PEP Graph Linking**: Graph structure for Politically Exposed Persons and relationships - **Suspicious Activity Score (SAS)**: Multi-factor risk scoring for transactions ## Sanctions Matching Logic ``` if fuzzy_match(entity.name, sanctions_list) > 0.93: block_transaction() ``` ## API Endpoints ### Synchronize Sanctions ```http POST /api/v1/gase/sanctions/sync ``` ### Search Sanctions ```http POST /api/v1/gase/sanctions/search ``` ### Add PEP ```http POST /api/v1/gase/pep/add ``` ### Find PEP Connections ```http GET /api/v1/gase/pep/:entityId/connections?maxDepth=2 ``` ### Calculate SAS ```http POST /api/v1/gase/sas/calculate GET /api/v1/gase/sas/:transactionId ``` ### Risk Tiering ```http GET /api/v1/gase/risk-tier/:entityId POST /api/v1/gase/risk-tier/:entityId/assign ``` ## Usage Example ```typescript import { gaseService } from '@/core/compliance/gase'; // Synchronize sanctions lists await gaseService.syncSanctionsLists(); // Search sanctions const matches = await gaseService.searchSanctions('entity-name', 0.93); // Calculate SAS const sas = await gaseService.calculateSAS(transactionId, entityId); // Assign risk tier const riskTier = await gaseService.assignRiskTier(entityId); ``` ## Database Models - `GlobalSanctionsList`: Unified sanctions list - `PEPGraphNode`: PEP graph nodes - `PEPGraphEdge`: PEP relationships - `SuspiciousActivityScore`: SAS calculations - `RiskTier`: Risk tier assignments