GH GambleHub

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.

4. Speicher:
  • 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.
Phase 3 (12 + Wochen):
  • 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.

Contact

Kontakt aufnehmen

Kontaktieren Sie uns bei Fragen oder Support.Wir helfen Ihnen jederzeit gerne!

Integration starten

Email ist erforderlich. Telegram oder WhatsApp – optional.

Ihr Name optional
Email optional
Betreff optional
Nachricht optional
Telegram optional
@
Wenn Sie Telegram angeben – antworten wir zusätzlich dort.
WhatsApp optional
Format: +Ländercode und Nummer (z. B. +49XXXXXXXXX).

Mit dem Klicken des Buttons stimmen Sie der Datenverarbeitung zu.