Vorläufige Arbeitshilfe, anwaltlich zu prüfen. Keine Rechtsberatung. Keine abschließende rechtliche Beurteilung.
Real-data mode requires completed Security Before Real Data checklist.
Der Echtbetrieb mit sensiblen Daten ist erst nach abgeschlossener Sicherheits-, DSGVO- und Owner-Freigabe vorgesehen.
Echte Mandanten-/Kanzleidaten erst nach abgeschlossenem Security-/DSGVO-Check und Freigabe durch den Betreiber verwenden.Aktueller Stand: Real Data Ready pending manual approval. Demo Ready und Pilot Ready mit anonymisierten Daten bleiben möglich.
Demo ReadyOK
Anonymized Pilot ReadyOK
Real Data TechnicalOK
Real Data GateBLOCKED

Technische Readiness

kritische Checks grün
  • Supabase env present

    Smoke-Check meldet erforderliche Env-Präsenz ohne Werte.

  • Supabase key roles

    Anon-Key und Service-Role-Key werden nur als Rollenstatus geprüft, keine Werte werden angezeigt.

  • Supabase schema ready

    Basisdatenmodell und zentrale Tabellen erreichbar.

  • Storage bucket private

    Bucket `legal-intake` muss existieren und public=false sein.

  • Signed URLs verified

    Kurzlebige Signed URLs für einen harmlosen Probe- oder Dokumentpfad geprüft.

  • Storage probe

    Letzter Probe-Status: OK.

  • RLS static check

    `npm run check:rls` prüft statische Migrationen.

  • RLS runtime matrix

    `npm run check:rls:runtime` führt durch die Mandant/Kanzlei-Isolationsprüfung; Ergebnis manuell dokumentieren.

  • Audit logging active

    Audit Helper und Events für Upload, Download, CSV Import, Review und Reports vorhanden.

  • SMTP working/fallback confirmed

    Mail ist non-blocking; letzter Test muss OK oder Fallback dokumentiert sein.

  • Auth SMTP & Rate Limits

    Custom SMTP konfiguriert: Health/Env-Signal prüfen. Rate Limits und Deliverability bleiben manuelle Supabase-Dashboard-Checks.

  • Email deliverability checklist

    SPF, DKIM, DMARC sowie Gmail/GMX/Outlook-Test sind vor Pilotbetrieb manuell zu prüfen.

  • Security grep passed

    `npm run security:grep` grün im letzten Deploy.

  • No sensitive logs observed

    PM2-Logs wurden ohne Secret-/Dokumentinhalt-Fund geprüft.

Owner-/Legal-Freigaben

manuell zu bestätigen
  • Backup/restore plan documented
  • Retention/deletion policy documented
  • Secret rotation before real data pending/confirmed
  • DPAs/AVVs pending/confirmed
  • Privacy/legal review pending/confirmed
  • Owner approval pending/confirmed

E2E Onboarding Test

  • Super Admin Login und Kanzlei-Anlage.
  • Kanzlei Admin Einladung und Annahme.
  • Teammitglied Einladung.
  • Mandant/Geschäftsführer fallbezogen einladen.
  • Case-spezifischen Zugriff prüfen.
Admin-Testcheckliste öffnen

Erster Real Pilot Case

Interne Real-Pilot-Vorbereitung ist nicht Teil der öffentlichen Demo. Öffentliche Demos verwenden ausschließlich Fiktive Mandanten GmbH und Rechtsanwaltskanzlei Dr. Erich Müller. Status: Security Pending. Keine echten Dokumente hochladen bis Freigabe.

Interne Detailchecklisten sind nur für Betreiber/Owner bestimmt und nicht für öffentliche Demo-Unterlagen.

Harmless Upload Test

Vor dem ersten echten Dokument ein harmloses Test-PDF hochladen, Download über `/api/documents/[id]/download` prüfen und Audit-Log sowie Health-Status kontrollieren.

Automatischer App-Level-Test benötigt eine echte Test-Session. Ohne Login wird der manuelle Flow in `docs/REAL_CASE_ONBOARDING.md` verwendet.

Mandant Access Test

  • Mandant A sieht nur eigenen Fall.
  • Mandant B kann Fall A nicht öffnen.
  • Kanzlei sieht den Fall, externe Kanzlei nicht.

Runtime RLS Matrix

  • Kanzlei User A sieht nur eigene Organisation/Fälle.
  • Mandant User A sieht nur den zugewiesenen Fall.
  • Mandant User B kann den Fall von Mandant A nicht öffnen.
  • Optional Kanzlei User B sieht keine Daten von Kanzlei A.
  • Öffentliche Demo-Seiten nutzen nur Mock-/Demo-Daten.

Audit Log Test

Prüfen: `invitation_sent`, `invitation_accepted`, `login`, `case_accessed`, `document_uploaded`, `document_download_requested`. Nur Eventtypen und Zeiten anzeigen, keine Inhalte.

Owner Approval Gate

Real Data Ready bleibt blockiert, bis der Plattform-Owner im geschützten Fall den exakten Freigabesatz bestätigt. Die Bestätigung schreibt `confirmed_at`, `confirmed_by`, Checklisteneinträge und Audit-Event `real_data_readiness_confirmed`.