AML Platform - Úvod
Status: ✅ PRODUCTION READY - STABILNÍ
Server: 46.224.121.179
Port: 8093
PM2 Process: aml-api
URL: https://router.czechai.io:8093
🎯 Co je AML Platform?
AML Platform je kompletní systém pro anti-money laundering screening osob a firem, který integruje 18 nezávislých kontrolních modulů do jednoho výkonného API endpointu.
Hlavní vlastnosti
- ✅ 18 kontrolních modulů - Sanctions, PEP, Insolvency, Executions, Justice, Criminal...
- ✅ 3.6 miliónů záznamů - OpenSanctions databáze načítána při startu
- ✅ 15-20 sekund - Kompletní screening všech 18 modulů paralelně
- ✅ 100% completeness - Všechny moduly vracejí výsledek (nebo graceful degradation)
- ✅ Retry mechanismus - 3 pokusy s exponenciálním backoff
- ✅ Circuit breaker - Automatická detekce a obejití nefunkčních služeb
- ✅ Fallback scrapery - Playwright scraping jako záložní řešení
- ✅ Weighted risk scoring - Každý modul má jinou váhu podle závažnosti
🚀 Quick Start
Základní screening
curl -X POST 'https://router.czechai.io:8093/api/aml/screen/complete' -H 'Content-Type: application/json' -d '{
"first_name": "Jan",
"last_name": "Novák",
"birth_date": "1980-01-01"
}'
Response
{
"screening_id": "AML-20260112-8779",
"timestamp": "2026-01-12T09:00:00Z",
"processing_time_ms": 17428,
"overall_risk": {
"score": 35,
"level": "MEDIUM"
},
"completeness": 1.0,
"modules": {
"sanctions": { "status": "COMPLETED", "source": "PRIMARY" },
"pep": { "status": "COMPLETED", "source": "PRIMARY" },
"insolvency": { "status": "COMPLETED", "source": "PRIMARY" },
...
}
}
📊 18 Kontrolních modulů
| Modul | Váha | Zdroj | Fallback |
|---|---|---|---|
| sanctions | 1.5× | OpenSanctions (3.6M záznamů) | ❌ |
| pep | 1.3× | PEP databáze | ❌ |
| criminal | 1.5× | Trestní rejstřík | ❌ |
| transactions | 1.4× | Transakční patterns | ❌ |
| insolvency | 1.2× | ISIR insolvence | ❌ |
| adverse_media | 1.1× | Negativní média | ❌ |
| geographic | 1.1× | Geografické riziko | ❌ |
| executions | 1.1× | Exekuční rejstřík | ✅ Playwright |
| justice | 1.0× | Obchodní rejstřík | ✅ Playwright |
| court_decisions | 1.0× | Soudní rozhodnutí | ✅ Playwright |
| cadastre | 1.0× | Katastr nemovitostí | ❌ |
| vat | 1.0× | Plátce DPH | ❌ |
| lei | 1.0× | Legal Entity Identifier | ❌ |
| euid | 1.0× | European Unique ID | ❌ |
| opencorporates | 1.0× | Globální firmy | ❌ |
| behavioral | 1.0× | Behaviorální analýza | ❌ |
| justice_opendata | 1.0× | Justice Open Data | ❌ |
| ubo | 1.0× | Skuteční majitelé | ❌ |
🔴 KRITICKÉ VAROVÁNÍ
⚠️ NIKDY NEMODIFIKOVAT BEZ POCHOPENÍ:
Chráněné soubory:
- /opt/aml-platform/backend/health_monitor.sh - Health monitoring s loading detection
- /opt/aml-platform/backend/main.py - Health endpoint
Důvod:
Sanctions databáze (3.6M záznamů) se načítá 5-10 minut při startu PM2. Během načítání API neodpovídá. Bez správné logiky vzniká infinite restart loop (278 restartů za 9 hodin bylo vyřešeno 2026-01-09).
🚨 ABSOLUTNÍ ZÁKAZY:
| ❌ ZAKÁZÁNO | Důvod |
|---|---|
| Vypnout health_monitor | Systém nebude hlídat pády |
| Změnit timeout pod 10s | Sanctions loading trvá 5-10 min |
| Okamžitý restart při failure | Vytvoří infinite loop |
| Ignorovat "loading" status | Monitor musí vědět kdy je OK čekat |
| Restart během 0-10 min po PM2 start | Sanctions se ještě načítají |
📚 Dokumentace
- Moduly - Detailní popis všech 18 modulů
- Workflow - Jak funguje retry, circuit breaker, fallback
- API - API dokumentace s příklady
- Postupy - Step-by-step návody pro použití
- Troubleshooting - Známé problémy a řešení
🛠️ Tech Stack
- Backend: Python 3.12, FastAPI, asyncio
- Databáze: OpenSanctions (3.6M záznamů v paměti)
- Scrapery: Playwright (Chromium)
- Monitoring: PM2 health monitor (bash)
- PM2 procesy: aml-api (port 8093), health_monitor
📈 Performance
- Processing time: 15-20 sekund (18 modulů paralelně)
- Completeness rate: 100%
- Success rate: 99%+
- Rate limit: 10 requests/minute
- Concurrent requests: Až 10 paralelních screeningů
📞 Kontakt
- Email: info@czechai.io
- Web: https://czechai.io
- MKDocs: https://router.czechai.io/docs/