HIGH-5: Rate limiting por IP con governor (Docker-compatible via X-Real-IP)
- Login/refresh: 10 req/min; Register: 5 req/min
- services/backend-api/src/rate_limiter.rs (nuevo módulo)
HIGH-6: HSTS + X-Forwarded-Proto en Nginx; TLS terminado por Dokploy
- infrastructure/nginx/gateway.conf
HIGH-8: Refresh token movido a cookie HttpOnly; access token solo en memoria
- Backend: login emite cookie, refresh rota cookie, logout la borra
- Frontend: Zustand v3 sin tokens en localStorage; credentials: include
MED-1: Eliminado PBKDF2 legacy; Argon2id m=65536 t=3 p=1 en todos los hashes
- services/shared-lib/src/overlay.rs (imports limpiados)
- services/backend-api/src/handlers/auth.rs (hash_password helper)
MED-5: Rotación atómica de refresh tokens con detección de replay
SECURITY_AUDIT_REPORT.md: riesgo reducido a 🟡 MEDIO
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>