---
title: "Segurança"
description: "Como reportar uma vulnerabilidade no cnpj.ia.br, o que está no escopo, como a chave de API deve ser guardada, onde os dados ficam e como funciona a supressão de contatos."
canonical: "https://cnpj.ia.br/seguranca"
date_modified: 2026-09-03
source: "cnpj.ia.br"
---

# Segurança

Como reportar uma vulnerabilidade no cnpj.ia.br, o que está no escopo, como a chave de API deve ser guardada, onde os dados ficam e como funciona a supressão de contatos.

Atualizado em 03/09/2026

Esta é a política referenciada pelo `security.txt` do cnpj.ia.br. Vulnerabilidade se reporta por e-mail para **seguranca@cnpj.ia.br**, em português ou inglês. Respondemos confirmando o recebimento e acompanhamos até a correção. Não há programa de recompensa em dinheiro. A chave de API vai só no header, nunca em URL, código versionado ou frontend.

## Como reportar uma vulnerabilidade?

Escreva para [seguranca@cnpj.ia.br](mailto:seguranca@cnpj.ia.br) com o que for possível reunir:

- a URL ou o endpoint afetado (`cnpj.ia.br`, `api.cnpj.ia.br`, `mcp.cnpj.ia.br` ou `app.cnpj.ia.br`);
- os passos para reproduzir, com a requisição e a resposta observadas;
- o impacto que você entende que o problema tem;
- como prefere ser creditado, se quiser crédito público.

Não inclua dados de terceiros nem chaves de API na mensagem. Se precisou de uma chave para reproduzir, use a sua e revogue depois. Confirmamos o recebimento e avisamos quando a correção for publicada; não publicamos prazo em número porque não medimos um ainda. Pedimos que o achado não seja divulgado antes da correção ou de um acordo sobre a data.

## O que está no escopo?

Elegível: falhas de autenticação ou autorização na API e no MCP, exposição de dados que o contrato não prevê (em especial qualquer CPF), injeção em qualquer superfície, contorno da supressão por pedido do titular, falhas no portal `app.cnpj.ia.br` e no site.

Fora do escopo: negação de serviço e testes de carga; força bruta contra o limite de requisições, que é comportamento esperado e responde `429`; engenharia social contra o time ou contra clientes; relatórios de varredura automatizada sem prova de conceito; problemas em fornecedores (Google Cloud, Firebase, Cloudflare) que não dependam de configuração nossa; ausência de cabeçalho ou de flag sem impacto demonstrado.

## Como cuidar da chave de API?

A chave identifica a conta inteira e autoriza todas as operações do plano. Regras que a própria API impõe e que o cliente deve seguir:

- **Só no header** `Authorization: Bearer`. A API não aceita chave em query string nem em cookie: uma URL com chave acaba em log de proxy, histórico de navegador e sistema de monitoramento.
- **Nunca em código versionado.** Variável de ambiente ou cofre de segredos. Uma chave que apareceu em commit, log ou captura de tela deve ser revogada na hora; não existe como “desvazar”.
- **Nunca em frontend.** A API nega origem de navegador nos endpoints autenticados; a chamada com chave sai do seu servidor ou do seu agente.
- **Uma chave por sistema.** Revogar uma não afeta as outras, e a rotação sem interrupção está descrita em [Autenticação](https://cnpj.ia.br/docs/autenticacao).

A equipe nunca pede a chave, por e-mail nem por outro canal. Para suporte, o que precisamos é o `request_id` da resposta; o roteiro está em [Contato](https://cnpj.ia.br/contato).

## Onde os dados ficam?

API e banco: GCP southamerica-east1 (São Paulo); site em CDN global do Firebase; MCP em us-central1. O tráfego é sempre por HTTPS, com cabeçalhos de segurança no site e no portal. O site é estático, sem formulário e sem widget de terceiro; a única coleta no site é a de medição, descrita em [Privacidade](https://cnpj.ia.br/privacidade), com opção de recusa.

## Como funciona a supressão de contatos?

Quem representa uma empresa pode pedir a remoção dos contatos dela. Com o pedido ativo, a API responde com `meta.suppressed: true` e omite telefones, e-mail, site, contatos extras e sócios; o mesmo pedido vale para o site. A API nunca retorna CPF de sócio ou de representante, em nenhum perfil. O canal do pedido e os direitos do titular estão em [Privacidade](https://cnpj.ia.br/privacidade); o que a resposta traz e não traz, em [Privacidade e uso aceitável](https://cnpj.ia.br/docs/privacidade-e-uso-aceitavel).

## Onde está o security.txt?

Em [`/.well-known/security.txt`](https://cnpj.ia.br/.well-known/security.txt), com o canal de contato, os idiomas atendidos, a data de expiração e o link para esta página. O endereço de contato é o mesmo publicado aqui; quando um mudar, o outro muda no mesmo commit.

## Perguntas frequentes

**Vocês pagam recompensa por vulnerabilidade?**

Não há programa de recompensa em dinheiro. Quem reporta recebe confirmação, acompanhamento até a correção e crédito público se quiser. Reportes fora do escopo descrito nesta página são respondidos, mas não tratados como vulnerabilidade.

**Encontrei uma chave de API do cnpj.ia.br exposta. O que faço?**

Se a chave é sua, revogue no portal e crie outra; não existe como desfazer o vazamento. Se é de terceiro, escreva para o canal de segurança desta página indicando onde a chave apareceu, sem copiá-la na mensagem; avaliamos e, confirmado o vazamento, revogamos a chave e avisamos o dono da conta.

**Posso chamar a API direto do navegador com a minha chave?**

Não. Os endpoints autenticados negam origem de navegador, e uma chave em frontend fica visível para qualquer visitante. A chamada com chave sai do seu servidor, da sua automação ou do seu agente; o navegador fala com o seu backend.

**Em que idioma posso reportar?**

Português ou inglês, os dois declarados no `security.txt`. A resposta vem no idioma do reporte.

**Os dados saem do Brasil?**

A região de cada componente (API e banco, site, servidor MCP) está publicada nesta página, na seção sobre onde os dados ficam, e é a fonte única: quando mudar, a página muda. Requisições feitas pelo servidor MCP passam pela região onde ele roda.
