You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Hash API keys with SHA-256 before storing (was plaintext)
- Encrypt workspace aiApiKey with AES-256-GCM at rest
- Remove API key from localStorage; web UI uses session cookie only
- Add per-email rate limiting on magic-link endpoints (3/min)
- Switch docker-compose DB credentials to env var substitution
- Fix www redirect to use req.protocol instead of raw XFF header
- Remove unsafe-eval from Swagger CSP
- Gate debug startup logging behind NODE_ENV !== production
- Strip internal state (dbConnected) from public health endpoint
- Add SRI hash to Seline analytics script
{error: 'Too many requests',message: 'Please wait before trying again.',retryAfter: authEmailRateLimiter.getResetTime(`register-email:${normalizedEmail}`)},
{error: 'Too many requests',message: 'Please wait before trying again.',retryAfter: authEmailRateLimiter.getResetTime(`login-email:${normalizedEmail}`)},
0 commit comments