Nonimo Gateway, instalado por si
O Nonimo Gateway substitui os dados pessoais por marcadores nos seus próprios servidores, antes de cada chamada à IA, e repõe-nos na resposta. Corre num contentor à frente da API da OpenAI e os seus serviços não mudam de código: muda apenas o base_url.
Resuma o processo de Ana Rodrigues e escreva-lhe para ana.rodrigues@example.com.
Resuma o processo de [PESSOA_1] e escreva-lhe para [E-MAIL_1].
Olá, [PESSOA_1]: analisámos o seu processo e está completo.
Olá, Ana Rodrigues: analisámos o seu processo e está completo.
Passo a passo
Sem mexer no código dos seus serviços: um contentor no seu servidor e um base_url novo.
Um contentor no seu centro de dados ou na sua cloud.
Instala-se nos seus servidores ou na sua conta de cloud, ao lado dos seus serviços, e pode ter várias instâncias em simultâneo.
O seu código continua a usar a API da OpenAI. Só muda o endereço.
O Gateway é compatível com a API da OpenAI. Os seus serviços passam a apontar para ele e continuam a chamar /v1/chat/completions ou /v1/responses, com function calling incluído. O destino pode ser a OpenAI ou qualquer API compatível.
Os dados saem como marcadores e voltam reais na resposta.
Cada pedido é analisado por inteiro antes de seguir para o fornecedor: os dados pessoais são trocados por marcadores e, na resposta, cada marcador recupera o seu valor. Os pedidos dos seus serviços à IA passam pelo Gateway antes de saírem da sua rede.
O SDK oficial da OpenAI funciona sem alterações; basta apontar o cliente para o Gateway:
from openai import OpenAI
# O mesmo cliente e a mesma chave: só muda o base_url
client = OpenAI(base_url="http://o-seu-servidor:8080/v1")
resp = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Resuma o processo de Ana Rodrigues."}],
) import OpenAI from "openai";
// O mesmo cliente e a mesma chave: só muda o baseURL
const client = new OpenAI({ baseURL: "http://o-seu-servidor:8080/v1" });
const resp = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "Resuma o processo de Ana Rodrigues." }],
}); # O pedido de sempre, agora contra o seu servidor
curl http://o-seu-servidor:8080/v1/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "Resuma o processo de Ana Rodrigues."}]
}' Ida e volta
O fornecedor só vê marcadores; o seu serviço recebe a resposta com os dados reais, cada um no seu lugar.
Chatbot interno
Resuma o pedido de suporte aberto por Beatriz Carvalho[PESSOA_1] a partir de beatriz.carvalho@example.com[E-MAIL_1].
O pedido de Beatriz Carvalho[PESSOA_1] refere uma falha de acesso à VPN desde segunda-feira. Vou enviar para beatriz.carvalho@example.com[E-MAIL_1] os passos para voltar a ligar-se.
Apoio ao cliente
Redija um e-mail para Tiago Fernandes[PESSOA_1] (tiago.fernandes@example.com[E-MAIL_1]) a confirmar que recebemos a documentação.
Olá, Tiago Fernandes[PESSOA_1]: confirmamos a receção da sua documentação. Voltaremos a escrever para tiago.fernandes@example.com[E-MAIL_1] logo que esteja tudo pronto.
Agente com ferramentas
Consulte o estado da encomenda de Rita Sousa[PESSOA_1], NIF 234567890[NIF_PT_1].
consultar_encomenda({ "titular": "Rita Sousa[PESSOA_1]", "nif": "234567890[NIF_PT_1]" })
A sua ferramenta recebe o valor real; o fornecedor só viu o marcador.
Recursos humanos
Prepare a carta de boas-vindas de Miguel Ferreira[PESSOA_1]; o vencimento será transferido para o IBAN PT00 0000 0000 0000 0000 0000 0[IBAN_1].
Olá, Miguel Ferreira[PESSOA_1]: bem-vindo à equipa. O seu vencimento será transferido para o IBAN PT00 0000 0000 0000 0000 0000 0[IBAN_1].
Para o seu encarregado de proteção de dados: é pseudonimização (artigo 4.º, n.º 5, do RGPD) e a correspondência com os dados reais fica na sua infraestrutura. O RGPD e a CNPD, nas perguntas frequentes.
A diferença entre pseudonimizar e anonimizar está explicada no guia pseudonimização no RGPD antes de colar numa IA.
A deteção corre dentro da sua rede: os dados não saem dela para serem analisados. Não reescreve nem resume, apenas assinala o que é um dado pessoal e, dentro de uma conversa, cada dado mantém o seu marcador do princípio ao fim. Nas chamadas a ferramentas, oculta os valores de texto dos argumentos sem alterar a estrutura e, quando o modelo pede a execução de uma função, entrega-a com o valor real, para que a ferramenta trabalhe com dados verdadeiros.
O que segue para a OpenAI
Redija um e-mail para [PESSOA_1] ([E-MAIL_1]) a confirmar que recebemos a documentação. O que recebe o seu serviço
Olá, Tiago Fernandes: confirmamos a receção da sua documentação. Voltaremos a escrever para tiago.fernandes@example.com logo que esteja tudo pronto. Identificadores nacionais
Cada documento, com o seu formato próprio. Escolha um país e veja o que chega à IA.
E ainda, em Portugal
[PESSOA_1][TELEFONE_1][IBAN_1][MORADA_1][CODIGO_POSTAL_1][E-MAIL_1]E ainda, em Brasil
[PESSOA_1][TELEFONE_1][MORADA_1][E-MAIL_1]E ainda, em Espanha
[PESSOA_1][TELEFONE_1][IBAN_1][MORADA_1][E-MAIL_1]E ainda, em Alemanha
[PESSOA_1][TELEFONE_1][IBAN_1][MORADA_1][E-MAIL_1]E ainda, em França
[PESSOA_1][TELEFONE_1][IBAN_1][MORADA_1][E-MAIL_1]E ainda, em Itália
[PESSOA_1][TELEFONE_1][IBAN_1][MORADA_1][E-MAIL_1]E ainda, em Reino Unido
[PESSOA_1][TELEFONE_1][CONTA_BANCARIA_GB_1][CODIGO_POSTAL_GB_1][E-MAIL_1]E ainda, em Irlanda
[PESSOA_1][TELEFONE_1][IBAN_1][EIRCODE_1][E-MAIL_1]E ainda, em Austrália
[PESSOA_1][TELEFONE_1][BSB_1][CONTA_BANCARIA_AU_1][E-MAIL_1]E ainda, em EUA
[PESSOA_1][TELEFONE_1][CONTA_BANCARIA_US_1][MORADA_1][E-MAIL_1]E em todos os países
[CHAVE_API_1][CARTAO_1][PASSAPORTE_1][NIF_PT_1][NISS_1][CARTAO_CIDADAO_1][NUM_UTENTE_1]O seu serviço envia
Confirme a inscrição de Duarte Pereira, NIF 234567890.
A IA recebe
Confirme a inscrição de [PESSOA_1], NIF [NIF_PT_1].
[CPF_1][CNPJ_1][DRIVING_LICENCE_BR_1]O seu serviço envia
Responda a Ana Souza sobre a encomenda, CPF 234.567.890-10.
A IA recebe
Responda a [PESSOA_1] sobre a encomenda, CPF [CPF_1].
[DNI_1][NIE_1][NIF_1][NUSS_1]O seu serviço envia
Resuma o processo de María López, DNI 12345678A.
A IA recebe
Resuma o processo de [PESSOA_1], DNI [DNI_1].
[NIF_DE_1][NISS_DE_1]O seu serviço envia
Prepare a carta para Jonas Weber, Steuer-ID 12345678901.
A IA recebe
Prepare a carta para [PESSOA_1], Steuer-ID [NIF_DE_1].
[NIR_1][SIREN_1][SIRET_1]O seu serviço envia
Reveja a ficha de Camille Martin, NIR 1 85 05 78 006 084 00.
A IA recebe
Reveja a ficha de [PESSOA_1], NIR [NIR_1].
[NIF_IT_1][NUMERO_IVA_IT_1][CIE_1][CARTAO_SAUDE_IT_1]O seu serviço envia
Responda a Mario Rossi, codice fiscale RSSMRA80A01H501X.
A IA recebe
Responda a [PESSOA_1], codice fiscale [NIF_IT_1].
[NINO_1][UTENTE_NHS_1]O seu serviço envia
Atualize o registo de Oliver Smith, National Insurance QQ 12 34 56 C.
A IA recebe
Atualize o registo de [PESSOA_1], National Insurance [NINO_1].
[PPS_1]O seu serviço envia
Envie o resumo a Aoife Murphy, PPS 1234567A.
A IA recebe
Envie o resumo a [PESSOA_1], PPS [PPS_1].
[TFN_1][MEDICARE_1]O seu serviço envia
Prepare o recibo de vencimento de Jack Wilson, TFN 123 456 789.
A IA recebe
Prepare o recibo de vencimento de [PESSOA_1], TFN [TFN_1].
[SSN_1]O seu serviço envia
Reveja o pedido de John Miller, SSN 987-65-4321.
A IA recebe
Reveja o pedido de [PESSOA_1], SSN [SSN_1].
Dados inventados e números de exemplo que não são válidos.
O Gateway reconhece os dados pessoais habituais (nomes, e-mails, telefones, moradas, chaves de API) e, além disso, os números de documento de cada país, com o respetivo formato. Também IBAN, cartões de pagamento e passaportes (a zona de leitura ótica).
| País | Documentos |
|---|---|
| Portugal | NIF, NISS, cartão de cidadão, número de utente do SNS, NIB |
| Brasil | CPF, CNPJ, CNH (carteira de habilitação) |
| Espanha | DNI, NIE, NIF, número da Segurança Social |
| Alemanha | Steuer-ID, Sozialversicherungsnummer |
| França | NIR (numéro de sécurité sociale), SIREN, SIRET |
| Itália | codice fiscale, partita IVA, carta d’identità elettronica (CIE), tessera sanitaria |
| Reino Unido | National Insurance number, NHS number |
| Irlanda | PPS number |
| Austrália | TFN, Medicare |
| Estados Unidos | Social Security number |
| Em todos os países | IBAN, passaportes (zona de leitura ótica), cartões de pagamento |
Face ao Presidio
O Presidio deteta dados pessoais num texto. O proxy compatível com a OpenAI que o coloca à frente da API fica a cargo da sua equipa; com o Nonimo Gateway, já vem feito.
| Tarefa | Montar com o Presidio | Com o Nonimo Gateway |
|---|---|---|
| Detetar dados pessoais no texto | O Presidio faz | Incluído |
| Proxy compatível com a OpenAI | A sua equipa monta | Já vem feito |
| Colocá-lo à frente do fornecedor de IA | A sua equipa liga | Muda o base_url |
| Repor os dados reais na resposta | A sua equipa monta | Já vem feito |
| Números de identificação de cada país | Escolhe e afina reconhecedores | Os da tabela acima |
| Textos em português e noutras línguas | A sua equipa configura | Já vem feito |
| Mantê-lo atualizado | A sua equipa | Novas versões da nossa parte |
| Onde corre | Na sua infraestrutura | Um contentor no seu servidor |
O Presidio deteta dados pessoais num texto, mas não inclui um proxy compatível com a OpenAI: para o colocar à frente da API, a sua equipa tem de o montar, ligar e manter.
O Nonimo Gateway entrega isso feito: um contentor no seu próprio servidor, uma API compatível com a OpenAI, os dados reais repostos na resposta e os números de identificação de cada país da tabela acima.
Infraestrutura própria
Continua com o seu fornecedor de IA e o Gateway é mais uma peça do seu perímetro.
Instala-se nos seus servidores ou na sua cloud, ao lado dos seus serviços.
Só seguem a licença e números de utilização. O seu conteúdo não passa pelo Nonimo.
A sua chave de API não fica guardada no Gateway.
LiteLLM
Se a sua plataforma já encaminha as chamadas com o LiteLLM, o Nonimo encaixa de duas formas. Escolha a que lhe serve.
Sai Resuma o processo de [PESSOA_1]
Volta A resposta chega com os marcadores: [PESSOA_1]
Sai Resuma o processo de [PESSOA_1]
Volta A resposta chega com os valores reais: Ana Rodrigues
Já usa o LiteLLM? O Nonimo ativa-se como guardrail, ou como proxy à frente do seu fornecedor, se quiser os dados reais de volta na resposta.
Planos e preços
Todos os planos incluem 30 dias de teste e, se ultrapassar o limite, o Gateway avisa e o serviço continua.
Indicado para si Nonimo Gateway Empresa, 490 €/mês
Para escritórios de advogados, gabinetes de contabilidade e equipas que começam com a IA
Nonimo Gateway Escritório 290 €/mês Nonimo Gateway Escritório ou 2 900 € por ano
Para empresas com vários departamentos ou mais tráfego para a IA
Nonimo Gateway Empresa 490 €/mês Nonimo Gateway Empresa ou 4 900 € por ano
Para grandes organizações com requisitos e contrato próprios
Preço sob consulta
Segundo a nossa estimativa, o plano Escritório inclui 25 milhões de palavras por mês, o suficiente para equipas com até cerca de 200 pessoas; o plano Empresa, com 150 milhões, serve equipas com até cerca de 1000 pessoas; e o plano À medida não tem limite, pensado para mais de 1000 pessoas ou várias delegações. Se algum dia ultrapassar o limite, avisamos e o serviço continua a funcionar.
Acesso
Preencha os campos abaixo e contactamo-lo para combinar um teste num servidor seu.
Perguntas
O que os responsáveis de TI e de segurança e o encarregado de proteção de dados perguntam antes de instalar o Gateway.
Marcadores como [PESSOA_1] ou [NISS_1] no lugar dos dados, coerentes ao longo da conversa. Por tipo de dado e por sentido, escolhe ocultar, bloquear (o pedido não sai e o erro indica a categoria, e não o valor) ou só avisar (segue tal como está e fica contado). Os valores reais ficam na sua infraestrutura.
A deteção corre localmente, dentro da sua rede, sem consultar nenhum serviço externo.
A da OpenAI e qualquer API compatível com ela: Chat Completions e Responses, com chamadas a ferramentas.
Segundo a nossa estimativa, o plano Escritório inclui 25 milhões de palavras por mês, o suficiente para equipas com até cerca de 200 pessoas; o plano Empresa, com 150 milhões, serve equipas com até cerca de 1000 pessoas; e o plano À medida não tem limite, pensado para mais de 1000 pessoas ou várias delegações. Se algum dia ultrapassar o limite, avisamos e o serviço continua a funcionar.
Para fora, só seguem o pedido já com marcadores, para o seu fornecedor de IA, e a licença e números de utilização, sem conteúdo, para o Nonimo. Pode fechar o resto com as suas regras de rede e, se a rede não puder sair para o Nonimo, existe um modo sem ligação, disponível mediante pedido.
Por omissão, o pedido não sai e a sua aplicação recebe um erro claro.
Ajuda. O RGPD define a pseudonimização no artigo 4.º, n.º 5, e os artigos 25.º e 32.º apontam-na como exemplo de medida técnica adequada; em Portugal, a Lei n.º 58/2019, de 8 de agosto, assegura a sua execução, com a CNPD como autoridade de controlo. Note que pseudonimizar não é anonimizar: os dados pseudonimizados continuam a ser dados pessoais (considerando 26). Aqui, a correspondência entre marcadores e valores reais fica na sua infraestrutura. O Gateway aplica a medida em cada pedido à IA; a avaliação de impacto e o contrato de subcontratação com o fornecedor (artigo 28.º) continuam a cargo da sua organização.
Só para a licença e números de utilização, sem conteúdo. Se a sua rede não puder sair para o Nonimo, os planos Empresa e À medida têm um modo sem ligação, mediante pedido. Escreva-nos para hello@nonimo.ai e combinamos as condições.
Um servidor ou um cluster onde corram contentores, no seu centro de dados ou na sua cloud. Instala-se ao lado dos seus serviços e pode ter várias instâncias.
É assinada e atribuída a cada servidor ou instância, e renova-se sozinha nos planos com ligação. No modo sem ligação, disponível mediante pedido, é carregada manualmente e as condições dependem de cada cliente. Se ultrapassar o uso do plano, o Gateway avisa e o serviço continua.
O Gateway não se atualiza sozinho: avisa quando há uma versão nova, e é a sua equipa de TI que a aplica, quando entender.
Guias
Guias sobre AI gateways, proxies de privacidade e como manter os dados pessoais fora das chamadas à IA.
Comece já
Peça acesso, instale o contentor ao lado dos seus serviços e confirme, com o seu próprio tráfego, que os dados pessoais chegam à OpenAI como marcadores. Se a preocupação for a IA usada no browser pelas pessoas da equipa, veja o Nonimo para organizações.
Escolha o ficheiro ou o documento e retire os dados pessoais antes de o enviar. Sem registo e num minuto.