Cifratura
A riposo
niil cifra i tuoi dati sensibili a riposo con AES-256-GCM:
- Contenuti delle conversazioni — messaggi, titoli delle conversazioni e documenti caricati.
- Credenziali di connessione — i token/chiavi dei servizi esterni che colleghi sono cifrati con una chiave separata.
- Documenti delle knowledge base — cifrati con una chiave per ogni base. Che siano archiviati nel database o nell'archiviazione oggetti UE opzionale del tuo operatore, viene scritto solo testo cifrato — quindi la cancellazione crittografica si applica anche lì.
La cifratura è sempre attiva; non è un'impostazione che si può dimenticare di abilitare.
Chiavi per conversazione → cancellazione reale
Ogni conversazione è cifrata con la propria chiave di contenuto, a sua volta archiviata cifrata sotto la chiave principale dell'organizzazione. Questo design consente la cancellazione crittografica (crypto-shred): eliminare una conversazione scarta la sua chiave, rendendo il testo cifrato archiviato definitivamente irrecuperabile — una cancellazione reale, non solo una riga nascosta. È ciò che alimenta la cancellazione GDPR (vedi Protezione dei dati & GDPR).
In transito
Tutto il traffico passa per TLS (HTTPS), terminato all'ingress. I cookie di sessione sono HTTP-only e contrassegnati come Secure dietro HTTPS, così da non essere mai esposti agli script né inviati su HTTP non cifrato.
Gestione delle chiavi
- Le chiavi a riposo sono chiavi da 32 byte fornite al deployment come segreti (conservate nel tuo gestore di segreti, non nel database).
- La chiave dei contenuti di chat e la chiave delle credenziali di connessione sono distinte.
- Poiché la cifratura è reale, la custodia delle chiavi conta: perdere una chiave cancella crittograficamente i dati che protegge. Agli operatori è consigliato di eseguire il backup del materiale delle chiavi separatamente dai dati che cifra.
Il risultato: anche chi ha accesso grezzo all'archiviazione di niil vede solo testo cifrato, non le tue conversazioni, documenti o credenziali.