Files
dbis_core/docs/volume-vi/gase.md

81 lines
1.9 KiB
Markdown
Raw Normal View History

2025-12-12 15:02:56 -08:00
# 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