c4e62f0f50
SECURITY-HARDENING.md: - Runde 11 "Externer Pentest-Folge: Header-Hygiene + Klartext-Audit": HSTS-Doppel-Header weg, Cache-Control je nach Pfad differenziert, CSP No-Fallback-Direktiven + frame-ancestors auf 'self', BREACH- Mitigation via gzip off im Reverse-Proxy für /api/*, Server-/ X-Served-By-Banner entfernt, Audit-Log für die 6 Klartext-Passwort- Read-Endpoints (CRITICAL). - Runde 12 "JWT raus aus localStorage": Branchenstandard-Refresh-Cookie- Pattern für die SPA. Access-Token (15 min) nur in JS-Memory, Refresh-Token (7d) im httpOnly-Cookie. Auth-Middleware verweigert Refresh-Tokens als Bearer (type-Claim). Axios-Interceptor mit Single-Flight-Refresh-Retry. Tabelle der Live-Tests. README.md: - Tech-Stack-Auth-Zeile beschreibt jetzt die Access/Refresh-Architektur - .env-Beispiel: JWT_EXPIRES_IN=15m + neue JWT_REFRESH_EXPIRES_IN=7d - Production-Deployment-Hinweis: Frontend und API müssen über dieselbe Origin laufen (SameSite=Strict-Cookie), sonst funktioniert /auth/refresh cross-site nicht und User wird alle 15 min ausgeloggt Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>