Security

ES

Los auth tokens y las credenciales de proxy se cifran en reposo con AES-256-GCM. La clave se deriva de una variable de entorno del servidor.

Qué se cifra

Datos cifrados en reposo:

  • X auth tokens — cookie de sesión usada para acceder a X.
  • Proxy credentials — string del proxy (usuario y password incluidos).

Settings de módulos, display names y otros datos no sensibles se guardan en texto plano.

Cómo funciona

Los valores sensibles se cifran con AES-256-GCM (cifrado autenticado) antes de escribirse en storage. Cada valor lleva su propio IV aleatorio: cifrar el mismo token dos veces produce ciphertexts distintos.

El descifrado ocurre en runtime solo cuando un módulo necesita la credencial (p. ej. una llamada a la API de X).

Configuración de la clave

La clave se deriva de la variable de entorno X_TOKEN_ENC_KEY en el servidor. Puede ser cualquier string.

Si no está definida, el cifrado se desactiva y las credenciales se guardan en texto plano. Se registra un warning al arrancar.

Datos legacy

Si el sistema encuentra credenciales en texto plano (de antes del cifrado), las lee con normalidad y las cifra en el próximo guardado. No hace falta migración manual.

Alcance de seguridad

Qué protege: dumps de base de datos y acceso casual al disco. Un auth token cifrado no sirve sin la clave.

Qué no protege: un atacante con ejecución de código en el servidor puede leer la env var y descifrar todo. Es el baseline habitual en SaaS.

Guía para operadores: Token & Session Security for X Tools. Nunca pegues cookies ni auth tokens en chats.