Chiffrement
Au repos
niil chiffre vos données sensibles au repos avec AES-256-GCM :
- Contenu des conversations — messages, titres de conversation et documents téléversés.
- Identifiants de connexion — les jetons/clés des services externes que vous connectez sont chiffrés avec une clé distincte.
- Documents des bases de connaissances — chiffrés avec une clé propre à chaque base. Qu'ils soient stockés dans la base de données ou dans le stockage objet UE optionnel de votre opérateur, seul du texte chiffré est écrit — l'effacement cryptographique s'y applique donc aussi.
Le chiffrement est toujours actif ; ce n'est pas un réglage que l'on peut oublier d'activer.
Clés par conversation → effacement véritable
Chaque conversation est chiffrée sous sa propre clé de contenu, elle-même stockée chiffrée sous la clé maîtresse de l'organisation. Cette conception permet l'effacement cryptographique (crypto-shred) : supprimer une conversation abandonne sa clé, rendant le texte chiffré stocké définitivement irrécupérable — un véritable effacement, pas seulement une ligne masquée. C'est ce qui alimente l'effacement RGPD (voir Protection des données & RGPD).
En transit
Tout le trafic passe par TLS (HTTPS), terminé au niveau de l'ingress. Les cookies de session sont HTTP-only et marqués Secure derrière HTTPS, de sorte qu'ils ne sont jamais exposés aux scripts ni envoyés en HTTP non chiffré.
Gestion des clés
- Les clés au repos sont des clés de 32 octets fournies au déploiement sous forme de secrets (conservées dans votre gestionnaire de secrets, pas dans la base de données).
- La clé de contenu de chat et la clé d'identifiants de connexion sont distinctes.
- Parce que le chiffrement est réel, la garde des clés compte : perdre une clé efface cryptographiquement les données qu'elle protège. Il est recommandé aux opérateurs de sauvegarder le matériel de clés séparément des données qu'il chiffre.
Résultat : même une personne disposant d'un accès brut au stockage de niil ne voit que du texte chiffré, pas vos conversations, documents ou identifiants.