Aus interner Sicherheits-Review (verifiziert):
- Rapporte (GET+POST /api/rapports): Tenant-Check via getProjectWithTenantCheck
ergänzt — vorher konnte jeder eingeloggte Nutzer mit fremder projectId
Rapporte fremder Mandanten auflisten (inkl. Token → voller Inhalt) bzw.
anlegen. POST blockt jetzt zusätzlich VIEWER.
- Plan-Bild (GET .../plan-image/serve): globaler Lookup → getProjectWithTenantCheck.
- Journal-Suggestions (GET /api/tenants/[tenantId]/suggestions): Membership-Check
ergänzt (kein Cross-Tenant-Lesen mehr).
- Admin-User-Anlegen: Nicht-SERVER_ADMIN kann nur noch im EIGENEN Tenant anlegen
(mitgeschickte tenantId aus dem Body wird ignoriert) — verhindert Rechte-
Ausweitung in fremde Organisationen.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>