Files
ki-engineeering/20-privacy-compliance-trust.md
grok-bot 63589e684a Faktencheck-P1/P2: Legal, Framing, Konsistenz und Hyperref
AI Act/OWASP und Residenz/Log-TTL in Kap. 19–20, Framing- und
Taxonomie-Fixes quer durch Manuskript und Templates, Kap.-10-Anker
im Assembler; Handoff fortgeschrieben.
2026-08-02 23:40:48 +02:00

15 KiB
Raw Permalink Blame History

Privacy, Compliance, Trust

Security-Gates und Tool-Rechte stehen (Kapitel 19). Trotzdem blockiert Legal den Launch: „Wohin gehen die Tickettexte?“, „Wie lange liegen Embeddings?“, „Können wir den Modell-Entscheid erklären?“, „Was sieht der Support in den Traces?“ Parallel verliert der Nutzer Vertrauen, weil unklar ist, ob die Antwort Entwurf oder verbindlich ist — und ob die Chat-Historie ewig lebt.

Dieses Kapitel ist Engineering-Praxis zu Privacy, Compliance-Anforderungen und Trust-Design. Keine Rechtsberatung. Regulierung und Verträge sind jurisdiction- und fallabhängig; holt Counsel/DPO für Verbindliches. Stichtag für Produktclaims: August 2026 — eure Policies und AVVs prüfen, nicht dieses Kapitel zitieren.

Kern in einem Satz: Behandelt Context, Logs und Provider-Egress als Datenflüsse mit Klasse, Residenz, Retention und Zweck — Redaction und Auditability im Harness bauen; Trust durch ehrliche UX und beherrschbare Nachvollziehbarkeit, nicht durch Marketing-Claims.


Bridge: Klassisches SE → AI Engineering

Klassisches SE Privacy/Trust bei LLM-Features …
Datenfluss-Diagramme / DPIA-Inputs plus Prompt, Retrieval-Chunks, Embeddings, Tool-I/O, Model-Provider
PII in DB/Logs PII zusätzlich in Prompts, Traces, Eval-Sets, Vector stores
Retention & Löschung Chat-Historie, Memory, Index, Provider-side retention
Encryption / Access control gleiche Basics + wer darf Prompt-Logs sehen?
Subprocessor list Model-API, Hosting, Observability, Eval-SaaS
User transparency Kennzeichnung AI, Limits, Mensch-Option
Audit logs Trajectory, Policy-Entscheidungen, Versionen — redacted

Die Brücke: bekannte Privacy-Hygiene, mehr Speicherorte und ein externer Inferenz-Partner.


Datenflüsse, die Teams vergessen

User content ──► Orchestrator ──► Provider (model API)
       │                │
       │                ├──► Vector DB / files (RAG)
       │                ├──► Memory / session store
       │                ├──► Tool backends
       │                └──► Logs, traces, eval stores
       ▼
  Support tools / analytics / training opt-in (?)

Datenklassen (pragmatisch)

Klasse Beispiele Default-Haltung
Öffentlich Hilfe-Center-Text freier im Context
Intern Prozessdocs Tenant/ACL; oft ok on-prem/VPC-model
Vertraulich / PII Name, Ticket, Vertrag minimieren, redaction, Zweckbindung
Secrets / Credentials Keys, Tokens nie in Prompt/Log/Index
Besonderes Risiko je Domäne (Gesundheit, Kinder, …) Counsel + strengste Gates

Klassifiziert vor dem ersten Prod-Prompt — nicht nach dem ersten Audit.


Residenz und Provider-Egress

Residenz: wo Daten physisch/rechtlich verarbeitet und gespeichert werden.
Egress: was eure Grenze zum Model-Provider (und anderen Subprozessoren) verlässt.

Frage Engineering-Implikation
Darf Content Region X verlassen? Endpoint/Region wählen; ggf. self-host / VPC
Werden Inputs zum Training genutzt? Contract/Opt-out; schriftlich, nicht aus dem Blog
Zero-retention / short retention? Produktfeature des Anbieters prüfen (Stand + Vertrag)
Dürfen Snippets in SaaS-Eval-Tools? oft nein ohne BAA/AVV und Redaction
Cross-border Support-Zugriff? ACL auf Prompt-Logs

