Une API Express "vanilla" n'est pas sécurisée par défaut. Voici la baseline minimale qu'on déploie sur tous nos services.
Helmet
npm i helmet puis app.use(helmet()). Ajoute 11 headers de sécurité d'un coup. Override CSP si vous servez du HTML.
CSP strict
Default-src 'self', script-src 'self' 'sha256-XXX' (hashes spécifiques), connect-src 'self' https://api.mistral.ai. Bloque 99% des XSS.
Rate limiting
express-rate-limit avec store Redis. 100 req/min général, 5/15min sur /login, 20/min sur /webhook.
CORS
Whitelist explicite des origins. Pas de origin: '*' en prod. Credentials true uniquement si vraiment nécessaire.
Body parser limits
express.json({ limit: '1mb' }). Sans ça, un attaquant peut envoyer 1 Go et OOM votre process.
Cookies
HttpOnly + Secure + SameSite=Lax. Session ID rotation à chaque login pour éviter session fixation.
Prêt à essayer TranscribeFlow ?
14 jours gratuits, sans carte bancaire. Souverain, RGPD, hébergé en Allemagne.
Créer un compte gratuit