Compliance und Reporting API
1) Ernennung
Compliance API - einheitliche Schnittstelle für:- Erfassung und Validierung von Ereignissen (Gaming/Payment/Authentication) für AML/Responsible Gaming (RG).
- Durchführung von Prüfungen (KYC/KYB, Sanktionen/RER, Mittelquellen, Alter).
- Regulatorische Berichterstattung (periodisch und ad-hoc) über Märkte.
- Führung von Audit-Protokollen und Durchführung von Legal Hold.
- Datenaustausch mit Anbietern (PSP, KYC-Börsen, Sanktionslisten) und staatlichen Portalen.
Das Ergebnis: Die operative Belastung wird reduziert, die Erstellung von Berichten beschleunigt, die Rückverfolgbarkeit und die Einhaltung lokaler Vorschriften sichergestellt.
2) Geltungsbereich (Umfang)
Identifikation und Verifizierung: KYC/KYB-Status, Verifizierungsstufen, Dokumente.
AML/Sanktionen/PEP: Screening, Transaktionsüberwachung, STR/SAR, Alerts.
Responsible Game (RG): Limits, Selbstausschluss, „Cool-Off“, Verhaltensrisiko-Skalen.
Zahlungen und Transaktionen: Ein-/Auszahlungen, Chargeback, Bonusmechanik.
Berichterstattung: GGR/Steuern, Spielerregister/Sitzungen, Marketingbeschränkungen, Sicherheitsvorfälle.
Audit und Speicherung: Unveränderliche Protokolle (WORM), Legal Hold, DSAR/RTBF.
3) Verbraucher und Datenproduzenten
Verbraucher: Regulierungsbehörden, interne Compliance/Risk, BI/DWH, SecOps, Finanzen.
Hersteller: iGaming Fronten/Backends, PSP/Aquiring, KYC-Anbieter, Anti-Fraud, CRM, Affiliate-Netzwerke.
4) Architektonische Referenz
1. Edge/API-шлюз (mTLS, OAuth2/OIDC, rate-limit, WAF).
2. Compliance Service (Geschäftsregeln, Orchestrierung der Anbieter, Normalisierung).
3. Event-Bus (Kafka/Redpanda) - Fan-out im SIEM/DWH/Archiv.
- Online (PostgreSQL/ClickHouse) für schnelle Abfragen/Aggregationen.
- Archiv (Object Storage + WORM) für unveränderliche Artefakte und Berichte.
- 5. Audit und Beobachtbarkeit: OpenTelemetry (trace_id), Indexierung von Protokollen, Dashboards.
- 6. Provider-Konnektoren: KYC, Sanktionen, RG-Module, staatliche Portale mit E-Signatur.
5) Grundlegende Endpunkte (v1)
5. 1 KYC/KYB und Sanktionen
„POST/v1/kyc/check“ - Antrag auf KYC-Prüfung (idempotent).
'GET/v1/kyc/{ user _ id }/status' ist die aktuelle Stufe und das Ablaufdatum.
„POST/v1/sanctions/screen“ - Sanktions-/PEER-Screening.
„GET/v1/sanctions/{ user _ id }/hits“ - Treffer/Eskalationen.
5. 2 AML und Transaktionsüberwachung
„POST/v1/aml/transaction“ - Übermittlung des Ereignisses (deposit/withdraw/bet/payout).
`GET /v1/aml/alerts? state = open'- offene Warnungen/Fälle.
„POST/v1/aml/str“ - Bildung und Einreichung von STR/SAR (nach Markt).
5. 3 Responsible Gaming (RG)
„POST/v1/rg/self-exclusion“ - Einstellung/Aufhebung des Selbstausschlusses.
„GET/v1/rg/limits/{ user _ id}“ - Limits (Einzahlung/Rate/Zeit).
„POST/v1/rg/assess“ - Risikobewertung des Verhaltens.
5. 4 Berichterstattung und Register
„POST/v1/reports/generate“ - Erstellung eines Berichts (Art, Zeitraum, Zuständigkeit).
'GET/v1/reports/{ report _ id}' - Status, Artefakt-Download (PDF/CSV/JSON), Hash.
„GET/v1/registries/{ type}“ - Register (Spieler, Sessions, Boni, GGR) mit Pagination.
5. 5 Wirtschaftsprüfung und Rechtsgeschäfte
'GET/v1/audit/events' - Auswahl von Ereignissen (Filter nach ECS/OCSF-Feldern).
'POST/v1/legal/hold' - Installation/Entfernung von Legal Hold durch Objekt/Ordner.
„POST/v1/privacy/dsar“ - DSAR starten, Status, Pakete exportieren.
6) Datenmodelle (abgekürzt)
6. 1 Transaktionsereignis (JSON)
json
{
"idempotency_key": "trx-8b1a9953",
"timestamp": "2025-11-01T16:02:11Z",
"user": {"id":"U-12345","dob":"1999-04-21","country":"EE"},
"transaction": {
"id": "T-778899",
"type": "deposit",
"amount": {"value": 200. 00, "currency": "EUR"},
"method": "card",
"psp_ref": "PSP-222-ABC"
},
"context": {
"ip": "198. 51. 100. 10",
"device_id": "d-9af0",
"session_id": "s-2233",
"trace_id": "f4c2..."
},
"labels": {"market": "EE", "affiliate": "A-77"}
}
6. 2 KYC-Ergebnis
json
{
"user_id": "U-12345",
"level": "L2",
"status": "verified",
"expires_at": "2026-04-21",
"checks": [
{"type":"document","result":"pass"},
{"type":"liveness","result":"pass"},
{"type":"pep_sanctions","result":"no_hit"}
],
"provider": {"name":"KYCX","reference":"KYCX-4455"}
}
6. 3 Beschreibung des Berichts
json
{
"report_id": "RPT-EE-GGR-2025Q3",
"type": "ggr_quarterly",
"jurisdiction": "EE",
"period": {"from":"2025-07-01","to":"2025-09-30"},
"status": "ready",
"artifact": {
"format": "CSV",
"size_bytes": 183442,
"sha256": "c9b1f...e21",
"download_url": "urn:reports:RPT-EE-GGR-2025Q3"
},
"notes": "Rounded to cents; FX=ECB daily"
}
7) Sicherheit und Zugang
Authentifizierung: OAuth2/OIDC (Client Credentials, JWT), optional mTLS.
Autorisierung: RBAC/ABAC; separate Scopes nach Domains („aml: write“, „kyc: read“, „reports: generate“).
Verschlüsselung: TLS 1. 2+ in-transit; at-rest über KMS/CMK; JWE für sensible Felder.
PII-Minimierung: Minimum aufbewahren; PAN/IBAN maskieren; Pseudonymisierung von 'user. pseudo_id`.
Access Log: Prüfung aller Lesungen von „sensiblen“ Endpunkten, Alerts für Massenentladungen.
Legal Hold und Retention: WORM-Speicher für Berichte und STR; Aufbewahrungsrichtlinien 5-7 Jahre (nach Märkten).
8) Versionierung und Kompatibilität
URI-Versionierung: „/v1 “, „/v2“; kleinere Änderungen - durch erweiterbare Felder.
Deprecation-policy: ≥ 6-12 Monate Support Überschriften „Sunset“, „Deprecation“.
Schemas: JSON Schema + OpenAPI; Verträge werden im CI validiert.
Migrationen: Adapter/Feature-Flags, beidseitige Kompatibilität für den Übergangszeitraum.
9) Zuverlässigkeit: Idempotenz und „Genau-Einmal“
Idempotency-Key in 'POST' (speichern Sie die Schlüssel ≥ 24-72 Stunden).
At-least-once Lieferung über Bus + Deduplizierung am Empfang (Event-ID/Hash).
Outbox/Inbox-Muster für Integrationen, Retrays mit exponentieller Pause und Jitter.
Reihenfolge: Partitionierungsschlüssel 'user _ id '/' account _ id' für den Determinismus.
10) Pagination, Filter, Suche
Pagination: cursor-based ('page _ token', 'limit <= 1000').
Filter: nach Gerichtsbarkeit, Zeitraum, Status, Anbieter, Risikobewertung.
Volltextsuche: für Audit/Register (begrenzte Teilmenge von Feldern).
Export: asynchron, Größenbeschränkung, Archivvorbereitung mit Hash-Signatur.
11) Beschränkungen und Quoten
Rate-limits per client/route (z.B. 100 rps burst, 1000 rpm nachhaltig).
Budgetlimits für schwere Berichte (Credits/Tag).
N + 1-Schutz: Batchi und aggregierte Endpoints.
Begrenzung der Tiefe historischer Stichproben (z. B. ≤ 24 Monate online, im Folgenden als Archiv bezeichnet).
12) Dashboards und SLOs
Ingest lag p95 <30 sec; KYC-Erfolg> 99%; STR-SLA - Versand ≤ 24 Stunden
API-Verfügbarkeit ≥ 99. 9%; Latenz p95 <300 ms zum Lesen; <800 ms für die Aufzeichnung.
Kosten/GB für die Aufbewahrung von Berichten; Ack-Rate-Benachrichtigungen an die Regulierungsbehörden.
Widgets: AML-Alert-Wärmekarte, KYC-Trichter, Ausgabe von Länderberichten, STR-Warteschlange.
13) Gerichtsbarkeiten: Mupping und Vorlagen
Muster für Marktberichte (Felder, Formate, Häufigkeit): „EE“, „LT“, „LV“, „RO“, „MT“, „UK“ usw.
Mapping von Begriffen (GGR/NGR, Boni, Einzahlungslimits, Alterskontrolle).
Lokalisierung von Zeitzonen/Kalendern; Fixieren der FX-Quelle; DST-Bezeichnung des Einflusses.
Schema-Verzeichnis: 'reports/{ jurisdiction }/{ type }/{ version} .schema. json`.
14) Fehlerbehandlung (einheitliches Format)
json
{
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Too many requests",
"request_id": "req-7f91",
"hint": "Reduce RPS or request higher quota",
"retry_after": 30
}
}
Частые коды: `INVALID_SCHEMA`, `NOT_AUTHORIZED`, `LEGAL_HOLD_ACTIVE`, `PROVIDER_TIMEOUT`, `REPORT_NOT_READY`.
15) Prüfung und Zertifizierung
Vertragstests (OpenAPI → Generierung von Testclients).
Fixtour-Sets nach Jurisdiktionen, Golden-Files für Berichte.
„Schwarze Listen“ von PII-Feldern in Protokollen; Statische Analyse von Geheimnissen.
Regelmäßige DR-Übungen zur Wiederherstellung von Berichtsarchiven.
16) Beispiele
16. 1 Berichtserstellung
Anfrage
http
POST /v1/reports/generate
Content-Type: application/json
Authorization: Bearer <token>
json
{
"type": "ggr_monthly",
"jurisdiction": "EE",
"period": {"from":"2025-10-01","to":"2025-10-31"},
"format": "CSV",
"notify": ["compliance@company"],
"parameters": {"include_bonus_breakdown": true}
}
Antwort
json
{"report_id":"RPT-EE-GGR-2025-10","status":"processing","eta_seconds":120}
16. 2 STR/SAR Versand
json
{
"case_id": "AML-2025-0091",
"user_id": "U-12345",
"reason": "Structuring deposits under threshold",
"evidence": ["txn:T-778899","txn:T-778900"],
"attachments": ["urn:doc:kyc:U-12345:v3"],
"jurisdiction": "EE"
}
16. 3 Selbstausschluss
json
{
"user_id":"U-12345",
"type":"national_register",
"action":"enable",
"effective_from":"2025-11-01",
"effective_to":"2026-11-01"
}
17) Eingebettetes Audit und Unveränderlichkeit
Autologation: 'request _ id', 'trace _ id', aufrufender Client, Umfang.
Signieren von Berichtspaketen (SHA-256) + Hash-Registrierung; periodische Verankerung.
WORM-Archiv für regulatorische Entladungen und STR.
Verlauf der Regel- und Vorlagenkonfigurationen (Richtlinienänderungsprotokoll ↔ Link).
18) Prozesse und RACI (in Kürze)
R: Compliance Platform Team (Entwicklung/Betrieb).
A: Leiter Compliance/CISO (Richtlinien, Budgets, Prioritäten).
C: Recht/DSB, Finanzen, Architektur, Daten.
I: Produkt, Unterstützung, Partner (PSP/KYC).
19) Umsetzungsfahrplan
MVP (4-6 Wochen):1. '/v1/kyc/check', '/v1/aml/transaction', '/v1/reports/generate'(2-3 Schlüsselmuster).
2. OAuth2 + Rate-Limit + grundlegende Idempotenz.
3. Archiv der Berichte in Object Storage mit Hash-Signatur.
4. SLO-Dashboards und Aufgabenwarteschlangen.
Phase 2 (6-12 Wochen):- Gerichtliche Vorlagen (5-8 Märkte), STR/SAR, RG-Endpunkte, DSAR.
- Anbieter-Aggregation (CUS/Sanktionen), Retrays, dedupe.
- Richtlinien Legal Hold, WORM, erweiterte Rollen.
- Regel-als-Code für Berichte/AML-Regeln, Änderungssimulator.
- Multi-Tenant (B2B2C, Marken/Skins), Quoten und Abrechnung.
- Sandbox und Zertifizierung für externe Integratoren.
20) Typische Fehler und wie man sie vermeidet
Verschiedene Schemata auf den Märkten: ein zentralisierter Katalog, Auto-Lint-Schemata.
Keine Idempotenz: Geben Sie' idempotency _ key 'und das Deduplizierungsfenster ein.
Geheimnisse in den Protokollen: Filter auf ingest, statische Analyse.
Lange Berichte online: asynchron mit Status-Pulling und Benachrichtigungen.
Schwache RBAC: 'read _ reports', 'generate _ reports', 'admin' explodieren.
Währung/Zeitzone: fix' fx _ source', 'timezone', speichern UTC.
21) Glossar (kurz)
KYC/KYB - Physik-/Jurakennzeichnung. Personen.
AML/STR/SAR - Anti-Geldwäsche/verdächtige Aktivität/Nachricht.
RG ist ein verantwortungsvolles Spiel.
GGR/NGR - Brutto-/Nettospielerlöse.
WORM ist eine unveränderliche Speicherung (write-once).
Rule-as-Code - Regeln als Code mit Tests/Versionierung.
22) Ergebnis
Die Compliance- und Reporting-API ist eine nachhaltige, sichere und standardisierte Schicht zwischen iGaming-Operationen und regulatorischen Anforderungen. Die Einhaltung der Grundsätze dieses Artikels (strenge Regelungen, sichere Integration, Idempotenz, unveränderliche Prüfung, Zuständigkeitsmuster und SLOs) sorgt für Vorhersehbarkeit, schnelle Überprüfung und Risikominderung in Schlüsselmärkten.