Residenz ≠ Transfer-Ende. Ein EU-Endpoint löst allein keinen Drittlandtransfer: Subprocessors, Support-Zugriff, Telemetrie und Backup-Regionen können Daten trotzdem grenzüberschreitend berühren. Transfer-Instrumente (z. B. SCC), Transfer Impact Assessments und die Subprocessor-Liste gehören zum Hosting-ADR — nicht nur die Region im Dashboard.

Model-Hosting-ADR (templates/adr-model-hosting.md) hält die Entscheidung fest: API vs. hosted vs. self, Region, Datenklassen, Subprocessors.

Vendor-agnostisch: die Fragen sind stabil; die Häkchen bei Anbietern ändern sich — Stichtag und Vertrag schlagen Kapiteltext.


Retention, Löschung, Memory

Artefakt Retention-Thema
Chat-/Session-Historie User-Erwartung vs. Support vs. Training-Verbot
„Memory“-Profile explizit, löschbar, zweckgebunden (Kapitel 10)
Embeddings / Chunks abgeleitete personenbezogene Daten möglich → Index-Löschpfad
Traces / Prompt-Logs kurz, redacted, role-based access
Golden Sets / Eval anonymisieren; Produktions-PII nicht „für immer zum Testen“
Provider-side vertragliche Retention; eigene Kopie steuern
  • Prod-Prompt-Logs: aggressiv redaction + kurze TTL + ACL
  • Memory: opt-in oder klar deklariert; Delete-API
  • RAG: keine Secrets; PII nur wenn Job es zwingt und Index-Policy es trägt
  • Eval-Export: transform/anonymize pipeline, nicht Roh-Dump

Decision Frame: kurze Prompt-Log-TTL vs. Audit-Minima

Kurze TTL und harte Redaction schützen Nutzer und Support-ACL. Audit, Incidents und manche Branchenregeln brauchen länger haltbare Nachweise — oft ohne Roh-PII.

Bedarf Eher … Nicht …
Debug / Quality-Sampling kurze TTL, stark redacted, Sampling „alles forever im Klartext“
Incident / Security-Forensik befristetes Evidence-Pack mit ACL, dann löschen unbegrenzte Prod-Prompt-Dumps
Compliance-Audit (was geschah?) redacted Audit-Trail: Versionen, Tools, Outcome, HITL, Datenklassen CoT und Volltext als „rechtliche Erklärung“
Rechts-/Branchen-Minima Counsel + getrennter Store, Zweckbindung Ops-Trace und Audit vermischen

Default-Tendenz: Roh-Prompts mit PII kurz und eng; Audit-Felder länger, aber redacted und zugriffsbeschränkt. „Log forever“ und „TTL null ohne Audit“ sind beide Anti-Patterns.

Löschgesuche (je Rechtsrahmen) brauchen einen technischen Pfad: DB, Index, backups-Policy, Caches — „wir haben den Chat gelöscht“ bei lebendem Embedding ist unvollständig.


Redaction und Minimierung

Data minimization: nur die Felder in den Context, die der Task braucht (T4 als Hebel und Privacy-Hebel).

Technik Einsatz
Feld-Whitelist vor Prompt statt „ganzes CRM-Objekt“
Maskierung (IBAN, Email, …) wo Task ohne Klartext geht
Tokenisierung / Pseudonyme mit sicherem Mapping außerhalb des Model-Context
Chunk-Filter sensible Sources nicht indexieren
Output-Filter keine unnötige PII in Antworten/Logs
Separate stages zuerst intern anreichern, User-Antwort minimieren

Redaction in Logs ≠ Redaction vor dem Modell. Beides spezifizieren: Was darf das Modell sehen? Was dürfen Engineers sehen?


Auditability und „Erklärbarkeit“

Nutzer, Auditoren und On-Call brauchen unterschiedliche Nachvollziehbarkeit.

