Nonimo Gateway, en tu servidor
Nonimo Gateway tapa los datos personales en tus propios servidores antes de cada llamada a la IA y los devuelve en la respuesta. Va en un contenedor delante de la API de OpenAI y tus servicios no cambian de código: sólo el base_url.
Resume el expediente de María López y escríbele a maria.lopez@example.com.
Resume el expediente de [PERSONA_1] y escríbele a [CORREO_1].
Hola, [PERSONA_1]: hemos revisado tu expediente y está completo.
Hola, María López: hemos revisado tu expediente y está completo.
Puesta en marcha
Sin tocar el código de tus servicios: un contenedor en tu servidor y un base_url nuevo.
Un contenedor en tu CPD o en tu nube.
Se instala en tus servidores o en tu cuenta de nube, junto a tus servicios, y puedes tener varias instancias a la vez.
Tu código sigue hablando la API de OpenAI. Sólo cambia la dirección.
El Gateway habla la API de OpenAI. Tus servicios lo apuntan a él y siguen llamando a /v1/chat/completions o a /v1/responses, con function calling incluido. El destino puede ser OpenAI o cualquier API compatible.
Los datos salen como etiquetas y vuelven reales en la respuesta.
Cada petición se revisa entera antes de salir hacia tu proveedor: los datos personales se cambian por etiquetas y, en la respuesta, cada etiqueta recupera su valor. Las peticiones de tus servicios a la IA pasan por él antes de salir de tu red.
El SDK oficial de OpenAI funciona sin cambios; basta con apuntar el cliente al Gateway:
from openai import OpenAI
# El mismo cliente y la misma clave: sólo cambia base_url
client = OpenAI(base_url="http://tu-servidor:8080/v1")
resp = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Resume el expediente de María López."}],
) import OpenAI from "openai";
// El mismo cliente y la misma clave: sólo cambia baseURL
const client = new OpenAI({ baseURL: "http://tu-servidor:8080/v1" });
const resp = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Resume el expediente de María López." }],
}); # La misma petición de siempre, contra tu servidor
curl http://tu-servidor:8080/v1/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "Resume el expediente de María López."}]
}' Vuelven los datos
Tu proveedor sólo ve etiquetas; tu servicio recibe la respuesta con los datos reales, cada uno en su sitio.
Chatbot interno
Resume la incidencia que abrió Lucía Martín[PERSONA_1] desde lucia.martin@example.com[CORREO_1].
La incidencia de Lucía Martín[PERSONA_1] es un fallo de acceso a la VPN desde el lunes. Le escribo a lucia.martin@example.com[CORREO_1] con los pasos para volver a conectarse.
Atención al cliente
Redacta un correo a Carlos Ruiz[PERSONA_1] (carlos.ruiz@example.com[CORREO_1]) para confirmarle que hemos recibido su documentación.
Hola, Carlos Ruiz[PERSONA_1]: te confirmamos que hemos recibido tu documentación. Te escribiremos a carlos.ruiz@example.com[CORREO_1] en cuanto esté todo listo.
Agente con herramientas
Consulta el estado del pedido de Ana Gómez[PERSONA_1], DNI 12345678A[DNI_1].
buscar_pedido({ "titular": "Ana Gómez[PERSONA_1]", "dni": "12345678A[DNI_1]" })
Tu herramienta recibe el valor real; el proveedor sólo vio la etiqueta.
RR. HH.
Prepara la carta de bienvenida de Javier Moreno[PERSONA_1]; su nómina irá a la cuenta ES00 0000 0000 0000 0000 0000[IBAN_1].
Hola, Javier Moreno[PERSONA_1]: te damos la bienvenida al equipo. Ingresaremos tu nómina en la cuenta ES00 0000 0000 0000 0000 0000[IBAN_1].
Para tu DPO: es seudonimización (artículo 4.5 del RGPD) y la correspondencia con los datos reales se queda en tu infraestructura. Lo que dice del RGPD y la AEPD, en las preguntas.
La diferencia entre seudonimizar y anonimizar la explicamos en anonimizar o seudonimizar datos para la IA.
La detección corre dentro de tu red: los datos no salen de ella para detectarse. No reescribe ni resume, sólo marca qué es un dato personal, y dentro de una conversación cada dato conserva su etiqueta de principio a fin. En las llamadas a herramientas, tapa los valores de texto de los argumentos sin alterar su estructura y, cuando el modelo pide ejecutar una función, se la entrega con el valor real para que tu herramienta trabaje con datos de verdad.
Lo que sale hacia OpenAI
Redacta un correo a [PERSONA_1] ([CORREO_1]) para confirmarle que hemos recibido su documentación. Lo que recibe tu servicio
Hola, Carlos Ruiz: te confirmamos que hemos recibido tu documentación. Te escribiremos a carlos.ruiz@example.com en cuanto esté todo listo. Documentos de cada país
Cada documento, con su formato propio. Elige un país y mira qué le llega a la IA.
Y además, en España
[PERSONA_1][TELEFONO_1][IBAN_1][DIRECCION_1][CORREO_1]Y además, en Alemania
[PERSONA_1][TELEFONO_1][IBAN_1][DIRECCION_1][CORREO_1]Y además, en Francia
[PERSONA_1][TELEFONO_1][IBAN_1][DIRECCION_1][CORREO_1]Y además, en Italia
[PERSONA_1][TELEFONO_1][IBAN_1][DIRECCION_1][CORREO_1]Y además, en Portugal
[PERSONA_1][TELEFONO_1][IBAN_1][CODIGO_POSTAL_PT_1][CORREO_1]Y además, en Brasil
[PERSONA_1][TELEFONO_1][DIRECCION_1][CORREO_1]Y además, en Reino Unido
[PERSONA_1][TELEFONO_1][CUENTA_GB_1][CODIGO_POSTAL_GB_1][CORREO_1]Y además, en Irlanda
[PERSONA_1][TELEFONO_1][IBAN_1][CODIGO_POSTAL_IE_1][CORREO_1]Y además, en Australia
[PERSONA_1][TELEFONO_1][BSB_1][CUENTA_AU_1][CORREO_1]Y además, en EE. UU.
[PERSONA_1][TELEFONO_1][CUENTA_US_1][DIRECCION_1][CORREO_1]Y en todos los países
[CLAVE_API_1][TARJETA_1][PASAPORTE_1][DNI_1][NIE_1][NIF_1][NUSS_1]Tu servicio envía
Resume el expediente de María López, DNI 12345678A.
La IA recibe
Resume el expediente de [PERSONA_1], DNI [DNI_1].
[NIF_DE_1][NUSS_DE_1]Tu servicio envía
Prepara la carta para Jonas Weber, Steuer-ID 12345678901.
La IA recibe
Prepara la carta para [PERSONA_1], Steuer-ID [NIF_DE_1].
[NIR_1][SIREN_1][SIRET_1]Tu servicio envía
Revisa la ficha de Camille Martin, NIR 1 85 05 78 006 084 00.
La IA recibe
Revisa la ficha de [PERSONA_1], NIR [NIR_1].
[CODIGO_FISCAL_IT_1][NIF_IVA_IT_1][DNI_IT_1][TARJETA_SANITARIA_IT_1]Tu servicio envía
Contesta a Mario Rossi, codice fiscale RSSMRA80A01H501X.
La IA recibe
Contesta a [PERSONA_1], codice fiscale [CODIGO_FISCAL_IT_1].
[NIF_PT_1][NISS_1]Tu servicio envía
Comprueba el alta de João Silva, NIF 123456780.
La IA recibe
Comprueba el alta de [PERSONA_1], NIF [NIF_PT_1].
[CPF_1][CNPJ_1][DRIVING_LICENCE_BR_1]Tu servicio envía
Escribe a Ana Souza sobre su pedido, CPF 123.456.789-00.
La IA recibe
Escribe a [PERSONA_1] sobre su pedido, CPF [CPF_1].
[NINO_1][NHS_NUMBER_1]Tu servicio envía
Actualiza el registro de Oliver Smith, National Insurance QQ 12 34 56 C.
La IA recibe
Actualiza el registro de [PERSONA_1], National Insurance [NINO_1].
[PPS_1]Tu servicio envía
Envía el resumen a Aoife Murphy, PPS 1234567A.
La IA recibe
Envía el resumen a [PERSONA_1], PPS [PPS_1].
[TFN_1][MEDICARE_1]Tu servicio envía
Prepara la nómina de Jack Wilson, TFN 123 456 789.
La IA recibe
Prepara la nómina de [PERSONA_1], TFN [TFN_1].
[SSN_1]Tu servicio envía
Revisa la solicitud de John Miller, SSN 987-65-4321.
La IA recibe
Revisa la solicitud de [PERSONA_1], SSN [SSN_1].
Datos inventados y números de ejemplo que no son válidos.
El Gateway reconoce los datos personales de siempre (nombres, correos, teléfonos, direcciones, claves de API) y, además, los números de documento de cada país, con su formato propio. También IBAN, tarjetas y pasaportes (su zona de lectura mecánica).
| País | Documentos |
|---|---|
| España | DNI, NIE, NIF, número de la Seguridad Social |
| Alemania | Steuer-ID, Sozialversicherungsnummer |
| Francia | NIR (numéro de sécurité sociale), SIREN, SIRET |
| Italia | codice fiscale, partita IVA, carta d’identità elettronica (CIE), tessera sanitaria |
| Portugal | NIF, NISS |
| Brasil | CPF, CNPJ, CNH (permiso de conducir) |
| Reino Unido | National Insurance number, NHS number |
| Irlanda | PPS number |
| Australia | TFN, Medicare |
| Estados Unidos | Social Security number |
| En todos los países | IBAN, pasaportes (zona de lectura mecánica), tarjetas |
Frente a Presidio
Presidio detecta datos personales en un texto. El proxy compatible con OpenAI que lo pone delante de la API lo monta tu equipo; con Nonimo Gateway viene hecho.
| Tarea | Montarlo con Presidio | Con Nonimo Gateway |
|---|---|---|
| Detectar datos personales en el texto | Lo trae Presidio | Incluido |
| Proxy compatible con OpenAI | Lo montas tú | Viene hecho |
| Ponerlo delante de tu proveedor de IA | Lo conectas tú | Cambias base_url |
| Devolver los datos reales en la respuesta | Lo montas tú | Viene hecho |
| Números de identificación de cada país | Eliges y ajustas reconocedores | Los de la tabla de arriba |
| Textos en español y otros idiomas | Lo configuras tú | Viene hecho |
| Mantenerlo al día | Tu equipo | Nuevas versiones de nuestra parte |
| Dónde corre | En tu infraestructura | Un contenedor en tu servidor |
La comparación completa, fila a fila: Alternativa a Microsoft Presidio →
Presidio detecta datos personales en un texto, pero no trae un proxy compatible con OpenAI: para ponerlo delante de la API, tu equipo tiene que montarlo, conectarlo y mantenerlo.
Nonimo Gateway te lo da hecho: un contenedor en tu propio servidor, una API compatible con OpenAI, los datos reales de vuelta en la respuesta y los números de identificación de cada país de la tabla de arriba.
En tu servidor
Sigues con tu proveedor de IA y el Gateway es una pieza más de tu perímetro.
Se instala en tus servidores o en tu nube, junto a tus servicios.
Sólo van la licencia y cifras de uso. Tu contenido no pasa por Nonimo.
Tu clave de API no se guarda en el Gateway.
LiteLLM
Si tu plataforma ya enruta las llamadas con LiteLLM, Nonimo encaja de dos formas. Elige la que necesitas.
Sale Resume el expediente de [PERSONA_1]
Vuelve La respuesta llega con las etiquetas: [PERSONA_1]
Sale Resume el expediente de [PERSONA_1]
Vuelve La respuesta llega con los valores reales: María López
¿Ya usas LiteLLM? Nonimo se activa como guardrail, o como proxy delante de tu proveedor si quieres los datos de vuelta en la respuesta.
Planes y precios
Todos los planes incluyen 30 días de prueba y, si pasas del tope de palabras, el Gateway te avisa y el servicio sigue.
Te encaja Nonimo Gateway Empresa, 490 €/mes
Para despachos y equipos que empiezan con la IA
Nonimo Gateway Despacho 290 €/mes Nonimo Gateway Despacho o 2.900 € al año
Para empresas con varios equipos y más volumen
Nonimo Gateway Empresa 490 €/mes Nonimo Gateway Empresa o 4.900 € al año
Para grandes organizaciones con requisitos propios
Precio a consultar
Según nuestra estimación: el plan Despacho incluye 25 millones de palabras al mes, suficiente para equipos de hasta unas 200 personas; el plan Empresa, 150 millones, para equipos de hasta unas 1.000; y el plan A medida no tiene tope, pensado para más de 1.000 personas o varias sedes. Si alguna vez te pasas, te avisamos y el servicio sigue funcionando.
Acceso
Cuéntanos qué usas hoy y te escribimos para que lo pruebes en tu servidor.
Preguntas
Lo que preguntan el responsable de TI, el de seguridad y el DPO antes de desplegar el Gateway.
Con la de OpenAI y con cualquier API que la imite: Chat Completions y Responses, con llamadas a herramientas.
El texto con cada dato personal sustituido por una etiqueta, como [PERSONA_1] o [DNI_1]. Por tipo de dato y por sentido eliges tapar, bloquear (la petición no sale y el error indica la categoría, nunca el valor) o avisar (sale tal cual y queda contado). Puedes añadir tus propios términos literales, como códigos de expediente.
La detección corre en local, dentro de tu red, sin consultar ningún servicio externo.
Es seudonimización, que es lo que necesitas cuando quieres la respuesta completa. Anonimizar datos rompe para siempre el vínculo con la persona; el enmascaramiento de datos del Gateway los cambia por etiquetas y te los devuelve en la respuesta. Quien busca anonimización de datos para usar la IA casi siempre necesita justo esto.
Según nuestra estimación: el plan Despacho incluye 25 millones de palabras al mes, suficiente para equipos de hasta unas 200 personas; el plan Empresa, 150 millones, para equipos de hasta unas 1.000; y el plan A medida no tiene tope, pensado para más de 1.000 personas o varias sedes. Si alguna vez te pasas, te avisamos y el servicio sigue funcionando.
Por defecto, la petición no sale y tu aplicación recibe un error claro.
Sólo para la licencia y cifras de uso, nunca contenido. Si tu red no puede salir hacia Nonimo, en los planes Empresa y A medida tienes un modo sin conexión bajo petición. Escríbenos a hello@nonimo.ai y acordamos las condiciones.
Te ayuda a reducir lo que llega a tu proveedor de IA. El RGPD define la seudonimización en su artículo 4.5 y la cita como medida en los artículos 25 y 32, y la AEPD recuerda que para quien conserva la clave el dato sigue siendo personal. Aquí esa clave se queda en tu infraestructura. No sustituye tu análisis de riesgos ni tu contrato de encargo del tratamiento con el proveedor, pero deja menos datos personales en manos de terceros.
Un servidor o un clúster donde corran contenedores, en tu CPD o en tu nube. Se instala junto a tus servicios y puedes tener varias instancias.
Es una licencia firmada por instancia. En los planes con conexión se renueva sola; en el modo sin conexión se carga a mano y su vigencia depende de las condiciones de cada cliente. Si superas el uso de tu plan, el Gateway te avisa y el servicio sigue.
No. El Gateway te avisa cuando hay una versión nueva y tu equipo de informática la aplica cuando quiera.
Guías
Guías sobre AI gateways, proxies de privacidad y cómo evitar que los datos personales salgan en las llamadas a la IA.
Empieza ahora
Pide acceso, instala el contenedor junto a tus servicios y comprueba con tu propio tráfico que los datos personales llegan a la IA convertidos en etiquetas. Para la IA que tu equipo usa en el navegador, mira Nonimo para organizaciones.
Elige el tipo de archivo y quita los datos personales antes de enviarlo. Sin registro y en un minuto.