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. Corre en un contenedor delante de la API de OpenAI y tus servicios no cambian su código: solo el base_url.
Resume el expediente de Valeria Quispe y escríbele a valeria.quispe@example.com.
Resume el expediente de [PERSONA_1] y escríbele a [CORREO_1].
Hola, [PERSONA_1]: revisamos tu expediente y está completo.
Hola, Valeria Quispe: revisamos tu expediente y está completo.
Cómo se implementa
Sin tocar el código de tus servicios: un contenedor en tu servidor y un base_url nuevo.
Un contenedor en tu centro de datos 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. Solo cambia la dirección.
El Gateway habla la API de OpenAI. Tus servicios 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 completa 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 el Gateway 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: solo 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 Valeria Quispe."}],
) import OpenAI from "openai";
// El mismo cliente y la misma clave: solo 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 Valeria Quispe." }],
}); # 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 Valeria Quispe."}]
}' Respuesta completa
Tu proveedor solo ve etiquetas; tu servicio recibe la respuesta con los datos reales, cada uno en su lugar.
Chatbot interno
Resume el ticket que abrió Andrea Salazar[PERSONA_1] desde andrea.salazar@example.com[CORREO_1].
El ticket de Andrea Salazar[PERSONA_1] es un problema de acceso a la VPN desde el lunes. Le escribo a andrea.salazar@example.com[CORREO_1] con los pasos para volver a conectarse.
Atención al cliente
Redacta un correo para Diego Rojas[PERSONA_1] (diego.rojas@example.com[CORREO_1]) para confirmarle que recibimos su documentación.
Hola, Diego Rojas[PERSONA_1]: te confirmamos que recibimos tu documentación. Te escribiremos a diego.rojas@example.com[CORREO_1] apenas esté todo listo.
Agente con herramientas
Consulta el estado del pedido de Luis Mendoza[PERSONA_1], celular +51 900 000 000[TELEFONO_1].
buscar_pedido({ "titular": "Luis Mendoza[PERSONA_1]", "celular": "+51 900 000 000[TELEFONO_1]" })
Tu herramienta recibe el valor real; el proveedor solo vio la etiqueta.
RR. HH.
Prepara la carta de bienvenida de Carlos Huamán[PERSONA_1]; su correo personal es carlos.huaman@example.com[CORREO_1].
Hola, Carlos Huamán[PERSONA_1]: te damos la bienvenida al equipo. Ya registramos tu correo carlos.huaman@example.com[CORREO_1] para el ingreso a planilla y tus boletas de pago.
Para tu oficial de datos personales: los datos llegan a tu proveedor sin poder asociarse a la persona, y la correspondencia con los datos reales se queda en tu infraestructura. Lo que dicen la Ley 29733 y su reglamento, en las preguntas.
La diferencia entre anonimizar y disociar según la ley peruana la explicamos en anonimización y disociación de datos.
La detección corre dentro de tu red: los datos no salen de ella para detectarse. No reescribe ni resume, solo 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 para [PERSONA_1] ([CORREO_1]) para confirmarle que recibimos su documentación. Lo que recibe tu servicio
Hola, Diego Rojas: te confirmamos que recibimos tu documentación. Te escribiremos a diego.rojas@example.com apenas 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 Argentina
[PERSONA_1][TELEFONO_1][DIRECCION_1][CORREO_1]Y además, en México
[PERSONA_1][TELEFONO_1][DIRECCION_1][CORREO_1]Y además, en Brasil
[PERSONA_1][TELEFONO_1][DIRECCION_1][CORREO_1]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 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][CUIT_1][DNI_AR_1][TRAMITE_DNI_AR_1]Tu servicio envía
Resume el expediente de Facundo Pérez, CUIL 20-12345678-0.
La IA recibe
Resume el expediente de [PERSONA_1], CUIL [CUIT_1].
[CURP_1][RFC_1]Tu servicio envía
Revisa el expediente de Diana Hernández, CURP HEMD850315MDFRRN09.
La IA recibe
Revisa el expediente de [PERSONA_1], CURP [CURP_1].
[CPF_1][CNPJ_1][DRIVING_LICENCE_BR_1]Tu servicio envía
Escríbele a Ana Souza sobre su pedido, CPF 123.456.789-00.
La IA recibe
Escríbele a [PERSONA_1] sobre su pedido, CPF [CPF_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
Respóndele a Mario Rossi, codice fiscale RSSMRA80A01H501X.
La IA recibe
Respóndele a [PERSONA_1], codice fiscale [CODIGO_FISCAL_IT_1].
[NIF_PT_1][NISS_1]Tu servicio envía
Verifica el alta de João Silva, NIF 123456780.
La IA recibe
Verifica el alta de [PERSONA_1], NIF [NIF_PT_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íale el resumen a Aoife Murphy, PPS 1234567A.
La IA recibe
Envíale el resumen a [PERSONA_1], PPS [PPS_1].
[TFN_1][MEDICARE_1]Tu servicio envía
Prepara la boleta de pago de Jack Wilson, TFN 123 456 789.
La IA recibe
Prepara la boleta de pago 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, celulares y teléfonos, direcciones, claves de API) y, además, los números de documento de los países de la tabla, cada uno con su formato propio. También IBAN, tarjetas y pasaportes (su zona de lectura mecánica).
| País | Documentos |
|---|---|
| Argentina | CUIL/CUIT, DNI, número de trámite del DNI |
| México | CURP, RFC |
| Brasil | CPF, CNPJ, CNH (licencia de conducir) |
| 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 |
| 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 tiene que construir tu equipo; con Nonimo Gateway viene hecho.
| Tarea | Construirlo con Presidio | Con Nonimo Gateway |
|---|---|---|
| Detectar datos personales en el texto | Lo trae Presidio | Incluido |
| Proxy compatible con OpenAI | Lo construyes tú | Viene hecho |
| Ponerlo delante de tu proveedor de IA | Lo conectas tú | Cambias base_url |
| Devolver los datos reales en la respuesta | Lo construyes 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 actualizado | Tu equipo | Nuevas versiones de nuestra parte |
| Dónde corre | En tu infraestructura | Un contenedor en tu servidor |
La comparación completa, fila por 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 construirlo, 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.
Solo viajan 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: Valeria Quispe
¿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
Todos los planes empiezan con 30 días de prueba y, si pasas el tope de palabras, el Gateway te avisa y el servicio sigue.
Te conviene Nonimo Gateway Empresa, US$ 539/mes
Para estudios jurídicos y contables
Nonimo Gateway Estudio US$ 319/mes Nonimo Gateway Estudio o US$ 3,190 al año
Para empresas con varios equipos y más volumen
Nonimo Gateway Empresa US$ 539/mes Nonimo Gateway Empresa o US$ 5,390 al año
Para grandes organizaciones con requisitos propios
Precio a convenir
Según nuestra estimación: el plan Estudio 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 por correo con qué trabajas hoy y te respondemos para ponerlo en marcha en tus servidores.
Escribe a hello@nonimo.ai y cuéntanos con qué trabajas hoy: qué IA usan en tu empresa y cuántas personas son. Te respondemos para dejarlo funcionando en tus servidores.
Escribir a hello@nonimo.aiPreguntas
Lo que preguntan el área de TI, el responsable de seguridad y el oficial de datos personales antes de desplegar el Gateway.
Con la de OpenAI y con cualquier API compatible con ella: Chat Completions y Responses, con function calling.
La consulta con una etiqueta como [PERSONA_1] o [CORREO_1] en el lugar de cada dato personal. 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). También puedes agregar tus propios términos literales, como números de expediente.
La detección corre en local, dentro de tu red, sin llamar a ningún servicio externo.
Se parece más a disociar. Anonimizar corta para siempre el vínculo con la persona; el enmascaramiento de datos del Gateway cambia cada dato por una etiqueta y te lo devuelve en la respuesta. Mucha gente busca anonimización de datos para usar la IA y lo que necesita es justamente esto: que el modelo no sepa de quién habla y que tú tengas la respuesta completa. La Ley 29733 distingue la anonimización, que es irreversible, de la disociación, que es reversible: aquí la correspondencia con los datos reales la conservas tú, en tu infraestructura.
Según nuestra estimación: el plan Estudio 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.
Solo 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, a pedido. Escríbenos a hello@nonimo.ai y acordamos las condiciones.
Te ayuda a reducir lo que le llega a tu proveedor de IA. El artículo 16 de la Ley 29733 pide al titular del banco de datos personales medidas técnicas, organizativas y legales que garanticen su seguridad, y su reglamento, el Decreto Supremo 016-2024-JUS, las desarrolla. Tapar los datos antes de que la consulta salga hacia OpenAI es una medida concreta en esa línea y reduce lo que viaja a servidores fuera del Perú. Para quien tiene la tabla de equivalencias, el dato sigue siendo personal, pero esa tabla se queda en tu infraestructura. No reemplaza tu análisis de riesgos, tus obligaciones ante la Autoridad Nacional de Protección de Datos Personales ni el contrato con tu proveedor, pero deja menos datos personales en manos de terceros.
En un servidor o un clúster donde corran contenedores, en tu centro de datos o en tu nube. Se instala junto a tus servicios y puedes tener varias instancias.
Es una licencia firmada por instancia que, en los planes con conexión, se renueva sola. Sin conexión, la cargas a mano y su vigencia depende de las condiciones que acordemos con cada cliente. Si superas el uso de tu plan, el Gateway te avisa y el servicio sigue.
No. Las actualizaciones las aplica tu área de TI cuando quiera, y el Gateway te avisa cuando sale una versión nueva.
Empieza ahora
Solicita acceso, instala el contenedor junto a tus servicios y comprueba con tu propio tráfico que los datos personales le llegan a la IA convertidos en etiquetas. Para el ChatGPT que tu equipo usa en el navegador está la app de escritorio de Nonimo.
Elige el tipo de archivo y tapa los datos personales antes de enviarlo. Sin registrarte y en un minuto.