Bedarf Liefert ihr …
Support: „Was hat das System getan?“ Trajectory, Tool-calls, Outcome, Versionen (redacted)
Security: „Wer hat freigegeben?“ HITL-Entscheider, Policy-decision
Compliance: „Welche Daten wohin?“ Datenfluss + Subprocessor + Retention
User: „Warum diese Antwort?“ Citations, „basierend auf …“, Unsicherheits-Framing — kein Fake-Chain-of-Thought als Rechtfertigung
Eval: „Welche Version war live?“ model_id, prompt_version, index_version

Wichtig: Token-Wahrscheinlichkeiten und CoT sind selten „rechtliche Erklärung“. Verlässlicher sind Quellen, Regeln, Policy-Gates und menschliche Freigaben.

Audit-Log-Mindestinhalt (redacted)

  • request/trace id, tenant, actor
  • capability, versions (prompt/model/index/policy)
  • tools invoked (names + decision allow/deny)
  • outcome, HITL yes/no
  • data classes touched (nicht Roh-PII)

EU AI Act — Transparenz und Rollen (knapp, Stand August 2026)

Keine Rechtsberatung — nur Engineering-Orientierung. Der EU AI Act regelt u. a. Transparenz und Kennzeichnung von KI-Interaktionen; Artikel 50 adressiert Pflichten, Nutzer über den KI-Charakter und bestimmte synthetische Inhalte zu informieren (Details und Ausnahmen jurisdiction- und stichtagsabhängig — Counsel/DPO).

Für Teams mit Model-APIs ist die Rollenunterscheidung hilfreich:

Rolle (vereinfacht) Typische Situation Engineering-Hebel
Provider (Anbieter des Modells/Systems) Foundation-Model-Anbieter, ggf. Systemintegrator technische Doku, Systemkarten, Provider-Transparenz
Deployer (Betreiber im eigenen Produkt) ihr, wenn ihr das Modell in eure App einbettet UX-Kennzeichnung, Limits, Mensch-Option, Logging-Policy

High-risk-Pflichten gelten nicht pauschal für jedes Chat-Feature „heute“. Ob ein Use Case hochriskant ist, steuern Anhang/Klassifikation und Zeitpläne — inkl. möglicher Omnibus-/Anpassungen. Nicht aus Blog-Überschriften ableiten; Counsel + eure Feature-Ampel.

Was ihr sofort bauen könnt, ohne auf die nächste Rechtsmeinung zu warten: ehrliche AI-Kennzeichnung, Entwurf-vs.-verbindlich, Escape zu Mensch, redacted Auditability (siehe unten und Trust-UX).


Trust in der UX

Trust ist Produktqualität, nicht nur Policy-PDF.

Praxis Wirkung
AI kennzeichnen keine Täuschung über menschlichen Support
Entwurf vs. verbindlich Labels, Disable send-without-review wo nötig
Grenzen kommunizieren „kann irren“, Domain-Scope
Mensch erreichbar Escape Hatch bei Gelb/Rot
Citations / Quellen nachvollziehbare Grounding-Features
Kontrolle über Memory/Historie einsehen, löschen, pausieren
Stabile Fehler ehrliches unable statt selbstbewusster Fiktion

Überzogene Claims („immer korrekt“, „DSGVO-garantiert durch Prompt“) zerstören Trust beim ersten Fehler — und erzeugen Legal-Risiko.


Patterns und Trade-offs

Pattern: Privacy classes in the feature spec

Jede Capability listet Datenklassen, Egress, Retention, Log-Policy (templates/ai-feature-spec.md).

Trade-off: etwas Spec-Arbeit; weniger Launch-Überraschung.

Pattern: Two contexts

Model context (minimiert, zweckgebunden) vs. ops context (stärker redacted, ACL). Nicht dasselbe JSON überall hin loggen.

Trade-off: zwei Pipelines; deutlich sicherere Ops.

Pattern: Retrieval ACL before similarity

Tenant- und Rechtefilter vor oder hart in der Query — nie „Top-k global, Modell filtert“.

Trade-off: Index-Design; verhindert cross-tenant leakage.

Pattern: Contract-backed provider choice

Hosting-ADR + periodische Re-Zertifizierung der Annahmen (Region, training use, subprocessors).

Trade-off: Prozesslast; passt zu T9 (Provider-Change = Change).

Decision Frame: Darf das in den Prompt?

