Nonimo Gateway, en tu servidor
Nonimo Gateway tapa los datos personales en tus propios servidores antes de cada llamada a la IA y los repone en la respuesta. Va en un contenedor delante de la API de OpenAI y tus servicios no cambian el código: sólo el base_url.
Resumí el expediente de Martina González y escribile a martina.gonzalez@example.com.
Resumí el expediente de [PERSONA_1] y escribile a [CORREO_1].
Hola, [PERSONA_1]: revisamos tu expediente y está completo.
Hola, Martina González: revisamos tu expediente y está completo.
Cómo se arma
Sin tocar el código de tus servicios: un contenedor en tu servidor y un base_url nuevo.
Un contenedor en tu data center o en tu nube.
Se instala en tus servidores o en tu cuenta de nube, al lado de tus servicios, y podés 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 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; alcanza 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": "Resumí el legajo de Martina González."}],
) 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: "Resumí el legajo de Martina González." }],
}); # 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": "Resumí el legajo de Martina González."}]
}' Respuesta completa
Tu proveedor sólo ve etiquetas; tu servicio recibe la respuesta con los datos reales, cada uno en su lugar.
Chatbot interno
Resumí el ticket que abrió Agustina Romero[PERSONA_1] desde agustina.romero@example.com[CORREO_1].
El ticket de Agustina Romero[PERSONA_1] es un problema de acceso a la VPN desde el lunes. Le escribo a agustina.romero@example.com[CORREO_1] con los pasos para volver a conectarse.
Atención al cliente
Redactá un mail para Facundo Pérez[PERSONA_1] (facundo.perez@example.com[CORREO_1]) para confirmarle que recibimos su documentación.
Hola, Facundo Pérez[PERSONA_1]: te confirmamos que recibimos tu documentación. Te vamos a escribir a facundo.perez@example.com[CORREO_1] apenas esté todo listo.
Agente con herramientas
Consultá el estado del pedido de Santiago Fernández[PERSONA_1], DNI 99.999.999[DNI_AR_1].
buscar_pedido({ "titular": "Santiago Fernández[PERSONA_1]", "dni": "99.999.999[DNI_AR_1]" })
Tu herramienta recibe el valor real; el proveedor sólo vio la etiqueta.
RR. HH.
Prepará la carta de bienvenida de Tomás Herrera[PERSONA_1]; su CUIL es 20-12345678-0[CUIT_1].
Hola, Tomás Herrera[PERSONA_1]: te damos la bienvenida al equipo. Ya cargamos tu CUIL 20-12345678-0[CUIT_1] para el alta y el recibo de sueldo.
Para tu responsable de protección de datos: 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 25.326 y la AAIP, en las preguntas.
La diferencia entre anonimizar, disociar y seudonimizar 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, 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
Redactá un mail para [PERSONA_1] ([CORREO_1]) para confirmarle que recibimos su documentación. Lo que recibe tu servicio
Hola, Facundo Pérez: te confirmamos que recibimos tu documentación. Te vamos a escribir a facundo.perez@example.com apenas esté todo listo. Documentos de cada país
Cada documento, con su formato propio. Elegí un país y mirá 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
Resumí el legajo de Facundo Pérez, CUIL 20-12345678-0.
La IA recibe
Resumí el legajo de [PERSONA_1], CUIL [CUIT_1].
[CURP_1][RFC_1]Tu servicio envía
Revisá el expediente de Diana Hernández, CURP HEMD850315MDFRRN09.
La IA recibe
Revisá el expediente de [PERSONA_1], CURP [CURP_1].
[CPF_1][CNPJ_1][DRIVING_LICENCE_BR_1]Tu servicio envía
Escribile a Ana Souza por su pedido, CPF 123.456.789-00.
La IA recibe
Escribile a [PERSONA_1] por su pedido, CPF [CPF_1].
[DNI_1][NIE_1][NIF_1][NUSS_1]Tu servicio envía
Resumí el expediente de María López, DNI 12345678A.
La IA recibe
Resumí el expediente de [PERSONA_1], DNI [DNI_1].
[NIF_DE_1][NUSS_DE_1]Tu servicio envía
Prepará la carta para Jonas Weber, Steuer-ID 12345678901.
La IA recibe
Prepará la carta para [PERSONA_1], Steuer-ID [NIF_DE_1].
[NIR_1][SIREN_1][SIRET_1]Tu servicio envía
Revisá la ficha de Camille Martin, NIR 1 85 05 78 006 084 00.
La IA recibe
Revisá 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
Respondele a Mario Rossi, codice fiscale RSSMRA80A01H501X.
La IA recibe
Respondele a [PERSONA_1], codice fiscale [CODIGO_FISCAL_IT_1].
[NIF_PT_1][NISS_1]Tu servicio envía
Verificá el alta de João Silva, NIF 123456780.
La IA recibe
Verificá el alta de [PERSONA_1], NIF [NIF_PT_1].
[NINO_1][NHS_NUMBER_1]Tu servicio envía
Actualizá el registro de Oliver Smith, National Insurance QQ 12 34 56 C.
La IA recibe
Actualizá el registro de [PERSONA_1], National Insurance [NINO_1].
[PPS_1]Tu servicio envía
Mandale el resumen a Aoife Murphy, PPS 1234567A.
La IA recibe
Mandale el resumen a [PERSONA_1], PPS [PPS_1].
[TFN_1][MEDICARE_1]Tu servicio envía
Prepará el recibo de sueldo de Jack Wilson, TFN 123 456 789.
La IA recibe
Prepará el recibo de sueldo de [PERSONA_1], TFN [TFN_1].
[SSN_1]Tu servicio envía
Revisá la solicitud de John Miller, SSN 987-65-4321.
La IA recibe
Revisá 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, mails, teléfonos, direcciones, claves de API) y, además, los números de documento de cada país con su formato propio: en Argentina, el CUIL o CUIT, el DNI y el número de trámite del DNI. 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 (registro 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 arma tu equipo; con Nonimo Gateway viene hecho.
| Tarea | Armarlo con Presidio | Con Nonimo Gateway |
|---|---|---|
| Detectar datos personales en el texto | Lo trae Presidio | Incluido |
| Proxy compatible con OpenAI | Lo armás vos | Viene hecho |
| Ponerlo delante de tu proveedor de IA | Lo conectás vos | Cambiás base_url |
| Devolver los datos reales en la respuesta | Lo armás vos | Viene hecho |
| Números de identificación de cada país | Elegís y ajustás reconocedores | Los de la tabla de arriba |
| Textos en español y otros idiomas | Lo configurás vos | 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 armarlo, 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
Seguís 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, al lado de tus servicios.
Sólo 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. Elegí la que necesitás.
Sale Resumí el legajo de [PERSONA_1]
Vuelve La respuesta llega con las etiquetas: [PERSONA_1]
Sale Resumí el legajo de [PERSONA_1]
Vuelve La respuesta llega con los valores reales: Martina González
¿Ya usás LiteLLM? Nonimo se activa como guardrail, o como proxy delante de tu proveedor si querés los datos de vuelta en la respuesta.
Planes
Todos los planes arrancan con 30 días de prueba y, si pasás del tope de palabras, el Gateway te avisa y el servicio sigue.
Te sirve 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 por año
Para empresas con varios equipos y más volumen
Nonimo Gateway Empresa US$ 539/mes Nonimo Gateway Empresa o US$ 5.390 por año
Para grandes organizaciones con requisitos propios
Precio a convenir
Según nuestra estimación: el plan Estudio incluye 25 millones de palabras por 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 pasás, te avisamos y el servicio sigue funcionando.
Acceso
Contanos con qué trabajás hoy y te escribimos para levantarlo en tus servidores.
Preguntas
Lo que preguntan el responsable de sistemas, el de seguridad y el de protección de datos 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 [CUIT_1] en el lugar de cada dato personal. Por tipo de dato y por sentido elegís 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 podés sumar 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.
Seudonimizar. 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 vos tengas la respuesta completa. Tampoco es la disociación del artículo 2 de la Ley 25.326, pensada para que el dato no pueda volver a asociarse a la persona: acá lo volvés a asociar vos, en tu infraestructura.
Según nuestra estimación: el plan Estudio incluye 25 millones de palabras por 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 pasás, 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 tenés un modo sin conexión, a pedido. Escribinos a hello@nonimo.ai y acordamos las condiciones.
Te ayuda a achicar lo que le llega a tu proveedor de IA. El artículo 9 de la Ley 25.326 pide medidas técnicas y organizativas para la seguridad y la confidencialidad de los datos personales, y la AAIP, su autoridad de aplicación, publicó medidas de seguridad recomendadas en su Resolución 47/2018. 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 de Argentina. Para quien tiene la clave, el dato sigue siendo personal, pero esa clave se queda en tu infraestructura. No reemplaza tu análisis de riesgos 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 data center o en tu nube. Se instala al lado de tus servicios y podés tener varias instancias.
Es una licencia firmada por instancia que, en los planes con conexión, se renueva sola. Sin conexión, la cargás a mano y su vigencia depende de las condiciones que acordemos con cada cliente. Si superás el uso de tu plan, el Gateway te avisa y el servicio sigue.
No. Las actualizaciones las aplica tu equipo de sistemas cuando quiera, y el Gateway te avisa cuando sale una versión nueva.
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.
Empezá ahora
Pedí acceso, instalá el contenedor al lado de tus servicios y comprobá 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.
Elegí el tipo de archivo y sacale los datos personales antes de mandarlo. Sin registrarte y en un minuto.