Technische und Organisatorische Maßnahmen (TOM)
NexDeck Platform — Anhang zur Auftragsverarbeitung nach Art. 28 DSGVO
Cover
| Feld | Wert |
|---|---|
| Dokument | Technische und Organisatorische Maßnahmen (TOM) nach Art. 32 DSGVO |
| Produkt | NexDeck Platform (Multi-Tenant SaaS) |
| Anbieter / Verantwortliche Stelle | Kre8ive Evolution GmbH i.G. (wird nach HRB-Eintragung aktualisiert) |
| Version | 2026-Q2 v1.0 |
| Stand | 2026-05-29 |
| Geltungsbereich | Alle personenbezogenen Daten, die NexDeck Platform im Auftrag der Kunden (= Tenants) verarbeitet (Auftragsverarbeitung gem. Art. 28 DSGVO) |
| Klassifikation | Vertraulich. Weitergabe nur an Auftraggeber im Rahmen des AVV sowie an Aufsichtsbehörden auf Anfrage. |
| Nächste planmäßige Revision | 2026-Q3 (spätestens drei Monate nach Stand-Datum) |
| Verantwortlich für Pflege | Geschäftsleitung Kre8ive Evolution GmbH i.G. |
| Rechtsgrundlage | Art. 32 Abs. 1 lit. a–d, Abs. 2, Abs. 4 DSGVO; Art. 28 Abs. 3 lit. c DSGVO |
Hinweis zur Rechtsform: Die Kre8ive Evolution GmbH befindet sich aktuell in Gründung (i.G.). Nach erfolgter Eintragung im Handelsregister (HRB) werden Rechtsform, HRB-Nummer, Sitz und gesetzliche Vertreter in diesem Dokument, im AVV, in der Datenschutzerklärung sowie im Impressum aktualisiert.
Inhaltsverzeichnis
- Pseudonymisierung und Verschlüsselung (Art. 32 Abs. 1 lit. a)
- Vertraulichkeit (Art. 32 Abs. 1 lit. b)
- Integrität (Art. 32 Abs. 1 lit. b)
- Verfügbarkeit und Belastbarkeit (Art. 32 Abs. 1 lit. b)
- Wiederherstellbarkeit (Art. 32 Abs. 1 lit. c)
- Verfahren zur regelmäßigen Wirksamkeitsprüfung (Art. 32 Abs. 1 lit. d)
- Sicherstellung im Vertragsverhältnis (Art. 32 Abs. 4)
- Offene Punkte und Carryovers (Transparenz)
- Aufbewahrung und Versionierung
- Versions-Log
- Anhang: Referenzen und Normenbezug
1. Pseudonymisierung und Verschlüsselung (Art. 32 Abs. 1 lit. a DSGVO)
1.1 Verschlüsselung at-Rest
| Layer | Maßnahme | Algorithmus | Verantwortlich |
|---|---|---|---|
| Datenbank (Postgres) | Supabase-Cloud-at-Rest-Encryption | AES-256 | Supabase (Sub-Processor) |
| Object Storage | AWS S3 Server-Side Encryption (SSE-S3) | AES-256 | AWS (Sub-Processor) |
| Über AWS SES empfangene E-Mails (Inbound-Receipt → S3) | AWS S3 SSE-KMS | AES-256-GCM | AWS (Sub-Processor) |
| Edge Cache | Vercel Edge — ausschließlich ephemer | — | Vercel (Sub-Processor) |
| Backups | Supabase Point-in-Time-Recovery, verschlüsselt | AES-256 | Supabase (Sub-Processor) |
| Audit-Log | Append-only-Tabelle in Postgres, at-Rest mitverschlüsselt | AES-256 | NexDeck / Supabase |
1.2 Verschlüsselung in-Transit
- Transport-Layer: TLS 1.3 (Mindest-Version) zwischen Client, Vercel-Edge, Supabase und AWS S3. TLS 1.2 deaktiviert.
- HSTS:
Strict-Transport-Security: max-age=63072000; includeSubDomains; preloadauf allen produktiven Domains (nexdeck.app,www.nexdeck.app). Ein HTTP-Fallback existiert nicht (Redirect 308 von HTTP → HTTPS auf Edge). - Inter-Service: Supabase-Postgres-Verbindungen ausschließlich über TLS, Service-Role-Keys nur Server-zu-Server.
- Webhooks: Alle eingehenden Webhooks (Stripe, Unipile, OneSignal, AWS SNS) ausschließlich über HTTPS mit Signatur-Verifikation.
- E-Mail-Transport (AWS SES): Versand und Empfang über AWS SES mit erzwungenem TLS (
TlsPolicy: Requirebzw. TLS-only Receipt). Eingehender Mailempfang erfolgt ausschließlich über eine dedizierte Subdomain (SES-Inbound-MX) — die produktive Haupt-Mail-Infrastruktur des Auftraggebers (eigener Mailprovider) bleibt davon unberührt.
1.3 Application-Layer-Encryption
Sensible Felder oberhalb der Postgres-at-Rest-Schicht werden zusätzlich auf Applikationsebene verschlüsselt:
| Feld / Daten | Schicht | Verfahren | Code-Pfad |
|---|---|---|---|
| Unipile-OAuth-Tokens | Application | AES-256-GCM mit 128-Bit Auth-Tag | src/core/lib/security/encryption.ts |
| SMTP-Credentials (Inbox) | Application | AES-256-GCM mit 128-Bit Auth-Tag | src/core/lib/security/encryption.ts |
| OAuth-Refresh-Tokens (Google/Microsoft) | Application | AES-256-GCM mit 128-Bit Auth-Tag | src/core/lib/security/encryption.ts |
E-Mail-Nachrichteninhalte Shared Inbox (eingehend + ausgehend, body_text + body_html) |
Application | AES-256-GCM mit 128-Bit Auth-Tag | src/modules/inbox/lib/body-encryption.ts |
| Magic-Link-Tokens (Booking, Proposal) | Application | Hash (SHA-256), Token-Plain nur als E-Mail-Link | src/modules/booking/lib/magic-link.ts |
Key-Hierarchie: ENCRYPTION_KEY als 32-Byte-Masterschlüssel in Vercel-Environment-Variables, getrennt nach Production / Staging / Development. Der Key wird at-Rest verschlüsselt durch Vercel verwaltet und niemals geloggt. Hard-Fail beim Start, falls ENCRYPTION_KEY fehlt oder nicht 32 Bytes lang ist (siehe Wave Business-Email C1).
1.4 Pseudonymisierung
- Identifier: Alle User- und Tenant-IDs als UUIDv4 (kryptografisch sicher generiert, kollisionsresistent). Keine sequentiellen Integer-IDs in öffentlich exponierten API-Responses.
- Externe Magic-Links: 32 Bytes kryptografisch zufälliger Hex-String, Single-Use, TTL 15 Minuten (Booking) bzw. 7 Tage (Proposal), nach Einlösung invalidiert.
- Cross-System-Identifier: Externe IDs (Stripe Customer-IDs, Unipile Account-IDs, OneSignal Player-IDs) werden separat in Mapping-Tabellen geführt, nie als Primärschlüssel verwendet.
- Logs: PII in Application-Logs (Sentry) wird gehasht oder maskiert (z. B. E-Mail-Domains generischer Provider werden in
contact_email-Notifications nicht durchgereicht, siehe Wave 42l Iter-4 Finding F4).
1.5 Hash-Algorithmen
| Zweck | Algorithmus | Verantwortlich |
|---|---|---|
| Passwort-Hashing | Argon2id (Supabase-Auth-Default) | Supabase |
| Audit-Log-Integritäts-Hash | SHA-256 | NexDeck |
| Magic-Link-Token-Lookup | SHA-256 (Hash gespeichert, Token-Plain nur in E-Mail) | NexDeck |
| Webhook-Signatur (Stripe, Unipile) | HMAC-SHA-256 | Sub-Processors |
1.6 Key-Management
- Sämtliche Schlüssel und Geheimnisse werden in Vercel Environment Variables verwaltet, dort at-Rest verschlüsselt.
- Trennung nach Stage: Production, Preview, Development je eigener Schlüssel.
- Keine Schlüssel im Code-Repository (durchgesetzt per Pre-Commit-Hook TruffleHog und Daueraktivierung GitGuardian auf GitHub).
- Empfohlene Rotation:
ENCRYPTION_KEYalle 12 Monate, Supabase-service_role-Keys ad-hoc bei Verdacht. Letzte Rotation: 2026-05-28 (Security-Sprint, vollständige Rotation Supabase PAT + AWS_ADMIN +sb_secret_*+sb_publishable_*). - Service-Role-Keys ausschließlich serverseitig (Server Actions, Route Handlers); Frontend nutzt anon-Key (publishable). Validiert per Custom-Hook
validate-no-service-role-frontend.
2. Vertraulichkeit (Art. 32 Abs. 1 lit. b DSGVO)
2.1 Row-Level Security (RLS)
- Coverage: 100 % aller multi-tenant-relevanten Tabellen (~200 Tabellen) haben aktive RLS-Policies.
- Policy-Pattern: Tenant-Isolation primär über
tenant_id = (auth.jwt() ->> 'tenant_id')::uuidbzw.current_setting('app.tenant_id'). - Verifikation: Daily-CI-Check via
pg_policies-Query stellt sicher, dass keine Tabelle ohne RLS deployed wird. Schema-Drift-Check (scripts/check-schema-drift-pre-gl.ts) als Pre-Go-Live-Gate. - Defense-in-Depth: Zusätzlich zur RLS wird in jedem
UPDATE/DELETEin Server Actions explizit.eq('tenant_id', currentTenant)gesetzt, validiert per Custom-Hookvalidate-tenant-isolation(siehe Wave 42l Iter-4 Finding F8). - PostgREST-Grants: Neue Tabellen erhalten explizite
GRANT-Statements fürauthenticated-Rolle (Pflicht ab Supabase Data API 30.10.2026, durchgesetzt per Migrations-Template-Hook).
2.2 Role-Based Access Control (RBAC)
NexDeck implementiert ein zweistufiges RBAC-Modell, konform mit Art. 28 DSGVO:
- Plattform-Ebene:
is_super_adminBoolean (Kre8ive-Evolution-Mitarbeitende für Support und Wartung). - Tenant-Ebene: 8 Kern-Rollen —
owner,admin,manager,dispatcher,backoffice,worker,finance,auditor_viewer— zuzüglich Legacy-Rollen (sales_partner,member) für Bestandskonten. - Permissions: 33 atomare Permissions, gruppiert in 10 Permission-Groups.
- Branchen-Anpassung: Über
tenants.industry_preset_slug(handwerk, agentur, dienstleister) und JSONB-permission_overrides— keine branchen-spezifischen Rollen, um RBAC-Modell flach und prüfbar zu halten. - Sub-Rollen-Visibility: Sidebar- und Feature-Gating per
requirePermission(...)in Server Actions; UI-Guards in/admin/*Pages (siehe Wave 42l Iter-5).
2.3 Multi-Factor-Authentication (MFA)
- Verfahren: TOTP (RFC 6238) via Supabase Auth MFA.
- Aktivierung pro Tenant:
tenants.require_mfa_for_adminsBoolean — Admins und Owner müssen MFA aktivieren, sonst kein Login auf/admin/*Routen. - Pre-Go-Live: Globale MFA-Enforcement-Option vorbereitet (Feature-Flag
global_mfa_enforced, im Real-Tenant-Onboarding aktivierbar). - Recovery: Backup-Codes (10 Stück, einmalig generiert, gehashed gespeichert).
2.4 Audit-Log
| Eigenschaft | Wert |
|---|---|
| Tabelle | audit_log |
| Schreibmodus | Append-only (DELETE/UPDATE per Trigger blockiert) |
| Retention | 10 Jahre (GoBD-konforme Aufbewahrung) |
| Inhalt | Finanz-CRUD, Login-Versuche, RLS-Verletzungen, KI-Aktionen, Admin-Aktionen, Rollen-Änderungen, Unipile-Connection-Updates, Invoice-Finalisierung |
| Forensik | IP-Adresse und User-Agent via next/headers (seit Wave 42l Iter-4, Compliance-Finding) |
| Integrität | SHA-256-Hash über jeden Eintrag, Vorgänger-Hash für Chain-of-Custody |
2.5 Geheimnis-Management in CI/CD
- TruffleHog v3 als Pre-Commit-Hook auf allen Branches.
- GitGuardian als Dauer-Monitor auf dem GitHub-Repository, Alarmierung bei verdächtigen Commits.
- detect-secrets als zusätzlicher Pre-Commit-Hook für strukturierte Geheimnisse (JWT-Pattern, AWS-Access-Keys, Stripe-Keys).
- Hardcoded-Token-Audit: Im Security-Sprint 2026-05-28 wurden 17 historische Test-Token-Files vollständig aus Repo und Git-History entfernt.
2.6 HTTP-Sicherheits-Header
| Header | Wert | Status |
|---|---|---|
Strict-Transport-Security |
max-age=63072000; includeSubDomains; preload |
LIVE |
X-Content-Type-Options |
nosniff |
LIVE |
X-Frame-Options |
DENY (Public-Booking-Routen: SAMEORIGIN) |
LIVE |
Referrer-Policy |
strict-origin-when-cross-origin |
LIVE |
Permissions-Policy |
Restriktiv (geo, mic, cam, payment deaktiviert) | LIVE |
X-Permitted-Cross-Domain-Policies |
none |
LIVE (seit 2026-05-29) |
X-Powered-By |
Entfernt | LIVE (seit 2026-05-29) |
Content-Security-Policy |
Strict mit Nonce-Migration laufend | TEILWEISE (s. Sektion 8) |
| Cookies | HttpOnly; Secure; SameSite=Lax |
LIVE (seit 2026-05-29) |
3. Integrität (Art. 32 Abs. 1 lit. b DSGVO)
3.1 Datenbank-Integrität
- Constraints:
CHECK,UNIQUE,NOT NULL,FOREIGN KEYmit expliziterON DELETE-Strategie (RESTRICT für Finanz-/Audit-Bezug, CASCADE nur bei eigentumsgebundenen Kindern). - Optimistic Locking: DB-Trigger-Pattern für konfliktrelevante Schreibvorgänge (z. B.
appointments,crew_assignmentsaus Calendar-Master Phase 2 F1,invoicesaus Vendor-Sprint Wave 43c). - Schema-Drift-Snapshot:
scripts/check-schema-drift-pre-gl.tsals CI-Gate, Pre-Go-Live 0 Findings garantiert (zuletzt verifiziert 2026-05-26 nach Wave 43-DATEV-Closure und Vendor-Sprint).
3.2 Append-only-Audit-Log
DELETEundUPDATEaufaudit_logper Trigger blockiert, Verstöße werden ihrerseits geloggt.- Hashchain (SHA-256) verkettet Einträge zeitlich.
- Replikation: Supabase-PITR sichert auch das Audit-Log.
3.3 GoBD-Unveränderbarkeit
- Rechnungs-PDFs: Speicherung in AWS S3 mit Object Lock (WORM-Mode, Compliance), Aufbewahrungsdauer 10 Jahre, parallel
versioning enabled. - Storno-Pattern: Keine echten Löschungen von Belegen, stattdessen Storno-Beleg mit Verweis (
gobd_storno_of). - Hash-Sicherung: PDF-SHA-256-Hash zusätzlich in
invoices.pdf_hashfür Tamper-Detection. - Siehe
compliance/wave-43-audit-log.mdfür vollständigen DATEV-Export-Hardening-Audit.
3.4 Code- und Build-Integrität
- Lock-Files:
package-lock.jsoncommittet, Build schlägt bei Drift fehl. - Pre-Commit-Hook
protect-critical-files: Schützt sicherheitskritische Pfade (src/core/lib/security/**,src/middleware.ts, Migrations) vor unbeabsichtigten Änderungen ohne Owner-Bestätigung. - Husky-Hooks: Lint, TypeScript-Check, Test-Subset vor jedem Commit.
- CI-Build: Vercel führt reproduzierbare Builds aus mit pinned Node-Version (20.x LTS).
3.5 Lizenz-Compliance
Eingeführt im License-Compliance-Sprint 2026-05-22:
license-checker-rseidelsohnfür Manifest-Scan aller 1.688 Produktions-Pakete.- CycloneDX SBOM (
@cyclonedx/cyclonedx-npm) als maschinenlesbare Bill-of-Materials. - OSV-Scanner Binary v2.3.8 für Vulnerability-Cross-Reference.
- Hard-Block in CI bei verbotenen Lizenzen (AGPL, SSPL, BUSL, CC-BY-NC).
- Nightly Cron zur Daueraktualisierung.
- Pre-Commit-Hook prüft nur bei Manifest-Änderungen, reduziert Latenz.
3.6 KI-Tool-Aufrufe
- Alle KI-Tool-Aufrufe (NEX, Auto-Match, Vision) werden in
audit_logmit Kategorieai_*protokolliert (Werkzeug, Eingabe-Hash, Zeitstempel, betroffener Tenant, User). - Vertex-AI-Region erzwungen auf
europe-west1(Belgien) für Sonnet 4.6 (Schrems-II-konform, sieheproject_vertex_ai_regions.md).
4. Verfügbarkeit und Belastbarkeit (Art. 32 Abs. 1 lit. b DSGVO)
4.1 Hosting-Topologie
| Komponente | Anbieter | Region | Bemerkung |
|---|---|---|---|
| Application Runtime | Vercel | Frankfurt (fra1, preferred) |
EU-only Processing für Server-Aktionen |
| Datenbank | Supabase | eu-central-1 (Frankfurt) |
Postgres 16 |
| Object Storage | AWS S3 | eu-central-1 (Frankfurt) |
Object Lock + Versioning aktiv |
| CDN / Edge | Vercel Edge Network | Global | Kein User-Tracking; statische Assets |
| E-Mail-Versand | AWS SES | eu-central-1 (Frankfurt) |
Transaktional, mit DMARC/DKIM/SPF |
| Push Notifications | OneSignal | EU-Endpoints | Web-Push v16 |
| AI Inference | Google Vertex AI | europe-west1 (Belgien) |
Schrems-II-konform für Anthropic Sonnet 4.6 |
4.2 Backup und Point-in-Time-Recovery
- Datenbank: Supabase PITR aktiviert, Rollback-Window 7 Tage, Daily Full-Backups, transparente WAL-Archivierung.
- Objekt-Storage: S3 Versioning aktiv, 30-Tage-Recover-Window für versehentlich gelöschte Objekte, Object Lock für GoBD-Belege darüber hinaus.
- Konfiguration: Vercel-Environment-Variables versioniert über Vercel-eigene Audit-Logs.
4.3 DDoS- und Missbrauchs-Schutz
- Vercel WAF mit automatischer Layer-7-DDoS-Mitigation.
- Edge-Rate-Limiting via Upstash Redis mit drei Stufen: Per-User, Per-IP, Per-AI-Route.
- ALTCHA (self-hosted) als Bot-Protection auf öffentlichen Booking-Routen — vollständig EU-gehostet, keine US-Routing (Ablösung von Cloudflare Turnstile in Wave 42l, siehe
booking_open_followups.md). - Disposable-E-Mail-Blocklist für Public-Booking (24 generische Domains, siehe Wave Business-Email Finding C2).
4.4 Monitoring und Alarmierung
- Sentry: Error- und Performance-Monitoring, Tenant-isolierte Tags. Wirksamkeit der Tags durch Sentry-Rule-ID
605288(GoBD E-Rechnung Trigger-Failed) belegt. - Uptime-Checks: Healthcheck-Endpoints
/healthzund/api/healthz, externe Probes. - Vercel-Analytics: Aggregierte Performance-Metriken, keine personenbezogenen Tracking-Cookies.
4.5 Incident-Response
- Breach-Response-Playbook:
.claude/plans/active/2026-04-17_breach-response-playbook.mddefiniert Eskalationsstufen, 72-h-Meldekette nach Art. 33 DSGVO, Kommunikationsvorlagen, forensische Schritte. - Sub-Processor-Resilienz: Multi-Provider-Strategie für kritische Wege (AWS SES als Fallback, falls Unipile-Connection des Tenants nicht verfügbar).
- Status-Page (intern): Vorbereitung läuft, Aktivierung mit Real-Tenant-Onboarding.
5. Wiederherstellbarkeit (Art. 32 Abs. 1 lit. c DSGVO)
5.1 Datenbank-Recovery
- Supabase Point-in-Time-Recovery: Rollback auf jeden Zeitpunkt innerhalb der letzten 7 Tage.
- Recovery-Time-Objective (RTO): ≤ 1 Stunde für Voll-Recovery (Test 2026-04 erfolgreich durchgeführt).
- Recovery-Point-Objective (RPO): ≤ 1 Minute (WAL-Archivierung kontinuierlich).
- Cross-Region-Replikation: Aktuell nicht aktiviert; bewusste Entscheidung wegen EU-only-Datenresidenz. Erwogen für Sprint+5+.
5.2 Storage-Recovery
- S3 Versioning: 30-Tage-Recover für versehentlich gelöschte Objekte.
- Object Lock (GoBD-Belege): WORM-Schutz über 10 Jahre.
5.3 Code-Recovery
- Git: Spiegelung auf GitHub (
origin) als externe Quelle. - Vercel: Deploy-History 30 Tage rückrollbar via Vercel Dashboard (Instant Rollback).
- Migrations: SQL-Migrations versioniert in
nexdeck-platform/supabase/migrations/; Down-Migrations für kritische Schema-Änderungen bewusst nicht standardmäßig vorgesehen — stattdessen Forward-Fix-Pattern.
5.4 Konfigurations-Recovery
- Vercel Environment Variables: Versioniert, audit-loggt, Export für Disaster-Recovery monatlich gesichert (verschlüsselt, in Owner-Custody).
5.5 Audit-Trail bleibt erhalten
- 10-Jahre-Retention des Audit-Logs darf durch Recovery-Operationen nicht verkürzt werden. PITR-Rollback würde Audit-Einträge im Rollback-Zeitfenster zurücksetzen; in einem solchen Fall greift das Breach-Response-Playbook mit gesonderter Protokollierung (Manueller Forensik-Eintrag).
6. Verfahren zur regelmäßigen Wirksamkeitsprüfung (Art. 32 Abs. 1 lit. d DSGVO)
6.1 Penetration-Tests (vierteljährlich)
Aktueller Sprint 2026-05-28/29, Plan .claude/plans/active/2026-05-28_pentest-tooling-stack.md:
Phase A.5 — Static Analysis (abgeschlossen 2026-05-28):
| Tool | Ergebnis |
|---|---|
| Semgrep | 0 CRITICAL nach Sprint, 0 HIGH offen |
| TruffleHog | 17 hardcoded-Token-Files entfernt (Repo + Git-History) |
| Trivy | 5 CRITICAL CVEs eliminiert, HIGH 21 → 1 |
npm audit |
Daily-Lauf in CI |
Zusätzlich: 3 Dockerfile-Hardenings (USER-Anweisung), GCM statt CBC für interne Crypto-Pfade, Supabase PAT + AWS_ADMIN + sb_secret_* + sb_publishable_* rotiert.
Phase A1 — Dynamic Analysis (abgeschlossen 2026-05-29):
| Tool | Ergebnis |
|---|---|
| OWASP ZAP AJAX-Spider | 7.744 URLs gegen www.nexdeck.app |
| Unique Findings | 9 |
| Quick-Wins LIVE | 4 (X-Powered-By disabled, Cookies HttpOnly/Secure, X-Permitted-Cross-Domain-Policies, weitere) |
| Nuclei | Standard-Templates, NexDeck-Custom-Templates Sprint+3 |
6.2 Static-Analysis-Pipeline
- TypeScript-strict auf gesamtem Repo (
tsc --noEmit). - ESLint mit Custom-Rules:
nexdeck-calendar/no-mixed-state-axes,no-tenant-id-missing,react-hooks/exhaustive-deps. - Semgrep: Default-Ruleset, NexDeck-Custom-Rules in Sprint+2 geplant (Tenant-ID-Required, No-Service-Role-Frontend).
6.3 Vulnerability-Scanning
- Trivy: Tägliche Image- und Filesystem-Scans.
- OSV-Scanner: Tägliche Cron-Läufe (siehe Lizenz-Compliance-Sprint).
- npm-audit: Pre-Commit + CI.
- CycloneDX SBOM: Maschinenlesbar erzeugt, archiviert je Release.
6.4 Monitoring-basierte Wirksamkeitsprüfung
- Sentry-Pattern-Analyse: Neue Fehler-Pattern werden in Alert-Rules überführt (Beispiel:
category=gobd-einvoice-trigger-failed, Rule-ID605288). - Error-Rate-Tracking: Pro Tenant, mit Schwellwert-Alarmierung.
6.5 Manuelles 3-fach-Audit pro Wave
Verbindliche User-Direktive 2026-05-26 (Cozy-Pelican-Plan): Nach jedem Block bzw. nach jeder Wave wird ein 3-fach-Audit durchgeführt mit den Spuren:
- RLS + RBAC (Tenant-Isolation, Defense-in-Depth)
- Compliance, Legal, Audit-Logs (DSGVO, GoBD, AGB-Bezug)
- Bugs, Tests, Gaps (Funktionsdeckung, Regression, Manual-Tests)
Vor jedem Wave-Abschluss wird die Audit-Routine feedback_audit_routine_post_todo.md verbindlich angewendet.
6.6 Lizenz-Compliance-Daueraktivierung
- license-check Daily-Cron schlägt bei neuen verbotenen Lizenzen Alarm.
- AGB §12q dokumentiert Open-Source-Komponenten,
/legal/third-party-noticesöffentlich abrufbar.
6.7 Nachweise
- Pentest-Plan:
.claude/plans/active/2026-05-28_pentest-tooling-stack.md - License-Compliance-Sprint:
license_compliance_sprint_2026_05_22.md - Wave-43-DATEV-Audit:
compliance/wave-43-audit-log.md - Schema-Drift-Snapshot:
scripts/check-schema-drift-pre-gl.ts(Daily-CI)
7. Sicherstellung im Vertragsverhältnis (Art. 32 Abs. 4 DSGVO)
7.1 Sub-Processor-Liste
- Vollständige, jederzeit aktuelle Liste unter
https://nexdeck.app/legal/subprocessors(Stand 2026-05-29: 24+ Sub-Processors). - Vierteljährliche Re-Validierung im Rahmen der TOM-Revision.
- Anzeige- und Widerspruchsrecht des Auftraggebers nach AVV §-Klausel zur Auftragnehmerkette.
7.2 AVV / DPA mit allen Sub-Processors
| Sub-Processor | Zweck | EU-Standort | AVV / DPA |
|---|---|---|---|
| Supabase | Datenbank, Auth, Storage | EU (eu-central-1) |
Vorliegend, SCC-Anhang |
| AWS | S3, SES | EU (eu-central-1) |
DPA + SCC (Schrems II konform) |
| Vercel | Hosting, Edge | EU (fra1 preferred) |
DPA + SCC |
| Stripe | Payments | EU + US (SCCs) | DPA + SCC + TIA |
| Unipile | E-Mail/Messenger-Integration | EU | Vorliegend |
| Google (Vertex AI) | KI-Inferenz | EU (europe-west1) |
DPA + SCC, Region-Pin |
| Sentry | Error-Monitoring | EU + US (SCCs) | DPA + SCC + TIA |
| OneSignal | Push-Notifications | EU + US (SCCs) | DPA + SCC + TIA |
| Upstash | Rate-Limiting (Redis) | EU | Vorliegend |
| ALTCHA | Bot-Protection (self-hosted) | EU (eigene Vercel-Instanz) | Kein Drittlandtransfer |
| Weitere | siehe /legal/subprocessors |
gemischt | siehe Sub-Liste |
7.3 EU-only-Processing wo möglich
- Hauptverarbeitung ausschließlich in EU-Regionen (Supabase
eu-central-1, Vercelfra1, AWSeu-central-1, Vertex AIeurope-west1). - US-Drittlandtransfers nur dort, wo ein gleichwertig sicheres EU-Pendant fehlt (Sentry, OneSignal, Stripe-Fallback). In diesen Fällen: SCCs in der Fassung 2021/914/EU plus dokumentierte Transfer Impact Assessment (TIA).
7.4 Mitarbeiterverpflichtung und Schulung
- Alle Mitarbeitenden mit Datenzugang unterzeichnen eine Vertraulichkeitsvereinbarung gemäß Art. 28 Abs. 3 lit. b und Art. 29 DSGVO.
- Regelmäßige DSGVO-Sensibilisierungs-Schulungen, Dokumentation intern bei Kre8ive Evolution GmbH i.G.
- Zugriffe auf Produktivdaten ausschließlich nach Need-to-Know-Prinzip, geloggt im Audit-Trail (Tenant-Impersonation-Events).
7.5 Meldepflichten und Eskalation
- 72-h-Meldekette nach Art. 33 DSGVO an Auftraggeber, dokumentiert im Breach-Response-Playbook.
- Bei Betroffenenrisiko: Benachrichtigung der Betroffenen nach Art. 34 DSGVO durch den Verantwortlichen, vorbereitete Templates beim Auftragsverarbeiter vorhanden.
7.6 Weisungsgebundenheit
- NexDeck verarbeitet Auftraggeber-Daten ausschließlich auf dokumentierte Weisung des Verantwortlichen (Vertragstext, Default-Konfiguration der Plattform, dokumentierte Support-Tickets).
- Eigenverarbeitung für aggregierte Statistik und Sicherheitszwecke nur in pseudonymisierter Form.
7.7 Projektgebundener Kundenbereich / Client-Portal (Magic-Link, Endkunden-UGC) — NEU 2026-07-10, PENDING_LAWYER_REVIEW
Maßnahmen für die optionale Funktion, über die Endkunden des Auftraggebers ohne eigenes Nutzerkonto (Magic-Link) Nachrichten und Medien (Dateien/Fotos/Videos) einstellen. Da hier erstmals Fremdinhalte von Dritten verarbeitet werden, gelten ergänzend:
| Maßnahme | Umsetzung |
|---|---|
| Zugangs-Token | Hohe Entropie; Speicherung ausschließlich als kryptographischer Hash (kein Klartext-Token in der DB); zeitlich befristet; jederzeit widerruflich; Neu-Ausstellung entwertet den vorherigen Link. Optionale zusätzliche Bestätigung (Step-up) für besonders sensible Vorgänge. |
| Projekt-/Rollen-Bindung | Jeder Token ist serverseitig an genau ein Projekt und die Rolle „Kunde dieses Projekts" gebunden; Mandant/Projekt/Rolle werden nie aus Client-Eingaben abgeleitet. Kein transitiver Zugriff auf andere Projekte oder verknüpfte Vorgänge. |
| Upload-Restriktion | MIME-Whitelist + Größenlimit + Rate-Limit für nicht-authentifizierte Token-Nutzer. Heuristische Extension-/MimeType-Prüfung analog AGB § 12o. Hinweis (offen, PENDING_LAWYER): für von Dritten hochgeladene Fremdmedien ist zu bewerten, ob der bestehende Haftungsausschluss „kein Antivirus-Scan" genügt oder ein aktives Upload-Scanning erforderlich ist. |
| Sichtbarkeitsgrenze | Interne, als „nur Team" markierte Inhalte werden serverseitig aus dem Kunden-Read entfernt (nicht Frontend-Filter); der token-gescopte Lesepfad liefert ausschließlich als kundensichtbar markierte Inhalte. |
| Notice-and-Action (DSA Art. 16) | Melde-Mechanismus (nexdeck.de/notice + Meldelink auf der Zugangsseite); technische Einzel-Entfernung/Sperrung EINER Chat-Nachricht UND EINES S3-Medienobjekts; Eingangsbestätigung + begründete Entscheidung. KEINE proaktive/allgemeine Inhaltsüberwachung (DSA Art. 8). |
| Protokollierung | Ausstellung/Widerruf/Ablauf der Token, Zugriffe (IP gekürzt/pseudonymisiert), Kundennachrichten append-only protokolliert. |
| Mandantentrennung | Chat-Instanzen strikt tenant-/projektgetrennt (RLS + serverseitig erzwungener Token-Scope). |
8. Offene Punkte und Carryovers (Transparenz)
Diese Sektion macht offene Punkte transparent. Sie ersetzt keine Wirksamkeitsbestätigung, sondern dient der Nachvollziehbarkeit. Bewertung der Risiken und geplanter Schließungstermine:
8.1 CRITICAL — Pre-Go-Live-Blocker
- FullCalendar Premium Commercial License: Aktueller Code in zwei Komponenten (
TeamScheduler.tsx,ResourceTimelineBoard.tsx) ist ohne kommerzielle Lizenz nicht für SaaS einsetzbar (CC-BY-NC-ND hartcodiert bzw. GPL-Fallback). Käufung durch Owner unmittelbar bevorstehend (User-Statement 2026-05-22). Aktion: Nach KaufNEXT_PUBLIC_FULLCALENDAR_LICENSE_KEYin Vercel Production setzen und Hardcode entfernen. Bis dahin: Kein Real-Tenant-Onboarding-Live-Schalt. - GmbH-HRB-Eintragung: Aktuell Kre8ive Evolution GmbH i.G. Mit Eintragung im Handelsregister werden TOM, AVV, AGB, Datenschutzerklärung, Impressum, Stripe-Tax-ID und PDF-Templates aktualisiert. Aktion: Trigger ist HRB-Bestätigung; Update-Checkliste siehe
pending_gmbh_legal_form_update.md.
8.2 HIGH (Sprint+1 bis Sprint+5)
- CSP
script-src 'unsafe-inline'Finding (ZAP Phase A1): Nonce-Migration deferred wegen Vercel-Edge-Inkompatibilität bei dynamischen Routes. Plan B: Subresource Integrity (SRI) für statische Scripts in Sprint+5. - 21 HIGH-Severity CVEs in dev-only Packages: (
next,requestdeprecated,libxmljs,capacitor) — Migration vs. Accept-Risk-Entscheidung in Sprint+1. xlsx-Prototype-Pollution-CVE: Evaluationexceljs-Migration in Sprint+1, Doku siehecompliance/xlsx-vuln-evaluation-2026-05-28.md.
8.3 LOW (Sprint+5 und später)
- Custom Semgrep-Rules für NexDeck (
tenant-id-required,no-service-role-frontend) — Sprint+2. - Custom Nuclei-Templates für Stripe-Webhook-Forgery, JWT-Tenant-Bypass — Sprint+3.
- CI-Integration TruffleHog + Trivy in GitHub-Actions — Sprint+4.
- Cross-Region-DR für Postgres (aktuell bewusst deaktiviert wegen EU-only) — Re-Evaluation Sprint+5+.
8.4 Klar abgegrenzte Nicht-Zertifizierungen
NexDeck Platform ist Stand 2026-05-29 nicht zertifiziert nach:
- ISO/IEC 27001
- ISO/IEC 27018
- SOC 2 (Type I oder II)
- TISAX
- BSI C5 (Cloud Computing Compliance Criteria Catalogue)
Wirksamkeit wird stattdessen über die in Sektion 6 beschriebenen Verfahren nachgewiesen. Eine Zertifizierungs-Roadmap kann auf Anfrage von Großkunden erstellt werden.
9. Aufbewahrung und Versionierung
9.1 TOM-Aufbewahrung
- Intern: 10 Jahre (gleichlautend mit GoBD-Belegen).
- Versionskontrolle: Diese Datei (
compliance/TOM-2026-Q2.md) ist im Repository versioniert; jede Änderung erzeugt einen Git-Commit, der den Stand revisionssicher festhält.
9.2 Auslieferung an Auftraggeber
- TOM ist als Anhang zum AVV Bestandteil des Vertrags.
- Auslieferung als PDF bei jedem neuen Real-Tenant-Onboarding.
- Bei jeder Versionserhöhung erfolgt Benachrichtigung der bestehenden Auftraggeber per E-Mail; das aktuelle Dokument liegt unter dem Tenant-Dashboard zum Download bereit.
9.3 Öffentliche Privacy-Policy
/privacyRoute enthält eine endkunden-verständliche Mini-TOM-Übersicht; die vollständige TOM bleibt vertraulich und wird ausschließlich im B2B-Kontext geteilt.
9.4 Aufsichtsbehörden
- Auf schriftliche Anfrage einer zuständigen Aufsichtsbehörde wird die jeweils aktuelle Vollversion innerhalb von 5 Werktagen bereitgestellt.
9.5 Revisionsrhythmus
- Planmäßig: quartalsweise (nächste Revision 2026-Q3, spätestens 2026-08-29).
- Ad-hoc: bei jeder wesentlichen Änderung an Verarbeitungs-Architektur, Sub-Processor-Wechsel, bei Sicherheitsvorfall oder bei Änderung der Rechtsform (HRB-Eintragung).
10. Versions-Log
| Version | Stand | Änderung | Verantwortlich |
|---|---|---|---|
| v1.0 | 2026-05-29 | Initiale Erstellung des TOM-Dokuments im Anschluss an den Pentest-Sprint Phase A.5 (Static) und Phase A1 (Dynamic ZAP). Aufnahme der License-Compliance-Maßnahmen aus Sprint 2026-05-22 und der DATEV-Hardening-Maßnahmen aus Wave 43. | Geschäftsleitung Kre8ive Evolution GmbH i.G. |
| v1.1 | 2026-05-29 abend | Same-Day-Update mit vier zusätzlichen Härtungs-Maßnahmen: (a) Custom Semgrep-Rules + Nuclei-Templates LIVE (CI-Hard-Block für service_role im Frontend); (b) TruffleHog + Trivy CI-Workflows + Pre-Commit-Hook; (c) Sprint+6A CVE-Reduktion 22→12 Findings (45%), inkl. nodemailer-SMTP-Injection-Fix + file-type-ASF-DoS-Fix + uuid-Buffer-Bounds-Fix; (d) xlsx HIGH-CVE formell ACCEPT_RISK beschlossen (Audit-Log-Event #7667, RBAC-Gate als Mitigation, Re-Eval Q3). Nuclei-Scan gegen Production: 0 Findings auf 3009 Requests × 782 Templates. | Geschäftsleitung Kre8ive Evolution GmbH i.G. |
| v1.2 | 2026-06-01 | §12 NIS2-Art.-21-Mapping ergänzt (Cross-Reference-Tabelle zu §30 BSIG-Katalog a-j mit Status LIVE/TEILWEISE/PLANNED je Maßnahmen-Kategorie + Substanz-Score-Selbsteinschätzung + Wording-Disclaimer + Quartals-Re-Bewertung via /tom-review-Skill). Hintergrund: NexDeck ist nach §28 BSIG aktuell nicht direkt regulierte Einrichtung, setzt Maßnahmen nach Art. 21 NIS2-Richtlinie jedoch substanziell als Plattform-Sicherheits-Baseline um (§43 GmbHG-Sorgfalt + Lieferketten-Vorbereitung §30 Abs. 2 Nr. 4 BSIG). Formulierungen ausschließlich gemäß Whitelist W1-W12 aus docs/internal/nis2-wording-guide.md. |
Geschäftsleitung Kre8ive Evolution GmbH i.G. |
| v1.3 | 2026-07-10 | §7.7 NEU „Projektgebundener Kundenbereich / Client-Portal (Magic-Link, Endkunden-UGC)": UGC-spezifische Art.-32-Maßnahmen für die erstmalige Verarbeitung von Fremdinhalten Dritter — Token-Entropie/Hash/TTL/Widerruf/Re-Issue-Invalidierung + optionaler Step-up, serverseitige Projekt-/Rollen-Bindung (nicht-transitiv), Upload-Restriktion (MIME-Whitelist/Größen-/Rate-Limit) + offene Malware-Scan-Frage (§12o), serverseitige Sichtbarkeitsgrenze, DSA-Art.-16-Notice-and-Action mit Einzel-Takedown (Nachricht + S3-Objekt) ohne Art.-8-Monitoring, append-only Protokollierung, Mandantentrennung. INFORMED (Email-Push, keine Re-Akzeptanz). ⚠️ PENDING_LAWYER (ANWALTS-VORLAGE-MASTER.md Nachtrag 2026-07-10). | Geschäftsleitung Kre8ive Evolution GmbH i.G. |
11. Anhang: Referenzen und Normenbezug
11.1 Rechtsgrundlagen und Standards
- DSGVO Art. 32: https://gdpr-info.eu/art-32-gdpr/
- DSGVO Art. 28 (Auftragsverarbeitung): https://gdpr-info.eu/art-28-gdpr/
- DSGVO Art. 33 / 34 (Meldepflichten): https://gdpr-info.eu/art-33-gdpr/
- BSI IT-Grundschutz: https://www.bsi.bund.de/grundschutz
- EDPB Guidelines 04/2020 (TOMs nach Art. 32): https://edpb.europa.eu/
- ENISA Cybersecurity Framework / NIS2 für SaaS-Anbieter: https://www.enisa.europa.eu/
- EU-Standardvertragsklauseln (SCC) 2021/914: https://eur-lex.europa.eu/eli/dec_impl/2021/914
- Schrems-II-Urteil (EuGH C-311/18): https://curia.europa.eu/
11.2 Interne Bezugsdokumente
| Dokument | Pfad |
|---|---|
| AVV-Vorlage | legal/templates/avv.md (in Pflege) |
| Datenschutzerklärung (öffentlich) | Route /privacy |
| Sub-Processor-Liste | Route /legal/subprocessors |
| Open-Source-Hinweise | Route /legal/third-party-notices |
| Breach-Response-Playbook | .claude/plans/active/2026-04-17_breach-response-playbook.md |
| Pentest-Tooling-Stack-Plan | .claude/plans/active/2026-05-28_pentest-tooling-stack.md |
| License-Compliance-Sprint-Doku | nexdeck-platform/docs/LICENSE-POLICY.md |
| Wave-43-DATEV-Audit-Log | compliance/wave-43-audit-log.md |
| Schema-Drift-Pre-Go-Live-Check | scripts/check-schema-drift-pre-gl.ts |
| Application-Layer-Encryption | src/core/lib/security/encryption.ts |
| Vertex-AI-Regional-Constraints | project_vertex_ai_regions.md |
| GmbH-Update-Checkliste | pending_gmbh_legal_form_update.md |
11.3 Versionsstände produktiver Komponenten (Stand 2026-05-29)
| Komponente | Version |
|---|---|
| Next.js | 16.0.7 |
| React | 19.x |
| Supabase Postgres | 16 |
| Node.js (Runtime) | 20.x LTS |
| TLS | 1.3 |
| Symmetrische Verschlüsselung | AES-256-GCM (128-Bit Auth-Tag) |
| Passwort-Hashing | Argon2id |
| Audit-Hash | SHA-256 |
| OSV-Scanner | v2.3.8 |
| OWASP ZAP | aktuell (Sprint 2026-05-28/29) |
12. NIS2-Art.-21-Maßnahmen-Mapping (Cross-Reference)
NexDeck ist nach §28 BSIG aktuell KEINE direkt regulierte Einrichtung
(siehe compliance/NIS2-SELBSTKLASSIFIZIERUNG-2026.md Stand 2026-06-01).
Die Maßnahmen nach Art. 21 NIS2-Richtlinie werden jedoch substanziell als
Plattform-Sicherheits-Baseline umgesetzt — Beweggründe sind die §43 GmbHG-
Sorgfaltspflicht und die Vorbereitung auf Kunden, die uns über die
Lieferketten-Klausel §30 Abs. 2 Nr. 4 BSIG vertraglich verpflichten
können.
Diese Mapping-Tabelle ist KEINE Konformitäts-Bescheinigung im Sinne des Art. 24 NIS2-RL. Sie dient als interne Übersicht und als Basis für Vendor-Assessments (CAIQ-Lite, SIG-Lite).
| Art. 21 Abs. 2 NIS2 / §30 BSIG | Maßnahmen-Kategorie | NexDeck-TOM-Sektion | Code-/Doku-Pfad | Status |
|---|---|---|---|---|
| (a) | Risikoanalyse + IT-Security-Konzepte | §1, §11 | compliance/TOM-2026-Q2.md, compliance/NIS2-SELBSTKLASSIFIZIERUNG-2026.md, docs/ISMS-POLICY.md (Block 5) | TEILWEISE |
| (b) | Bewältigung von Sicherheitsvorfällen | §4.5 | .claude/plans/active/2026-04-17_breach-response-playbook.md (Status PLANNED → ACTIVE in Block 3) | TEILWEISE |
| (c) | Aufrechterhaltung des Betriebs (BCM/DR) | §4-§5 | docs/BACKUP_DR_RUNBOOK.md, compliance/BCM-2026-Q3.md (Block 5) | TEILWEISE |
| (d) | Lieferketten-Sicherheit | §7.1 | src/modules/compliance/lib/subprocessor-list.ts, AVV-Annex 25 Anbieter | LIVE |
| (e) | Sicherheit in Beschaffung/Entwicklung/Wartung | §3, §6 | .github/workflows/security-*.yml, .semgrep/rules/, .nuclei/templates/ | LIVE |
| (f) | Wirksamkeitsbewertung der Maßnahmen | §6 | Pentest-Closure-Memory (2026-05-29, Nuclei 0/3009), Skill /tom-review (Quartal) | LIVE |
| (g) | Cyber-Hygiene / Basis-Schulungen | §7.4 | BSI Allianz-Webinar GF (Q3 2026), docs/security-awareness/ (Block 5) | PLANNED |
| (h) | Kryptographie | §1.3-§1.6 | src/core/lib/security/encryption.ts (AES-256-GCM), TLS 1.3 + HSTS, compliance/cryptography-policy-2026.md (Block 5) | LIVE |
| (i) | Personalsicherheit + Zugangskontrolle + Asset-Mgmt | §2 | src/core/lib/rbac/server-guard.ts (8 Rollen + 33 Permissions), compliance.asset_inventory (Block 5) | TEILWEISE |
| (j) | MFA + gesicherte Kommunikation | §2.3 | tenants.require_mfa_for_admins, MFA-AAL2-RLS, global MFA bei erstem Real-Tenant (siehe MEMORY-Direktive) | TEILWEISE |
12.1 Substanz-Score
NexDeck setzt nach interner Selbsteinschätzung ~70-75% der Art.-21- Maßnahmen-Kategorien substantiell um. Die verbleibenden Lücken (g) Awareness-Training und (c) BCM-Formalisierung werden in Block 5 (Sprint 2026-06) geschlossen.
Bezugsrahmen-Disclaimer (Pflicht): Substanz-Score 70-75% bezieht sich auf NIS2 Art. 21 Maßnahmen-Kategorien nach §30 BSIG (10 Kategorien a-j). NICHT vergleichbar mit ISO 27001 Annex A (93 Controls, siehe ISMS-POLICY.md §12.2) oder CAIQ-Lite Fragebogen (46 Items, siehe CAIQ-LITE-2026.md). Stand: 2026-06-15.
12.2 Wording-Disclaimer (Pflicht)
Bei externer Nutzung dieses Mappings (Vendor-Assessments, Kunden-Anfragen,
Trust-Center): Pflicht-Disclaimer aus docs/internal/nis2-wording-guide.md
§4 (Standard- oder Kurz-Disclaimer) MUSS beigefügt werden.
12.3 Quartalsweise Re-Bewertung
Diese Mapping-Tabelle wird zusammen mit dem TOM quartalsweise über das
/tom-review-Skill auf Änderungen geprüft. Status-Spalten-Änderungen
LIVE/TEILWEISE/PLANNED bumpen LEGAL_VERSIONS.tom automatisch.
12.X Support-AI-Layer (Wave-1f-C, 2026-06-04)
Sub-Sektion zu §12 NIS2-Mapping — beschreibt zusätzliche technische und
organisatorische Maßnahmen rund um den Support-AI-Layer (siehe
.claude/plans/active/2026-06-02_support-ai-masterplan*.md v2.4 + Wave-0..1e
LIVE auf main).
| Maßnahme | Umsetzung | Code-/Doku-Pfad | Status |
|---|---|---|---|
| Verschlüsselung at-rest | Supabase Postgres pgcrypto, dedicated pgvector-Index | supabase/migrations/20260602_support_ai_wave0_*.sql |
LIVE |
| Verschlüsselung in-transit (Plattform↔LLM) | TLS 1.3 zu Vertex AI Belgium europe-west1 + AWS Bedrock eu-central-1 | src/core/ai/llm-client.ts |
LIVE |
| Append-only Hash-Chain-Audit-Log | SHA256 per-Case sequence_number, nightly verify_action_log_chain Cron |
supabase/migrations/20260602_support_ai_wave0_0e_action_log.sql |
LIVE |
| RBAC-Plattform-Sub-Rollen | founder / support_agent / compliance / engineering | src/core/lib/rbac/permissions-config.ts + Wave-0 platform_role-Migration |
LIVE |
| Founder-only-Override mit Audit | is_super_admin + Audit-Event support.compliance.cross_tenant_view |
siehe Wave-1c RebuildReviewQueue (Wave-1f-A) |
LIVE (Wave-1c Layout) |
| Restricted-Category Hard-Block | Pre-Output-Filter via dossier.ts + Disclaimer-Versioning |
src/modules/support/ai/dossier.ts + src/modules/support/ai/dossier-constants.ts |
LIVE |
| Reviewer-Friction-Levels | one_click / cooldown / confirmation / block | src/modules/support/components/FrictionGate.tsx |
LIVE (Wave-1c) |
| Manual-Confirm-Queue (5 Auto-Action-Pfade) | Mensch-im-Loop binnen 30 min | src/modules/support/components/ManualConfirmQueue.tsx + Wave-0 support_manual_confirm_queue-Tabelle |
LIVE |
| Kill-Switch (Founder-only) | ai_agent_controls scope=global, Read im Hot-Path jedes LLM-Calls |
siehe llm-client.ts Failure-Playbook |
LIVE |
| Confidence-Calibration-Halt | >10% False-Confidence triggert NEX → Knowledge-Search-Only | src/modules/support/ai/confidence.ts + checkCalibrationDrift() |
LIVE |
| HMAC-Salted Identity-Token-Storage | DSAR Token nur als sha256(token+pepper) gespeichert (AD-22 v2.4) | src/modules/support/dsar/lib/dsar-validation.ts (Wave-1d) |
LIVE (DRAFT) |
| Circuit-Breaker (Vertex↔Bedrock) | Persistente State in support_circuit_breaker_state, atomar RPC |
supabase/migrations/20260602_support_wave_1b_closure.sql |
LIVE |
| Cost-Cap-Hard-Block | Atomic RPC support_atomic_cost_cap_charge, blockt Tenant bei Limit |
gleiche Migration | LIVE |
| Sub-Processor-Sichtbarkeit | Anthropic via Vertex Belgium + Bedrock Frankfurt in AVV Annex 12 | legal/wave-1f-d/avv-bump-mitwirkung-and-annex12.md (Wave-1f-D pending Anwalt) |
DRAFT |
| EU-AI-Act-Transparenzpflichten gem. Art. 50 Abs. 1 | Banner "Sie kommunizieren mit einer KI" persistent im Support-Reviewer-Layout + Privacy §X.3 | src/app/(admin)/admin/support/layout.tsx |
LIVE (Reviewer-Seite) |
Querverweis NIS2-Block-3 Breach-Response-Playbook: Im Falle eines Sicherheitsvorfalls im Support-AI-Layer (z.B. Cross-Tenant-Leak, Hash-Chain-Inkonsistenz, Sub-Processor-Ausfall > 4h) greift der bestehende NIS2-Block-3-Breach-Workflow. Spezifische Support-AI-Trigger:
- Sub-Processor-Ausfall (Vertex + Bedrock gleichzeitig nicht erreichbar): Auto-Fallback auf Human-Only-Mode, Sentry-Severity FATAL.
- Hash-Chain-Bruch (
verify_action_log_chainNightly schlägt fehl): Auto-Sperre der Tenant-Cases bis Compliance-Officer Co-Sign — Pre-HRB-Phase: Solo-Founder-Rebuild mit 60d-Review-Frist (siehe Wave-1f-ARebuildReviewQueue). - Cost-Cap-Bypass-Verdacht (>3 Hard-Block-Bypasses/Tenant/Monat): Tenant-Audit + Plattform-Pause-Action.
12.Y Selbstbewertung Support-AI gegen NIS2 Art. 21
Substanz-Score Support-AI-Layer-spezifisch: 85-90% der NIS2-Art-21-Kategorien durch oben gelistete Maßnahmen abgedeckt. Gilt zusätzlich zum allgemeinen NexDeck-Plattform-Score (70-75%, siehe §12.1). Nicht abgedeckt:
- (d) Lieferketten-Sicherheit Sub-Sub-Processor (Anthropic→Vertex→GCP-Region-Provider): Beruhen wir auf Vertex-/Bedrock-DPA, keine eigene Audit-Pflicht
- (h) Verschlüsselungs-Schlüssel-Management Customer-Managed-Keys (CMK): pending Customer-Demand
- (j) Plattform-Authentifizierung mit MFA-Pflicht für Tenant-Admins: pending Wave-1f-E + Tenant-Admin-Onboarding-Sweep
Re-Bewertung quartalsweise zusammen mit §12.1.
Ende des Dokuments.
Dokument-Klassifikation: Vertraulich. Weitergabe ausschließlich im Rahmen des AVV oder auf Anforderung einer zuständigen Aufsichtsbehörde.