\documentclass{security}
La seguridad no es
un complemento.
Ejecutar con seguridad LaTeX proporcionado por los usuarios es un problema difícil. El sandbox, la prevención del shell escape y la gestión de archivos efímeros están integrados en el pipeline de compilación, no añadidos a posteriori.
Ejecución en sandbox
Cada trabajo se ejecuta en un contenedor aislado que se destruye al terminar.
Archivos de compilación efímeros
El código fuente de compilación y el PDF se eliminan tras el procesamiento. Los archivos de proyecto que decida guardar permanecen en su cuenta.
Aislamiento de red
Los workers no tienen acceso saliente a internet durante la compilación.
Shell escape bloqueado
Se aplica -no-shell-escape. Se impide la ejecución de código arbitrario.
\section{Aislamiento}
Aislado por trabajo y destruido después
Cada compilación se ejecuta dentro de su propio contenedor aislado. Los workers no comparten estado del sistema de archivos, variables de entorno ni datos en memoria entre trabajos, sin importar qué usuario o clave de API los envió.
Cuando el trabajo termina, el contenedor se destruye. No queda ningún estado residual al que pueda acceder un trabajo posterior. Cada compilación parte de cero.
El shell escape está desactivado de forma permanente mediante -no-shell-escape. Las macros de LaTeX no pueden lanzar comandos de shell, acceder al sistema de archivos fuera del sandbox ni exfiltrar datos a través de primitivas de TeX.
bloqueado en el límite
\section{Ciclo de vida de los datos}
Qué ocurre con su LaTeX
Su código fuente y su salida existen solo mientras dura el trabajo de compilación. Esta es la secuencia exacta.
Recibido
Llega el código fuente
LaTeX transmitido por TLS. El tamaño de la entrada se valida frente al límite de su plan antes de cualquier procesamiento.
En cola
Trabajo en cola
Se coloca en una cola aislada. Sin estado de worker compartido entre trabajos de distintas claves de API o usuarios.
Compilando
Compilación en sandbox
Se asigna un contenedor aislado. TeX Live se ejecuta con -no-shell-escape y sin acceso a la red.
Devuelto
PDF entregado
PDF compilado devuelto en el cuerpo de la respuesta o mediante una URL de corta duración. Sus datos salen de nuestra infraestructura.
Destruido
Archivos eliminados
Los archivos fuente y la salida compilada se eliminan del disco y de la memoria tras el procesamiento.
\section{Control de acceso}
Claves, tokens y aplicación de reglas
Las claves de API se almacenan con hash. Las sesiones JWT caducan a las 24 horas. Cada solicitud tiene limitación de tasa y se valida frente a los límites de su plan antes de llegar a un worker.
\section{Divulgación}
Divulgación responsable
Si descubre una vulnerabilidad de seguridad, ya sea en la API, en el pipeline de compilación o en la interfaz web, le rogamos que la comunique de forma privada antes de divulgarla públicamente. Acusamos recibo de los informes en 48 horas y resolvemos los problemas críticos en 7 días.
Acuse de recibo en 48 horas
Confirmaremos la recepción de su informe en un plazo de dos días hábiles.
Sin acciones legales contra los investigadores
La investigación de seguridad realizada de buena fe conforme a esta política no dará lugar a acciones legales.
Parche crítico en 7 días
Las vulnerabilidades críticas que afecten a los datos de los usuarios o a la integridad de la compilación se corrigen en 7 días.
Reconocimiento a petición
Quienes informen pueden solicitar reconocimiento público cuando se divulgue la vulnerabilidad.
\begin{document}
¿Listo para compilar sin riesgos?
15 compilaciones gratuitas cada mes. No se requiere tarjeta de crédito.

