- La double authentification est obligatoire
- Un compte sans facteur enrôlé passe par la configuration avant de pouvoir faire quoi que ce soit d'autre. TOTP, clés d'accès et codes de secours.
- Mots de passe hachés avec Argon2
- Un sel par mot de passe. Un nom d'utilisateur inconnu coûte autant de calcul qu'un mot de passe faux, et reçoit la même réponse.
- Secrets chiffrés en AES-256-GCM
- Variables CI, secrets des webhooks, mot de passe SMTP et secrets TOTP, sous
SETTINGS_ENCRYPTION_KEY. - Des jetons pour Git, jamais de mots de passe
- Git sur HTTPS s'authentifie avec un jeton d'accès personnel, stocké haché : le serveur ne peut pas le relire.
- Un journal d'audit
- Connexions échouées, accès Git refusés, réinitialisations de mot de passe, promotions et réinitialisations de MFA par un administrateur sont enregistrées comme événements.
- Pas de cookies, des en-têtes stricts
- Les sessions sont des JWT. Chaque réponse porte une Content-Security-Policy,
X-Frame-Options: DENY, et les routes de connexion sont limitées en débit par IP. - Vos données, sur votre serveur
- PostgreSQL et un répertoire de dépôts, tous deux à vous de sauvegarder. L'image tourne avec un utilisateur sans privilège sur un système de fichiers en lecture seule.
camille · 2 min
Attente exponentielle, pour qu'un point de terminaison instable ne soit plus martelé.