VITE_ e NEXT_PUBLIC_
Atualizado em 6 de novembro de 2026 · Todos os guias
Muita IA de código coloca chaves em variáveis de ambiente e pronto. O problema é o prefixo.
O que dizem as documentações
- Vite (base do Lovable, do Bolt e de muitos apps React): variáveis com
VITE_são embutidas no código do navegador na hora da build, e a própria documentação avisa que elas não devem conter informação sensível, como chaves de API. - Next.js: o prefixo
NEXT_PUBLIC_faz o valor ser escrito dentro do JavaScript enviado ao navegador. Sem o prefixo, a variável fica só no servidor.
Ou seja: qualquer visitante abre as ferramentas do navegador e lê o valor.
Pode ir no navegador
- URL e chave pública (anon ou publishable) do Supabase, desde que o RLS esteja certo.
- Chave publicável do Stripe (
pk_). - IDs de analytics e configurações públicas do Firebase.
Nunca pode ir
- Chave secreta ou
service_roledo Supabase. - Chaves da OpenAI, Anthropic, OpenRouter e outras IAs.
- Chave secreta do Stripe (
sk_), segredos de webhook, tokens de e-mail e de WhatsApp.
Como corrigir
Mova a chamada que usa o segredo para o servidor (rota de API, Edge Function ou função serverless) e deixe o app chamar essa rota. Se a chave já foi publicada, siga o passo a passo de chave vazada antes de qualquer outra coisa.
Quer conferir o seu app agora?
O scan grátis do Scanblind testa chaves expostas, arquivos públicos, cabeçalhos, e-mail e-mail, subdomínios e outros riscos comuns, sem login, e entrega o prompt pronto para a sua IA corrigir.
Escanear meu app grátis