# Uma chave secreta no código do seu site

Por que uma senha ou chave que acaba no código público do seu site pode ser lida por qualquer pessoa, e o que fazer quando isso acontece.

O código do seu site roda no navegador do visitante, então o navegador do visitante precisa baixá-lo. Qualquer pessoa pode abri-lo e lê-lo.

Isso é tranquilo para a maioria dos códigos. É um problema quando um **segredo** acaba nele, como a chave da sua conta de pagamento, do seu banco de dados ou de um serviço de IA.

## Como acontece

Raramente é de propósito. Uma chave é colada durante um teste e nunca removida. Uma configuração feita para o servidor é marcada como pública por engano. Uma ferramenta de build publica **source maps**, a versão legível do seu código, junto com o site real.

Atacantes procuram essas chaves automaticamente, em milhões de sites. Uma chave vazada pode gerar cobranças, ler dados de clientes ou enviar e-mails em seu nome em poucas horas.

## O que fazer quando uma verificação encontra uma

1. **Considere que ela já foi usada.** Mesmo que você a remova agora, alguém pode já tê-la.
2. **Substitua.** Crie uma nova chave no serviço que a emitiu e apague a antiga.
3. **Leve-a para o servidor.** Chaves pertencem às configurações do servidor, nunca ao código que roda no navegador.
4. **Confira as cobranças e os logs** desse serviço em busca de qualquer coisa que você não fez.

Algumas chaves são feitas para ser públicas, como a chave de um formulário de pagamento que só pode iniciar um checkout. A verificação informa que tipo de chave encontrou e com que grau de certeza.

> **Careful**
>
> Substituir a chave importa mais do que apagá-la do seu código. Apagar só impede
> novas cópias.

> **Try it**
>
> Abra [as suas coisas para corrigir](/app/findings) e procure qualquer item sobre
> chaves ou segredos.