\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.

límite del sandbox
Código fuente LaTeX (entrada, solo lectura)
TeX Live — los 4 motores
PDF compilado (en memoria)
Paquetes TeX estándar

bloqueado en el límite

Acceso al sistema de archivos
Solicitudes de red salientes
Ejecución de comandos de shell
Creación de procesos
Acceso a variables de entorno
Escrituras en almacenamiento persistente

\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.

Almacenamiento de claves de APISolo el hash SHA-256. La clave en bruto se muestra una vez al crearla y nunca la almacenamos.
Visibilidad de las clavesSolo se conserva el prefijo de la clave para mostrarlo. La clave completa es irrecuperable tras su creación.
Sesiones de usuarioTokens JWT, HS256, caducidad de 24 horas. Sin sesiones persistentes en el servidor.
RevocaciónEfecto inmediato. Las claves revocadas se rechazan en la pasarela antes de llegar a ningún worker.
Limitación de tasaTodos los endpoints tienen limitación de tasa en la capa de la pasarela, con independencia de las cuotas del plan.
Aplicación del planEl acceso a motores, el tiempo de espera, el tamaño de archivo y la cuota mensual se aplican por clave en cada solicitud.

\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.