flowchart LR %% High-level dataflow for telemetry in serious games with governance controls subgraph C["Client / Spiel"] U["Lernende:r"] CG["Consent-Gate
(Opt-in/Policy-Version)"] EL["Event Logger
(Batching/Offline-Queue)"] U --> CG --> EL end subgraph I["Ingestion"] COL["Telemetry Collector
(Auth, Schema-Validation, Rate-Limits)"] end subgraph G["Governance & Identitätstrennung"] PID["Pseudonymisierungs-/Mapping-Service
(getrennte Identitätsdomäne)"] RB["RBAC/ABAC Policy Engine"] AUD["Audit Logs
(Zugriffe/Exporte)"] end subgraph S["Persistenz"] LRS["LRS / Event Store
(Rohdaten/Lernspur)"] end subgraph A["Analytics"] ETL["ETL/ELT & Qualitätschecks
(Dedupe, Missing Data, Drift)"] AGG["Aggregation
(KPIs, Zeitfenster, Kohorten)"] ADB["Analytics DB
(materialisierte Sichten)"] end subgraph R["Reporting"] DASH["Dashboard/Reports
(Filter, Drilldown, Exporte)"] ST["Stakeholder
(z. B. Lehrkraft/Trainer:in)"] end %% Main flow EL --> COL COL --> PID PID --> LRS LRS --> ETL --> AGG --> ADB --> DASH --> ST %% Governance controls RB -. "Zugriffskontrolle" .-> LRS RB -. "Zugriffskontrolle" .-> ADB RB -. "Zugriffskontrolle" .-> DASH DASH --> AUD LRS --> AUD ADB --> AUD %% Data separation hint COL -. "Trennung: technisch vs. didaktisch" .- PID