Skip to content

Cifrado

En reposo

niil cifra tus datos sensibles en reposo con AES-256-GCM:

  • Contenido del chat — mensajes, títulos de conversación y documentos subidos.
  • Credenciales de los conectores — los tokens/claves de los servicios externos que conectas se cifran con una clave independiente.
  • Documentos de bases de conocimiento — cifrados con una clave por base. Ya sea que se almacenen en la base de datos o en el almacenamiento de objetos de la UE opcional de tu operador, solo se escribe texto cifrado — así que el criptoborrado también se aplica ahí.

El cifrado está siempre activado; no es un ajuste que puedas olvidar habilitar.

Claves por conversación → borrado real

Cada conversación se cifra con su propia clave de contenido, que a su vez se almacena cifrada con la clave maestra de la organización. Este diseño te ofrece crypto-shredding: eliminar una conversación descarta su clave, dejando el texto cifrado almacenado permanentemente irrecuperable — un borrado genuino, no solo una fila oculta. Esto es lo que impulsa el borrado del RGPD (consulta Protección de datos y RGPD).

En tránsito

Todo el tráfico circula sobre TLS (HTTPS), terminado en el ingress. Las cookies de sesión son HTTP-only y están marcadas como Secure tras HTTPS, así que nunca quedan expuestas a scripts ni se envían por HTTP en claro.

Gestión de claves

  • Las claves en reposo son claves de 32 bytes suministradas al despliegue como secretos (guardadas en tu gestor de secretos, no en la base de datos).
  • La clave del contenido del chat y la clave de las credenciales de los conectores son distintas.
  • Como el cifrado es real, la custodia de las claves importa: perder una clave hace crypto-shredding de los datos que protege. Se orienta a los operadores para que respalden el material de claves por separado de los datos que cifra.

El resultado: incluso alguien con acceso en bruto al almacenamiento de niil solo ve texto cifrado, no tus conversaciones, documentos ni credenciales.