fbb0d09e42
Beim Vorbereiten der RLS-Ausweitung gemessen: die API verbindet als Rolle 'tessera' (docker-compose.yml:33), und diese Rolle hat rolsuper=t und rolbypassrls=t. PostgreSQL wendet Row-Level-Security auf solche Rollen nicht an; FORCE ROW LEVEL SECURITY hilft nicht, das betrifft nur den Tabelleneigentuemer. Praktisch belegt statt hergeleitet: ohne gesetztes app.current_tenant liefert SELECT count(*) FROM "Group" zwei Zeilen, obwohl die Policy bei NULL-Kontext null liefern muesste. Folge: alle sieben bisher mit RLS ausgestatteten Tabellen sind faktisch ungeschuetzt. Die Trennung haengt allein am manuellen where-tenantId im Code. Die Migration 20260804130918 beschreibt RLS als 'zweites Sicherheitsnetz' — dieses Netz existiert derzeit nicht. Das aendert die Reihenfolge der geplanten Arbeit: erst eine Anwendungsrolle ohne Superuser- und BYPASSRLS-Recht, dann greifen die vorhandenen Policies, erst danach lohnt das Ergaenzen fehlender Tabellen. Sonst baut man Regeln, die nichts tun und Sicherheit vortaeuschen. Kein akutes Risiko: Tessera laeuft intern mit einem einzigen Mandanten. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FYZcd3SSmo14QTqWx2KKzU