Nesta página
  1. Onde guardar
  2. O prefixo que publica
  3. Como testar

A chave não vai pro navegador

1 minsegurancanext

O navegador baixa o JavaScript da página e executa na máquina de quem visitou. Qualquer valor que esse arquivo contenha pode ser lido. Por isso senha de banco, chave secreta e token de administrador não entram nesse arquivo.

Onde guardar

No servidor, o valor mora numa variável de ambiente. No seu computador isso é um arquivo .env, fora do Git. Na Vercel, o mesmo nome entra em Environment Variables. O código só lê process.env.NOME.

.env · text
SUPABASE_SECRET_KEY=coloque-aqui-e-nao-commite
SITE_URL=https://seu-dominio
  • O .gitignore precisa cobrir .env. Conferir com git status antes de commitar.
  • O arquivo que sobe no repositório é o .env.example, com o nome da variável e sem o valor.
  • Cada ambiente tem a sua chave. A de desenvolvimento não é a de produção.

O prefixo que publica

No Next.js, variável cujo nome começa com NEXT_PUBLIC_ é copiada para o JavaScript que vai ao navegador. Serve para um endereço público. Não serve para segredo. Se a chave deixa a pessoa ler e gravar o banco inteiro, ela não leva esse prefixo, e nenhum componente de cliente pode importá-la.

Como testar

Abra o site, veja o código-fonte e busque um pedaço da chave. Se aparecer, ela está pública. Busque também no bundle em _next/static. O teste demora um minuto e evita descobrir a mesma coisa num print de outra pessoa.