Frage Wenn nein →
Braucht der Task das Feld wirklich? weglassen
Darf es den Provider verlassen? anderes Hosting / transform / refuse feature
Dürfen wir es 30 Tage loggen? redaction / kürzer / sample
Wäre ein Leak meldepflichtig/peinlich? strengste Klasse anwenden

Trade-off: Nutzen aus Personalization vs. Privacy

Mehr Memory/Historie Weniger
bessere UX-Kontinuität weniger Risiko und Komplexität
schwerere Lösch-/Auskunftspfade einfachere Compliance-Story
höheres Leak-Impact spartanischer Context

Default: wenig speichern, explizit erweitern wenn der Job es trägt (T4, T10).


Anti-Patterns

Anti-Pattern Symptom Besser
Privacy by prompt „gebe keine PII preis“ als einzige Maßnahme Minimierung + Filter + ACL
Log full prompts forever unbegrenzte Traces mit Klartext TTL, redaction, ACL
Eval on raw prod dumps PII in Notebooks anonymisierte Pipelines
Global vector soup ein Index, alle Tenants harte Isolation
Trust theater Badge „AI-powered“ ohne Limits ehrliche UX + HITL
Legal later Launch first Datenklassen + ADR vor Traffic
Secrets in system prompt Keys im Template Secret store, nie Context
Unclear subprocessors niemand kennt Eval-SaaS Inventar + Verträge
Explainability cosplay CoT als Compliance Quellen, Gates, Audit
Delete = UI only Index/Memory bleibt technischer Löschpfad

Production Notes

Cost. Redaction, getrennte Stores und striktere Hosting-Optionen kosten Geld und Latenz. Das ist Feature-Envelope, nicht Overhead ohne Nutzen (T7). Datenpannen und Launch-Blockaden sind teurer.

Latency. Schwere PII-Classifier auf dem Hot Path messen; oft: deterministische Masken zuerst, async deep checks für Ops.

Observability. Privacy und Obs spannen: zu viel Log = Risiko, zu wenig = blind. Minimum-Felder ohne Roh-PII (observability-minimum.md); Privacy-Events (redaction_applied, egress_blocked) zählen.

Security. Privacy-Fehler sind oft Security-Incidents (Leakage). Gemeinsames Review mit security-review-ai.md (T8).

Lifecycle. Neue Region, neuer Provider, neues Eval-Tool, längeres Memory = erneute Datenfluss-Prüfung (T9). Owner für Datenklassen und Log-Policy (T10). Production-Ready: production-ready-checklist.md.


Key Takeaways

  • Keine Rechtsberatung — Engineering liefert Datenflüsse, Klassen, Controls und Auditability für echte Compliance-Arbeit.
  • Context, Embeddings, Logs, Eval und Provider sind eigene Speicher-/Egress-Pfade.
  • Residenz, Retention, Redaction, Minimierung vor Feinschliff am Prompt; Residenz allein beendet keinen Drittlandtransfer.
  • Auditability: Versionen, Trajectories, Policy/HITL — redacted und zugriffsbeschränkt; Roh-PII-Logs ≠ Audit-Trail.
  • Trust und AI-Act-Transparenz: Kennzeichnung, Grenzen, Mensch-Option — keine Garantie-Rhetorik; High-risk nicht pauschal annehmen.
  • Hosting- und Datenentscheidungen in ADRs und Feature-Specs festhalten.

Praktische nächste Schritte

  1. Zeichnet den Datenfluss eurer Top-Capability inkl. Provider, Index, Logs, Eval.
  2. Vergibt Datenklassen und erlaubt/verbietet Egress schriftlich (Spec oder ADR).
  3. Setzt Retention + Redaction für Prompt-Logs; prüft ACL (wer sieht was?).
  4. Definiert Löschpfad für Chat, Memory und zugehörige Embeddings.
  5. UX-Review: AI-Kennzeichnung, Entwurf/verbindlich, Escape zu Mensch.
  6. Hosting-Annahmen gegen Vertrag/Konsole prüfen (Stand heute, nicht „damals im Blog“).
  7. Teil IV abschließen: Checklisten security-review-ai.md + production-ready-checklist.md; Betrieb vertiefen ab Deployment und Serving.