Skip to main content

Seguridad

API key

  • Guárdala en una variable de entorno o gestor de secretos.
  • No la pongas en el código, en URLs ni en logs.
  • Usa una key por entorno y rótala si se filtra.

URLs firmadas

POST /convert/from-url está pensado para URLs firmadas y de corta duración de tu storage (S3, Supabase, R2, GCS, Azure):
  • Expiran rápido.
  • No se almacenan.
  • No se imprimen en logs.

Protección SSRF

Las URLs que envías a from-url/accelerated se validan antes de descargarlas, y la validación se repite justo antes de conectar (anti DNS-rebinding). Las defensas: Además, siempre (configurable o no):
  • Se rechazan direcciones internas, loopback, link-local y reservadas (http://localhost, 169.254.169.254, IPs privadas, [::1]…), para que la API no pueda usarse como puente hacia redes internas ni hacia el endpoint de metadata del cloud.
  • Se rechaza cualquier URL con credenciales embebidas (user:pass@host).
La protección máxima es fijar ALLOWED_FETCH_HOSTS con los hosts de tus buckets (p. ej. tu-cuenta.r2.cloudflarestorage.com). Con la allowlist activa, solo esos hosts se aceptan y el DNS-rebinding deja de ser posible.

Tus documentos

  • La API convierte y devuelve; no guarda tus documentos.
  • Si necesitas caché, usa tu propio storage y el header ETag. Ver Caché y ETag.
Para conversiones repetidas del mismo documento, aprovecha el ETag con If-None-Match y ahorra ancho de banda.