Ir al contenido

Instalar Anonimal

Anonimal corre local / autoalojado: los datos nunca salen de tu infraestructura. La imagen se publica en GitHub Container Registry y expone el puerto 8000 dentro del contenedor.

Hay dos imágenes. Elige según cobertura versus peso.

ImagenTagTamañoDetectaCuándo
full (ML):latest, :<ver>~6-7 GB imagen + ~3 GB RAMestructurado + nombres / direcciones (OPF)máxima cobertura; reemplazando el Anonimal del ecosistema
lite (regex):lite, :<ver>-litedecenas de MBsolo estructurado (correo, teléfono, tarjeta, DNI, CUIT, CBU, secretos)liviano, sin ML; no ve nombres en texto libre
  • Docker (el único requisito obligatorio).
  • lite: unas pocas decenas de MB de disco y RAM mínima. Arranca al instante.
  • full: ~6-7 GB de disco y ~3 GB de RAM para el modelo residente; está limitado por CPU. Dale al contenedor aproximadamente 6 GB de RAM.
Ventana de terminal
# Arranca al instante, sin modelo
docker run -d --name anonimal -p 8920:8000 \
ghcr.io/diegoparras/anonimal-svc:lite

Verifica el estado, luego anonimiza una muestra. La interfaz web se sirve en la misma dirección.

Ventana de terminal
curl -s localhost:8920/health
curl -s localhost:8920/anonymize -H "Content-Type: application/json" \
-d '{"text":"email juan@acme.com, CUIT 20-12345678-6","mode":"pseudo"}'

En la imagen full, /health responde de inmediato mientras el modelo carga en segundo plano; ml.ready cambia a true una vez que el checkpoint está caliente. La interfaz vive en http://localhost:8920.

La variable ANONIMAL_ENGINE selecciona el motor de detección:

  • auto (por defecto) — usa ML si está listo, de lo contrario recurre a lite.
  • lite — solo regex (estructurado + identificadores LATAM). Siempre disponible.
  • ml — fuerza el motor OpenAI Privacy Filter (devuelve 503 si no está disponible, p. ej. en la imagen lite).

OPF_DEVICE (solo imagen full) alterna el motor ML entre cpu y cuda.

VariablePor defectoPropósito
ANONIMAL_ENGINEautoSelección de motor: auto · lite · ml.
ANONIMAL_MODEpseudoModo de reemplazo por defecto para la API / interfaz.
ANONIMAL_TOKEN(vacío)Token de servicio. Si se define, cada solicitud debe llevarlo (Authorization: Bearer o X-Anonimal-Token).
ANON_HASH_KEY(aleatoria por proceso)Clave para el modo hash; defínela para seudónimos estables entre reinicios.
ANONIMAL_MAX_CHARS500000Longitud máxima de entrada (por encima devuelve 413).
ANONIMAL_MAX_PDF_BYTES26214400 (25 MB)Tamaño máximo de PDF para redacción.
OPF_DEVICEcpucpu o cuda (solo imagen full).
OPF_CHECKPOINT(por defecto)Ruta a un checkpoint OPF personalizado (solo imagen full).

Diseñado para correr local. Si lo expones en una red: define ANONIMAL_TOKEN (obligatorio en cada solicitud) y pon un proxy inverso con TLS por delante. La imagen corre como un usuario non-root y aplica límites de tamaño (ANONIMAL_MAX_CHARS). Dentro del ecosistema, mantén a Anonimal en la red interna sin dominio público y deja que Escriba lo alcance por hostname interno.

Leer la documentación completa