📓 O caderno de senhas que não sai de casa
Novo aqui? Um arquivo .env (lê-se "dot env", de "environment", ambiente) é um arquivo de texto simples, que vive só na sua máquina, guardando variáveis de ambiente — pares de nome e valor que a sua automação lê na hora de rodar, sem que esses valores fiquem escritos dentro do código em si. É nesse arquivo que moram as senhas e chaves de acesso que a automação precisa.
Pense num caderno de senhas de papel, daqueles que ficam numa gaveta em casa. Você anota ali a senha
do banco, do e-mail, do wi-fi. Faz sentido esse caderno viajar com você pro trabalho? Não — ele fica
em casa, só você (e quem mora com você) tem acesso. O .env é exatamente esse caderno: ele
mora no seu computador e nunca vai junto quando você manda o código
pro repositório (o "cofre compartilhado" onde o código fica guardado e
versionado — vimos isso no módulo 4.2, é o GitHub).
💡 Conceito Principal
Código é para compartilhar. Segredo é para guardar. Misturar os dois é o erro nº1 de quem começa a publicar automações.
- •O código (a lógica da automação) pode — e deve — ir pro repositório.
- •A chave que autentica esse código com outro serviço nunca vai junto.
🚪 O .gitignore é o porteiro da porta
Novo aqui? O .gitignore é um arquivo de texto, dentro do seu projeto, com uma lista de nomes de arquivos e pastas que o git (o programa que controla o que sobe pro repositório — módulo 4.2) deve ignorar completamente. Se um arquivo está nessa lista, o git finge que ele não existe: nunca aparece pra ser enviado, mesmo que você digite o comando errado tentando mandar tudo de uma vez.
É o porteiro que fica plantado na porta de casa com a lista de quem não pode sair. Mesmo que você,
distraído, tente levar o caderno de senhas junto com a mochila do trabalho, o porteiro barra na
porta. O .env deve estar sempre nessa lista — na prática, quase todo projeto novo já vem
com essa linha pronta, mas vale a pena conferir.
Legenda: código e chave viajam por caminhos separados. O código passa pelo porteiro e chega ao repositório; a chave nunca passa por ali — você a digita direto no painel da plataforma, e só lá dentro, na nuvem, os dois se encontram de novo.
🔍 Por dentro
- Chave de API: um código secreto que identifica você (ou sua automação) perante outro serviço — tipo um crachá de acesso.
- Painel / dashboard: a página de administração de uma plataforma na web, onde você configura sua conta e suas automações sem escrever código.
🧪 Verificando na prática que o .env está protegido
Não precisa confiar de olhos fechados — dá pra conferir com poucos passos que o seu .env está
de fato fora da lista de envio. O objetivo aqui é simples: criar um .env de exemplo, confirmar
que ele está listado no .gitignore, e usar um comando do git pra ver, com os próprios olhos,
que ele não aparece como algo a ser enviado.
Objetivo: ter um .env com placeholders (nunca uma chave real), protegido pelo .gitignore, e confirmar isso rodando git status.
# conteúdo de exemplo do arquivo .env (na raiz do projeto)
API_KEY=SUA_CHAVE_AQUI
OUTRO_SERVICO_TOKEN=SEU_TOKEN_AQUI
# conteúdo do .gitignore que garante que o .env nunca suba
.env
node_modules/
dist/
# comando para checar o que o git está prestes a enviar
git status
Como verificar: depois de rodar git status, o arquivo
.env não deve aparecer em nenhuma lista — nem em "arquivos modificados", nem em
"arquivos não rastreados". Se ele aparecer, é sinal de que a linha .env não está no
.gitignore (ou está escrita errado) — corrija antes de continuar.
✓ .env no .gitignore
- ✓
git statusnão lista o .env - ✓Chave fica só na sua máquina
- ✓Você pode compartilhar o código sem medo
✗ .env commitado por engano
- ✗
git statusmostra o .env pronto pra enviar - ✗A chave real fica visível pra qualquer um com acesso ao repositório
- ✗Precisa trocar a chave inteira depois — não dá pra "apagar" o que já foi enviado
🗂️ Cadastrando uma chave nova no painel
Novo aqui? O Trigger.dev é a plataforma de execução que citamos no módulo 4.2 — o serviço que roda de fato a sua automação na nuvem, 24 horas por dia. Quando sua automação precisa falar com outro serviço (enviar e-mail, ler uma planilha, consultar uma IA), a chave desse serviço não fica no código: ela é cadastrada manualmente, uma vez, dentro do painel do Trigger.dev. Veja o fluxo completo de ponta a ponta:
Gere a chave no provedor do serviço
Entre no site do serviço que você vai usar (por exemplo, um provedor de e-mail ou de IA) e gere uma chave de API nova, na área de conta dele.
Cole no painel do Trigger.dev, no ambiente de dev
Dentro do projeto, na área de "variáveis de ambiente" (environment variables), cole a chave no ambiente de dev (teste — assunto do módulo 4.3) primeiro.
Teste a automação em dev
Rode a automação nesse ambiente de teste e confira, no log (a lista de eventos registrados — voltamos a isso no módulo 4.7), se a chave está funcionando.
Repita em produção — com uma chave própria
Quando estiver confiante, cadastre a mesma variável no ambiente de produção — de preferência gerando uma segunda chave, dedicada só pra produção, no provedor.
🔀 Dev e produção têm chaves separadas
Assim como o módulo 4.3 mostrou dois "mundos" separados (dev e produção) rodando a mesma automação, as chaves seguem essa mesma separação: o painel do Trigger.dev guarda uma variável de ambiente por ambiente. Isso significa que a chave usada nos seus testes não é obrigatoriamente a mesma usada quando a automação está de fato atendendo usuários reais.
✓ Chave cadastrada no painel
- ✓Fica guardada de forma criptografada pela própria plataforma
- ✓Trocar a chave é só editar no painel — sem tocar no código
- ✓Dev e produção podem usar chaves diferentes, sem misturar
✗ Chave escrita direto no código
- ✗Fica exposta pra qualquer um que abrir o arquivo
- ✗Trocar a chave exige editar código e publicar de novo
- ✗Dev e produção acabam usando a mesma chave sem querer
⚠️ Atenção
Nunca cole uma chave de API real numa mensagem, num print de tela compartilhado, num chat com o agente de código pedindo ajuda pra "debugar", ou em qualquer exemplo público. Se você suspeitar que uma chave real apareceu em algum lugar por engano, o próximo tópico mostra o que fazer — e é rápido.
🚨 Se uma chave vazar: o plano de ação
Vazamento acontece — o importante é reagir rápido. Se uma chave real acabou aparecendo onde não devia (um commit por engano, uma mensagem, um print), o passo não é "apagar" o rastro — em muitos casos isso não é suficiente, porque a chave já pode ter sido copiada por alguém ou por algum sistema automático que varre a internet atrás delas. O passo certo é ir até o painel do provedor do serviço e revogar (cancelar) aquela chave, gerando uma nova em seguida.
💡 Dica Prática
- •Revogue a chave antiga no provedor — isso a torna inútil imediatamente, mesmo que alguém já tenha uma cópia.
- •Gere uma chave nova e cadastre no painel do Trigger.dev, repetindo o fluxo do tópico 4.
- •Confira se o
.gitignoreestá correto antes de continuar trabalhando, pra não repetir o erro.
Com o segredo protegido, o próximo módulo (4.5) trata de outro tipo de risco: o que fazer quando uma etapa da automação falha no meio do caminho — como reagir sem duplicar nada.
Checagem rápida (opcional): onde deve ficar uma chave de API real usada pela sua automação?