# Variáveis de ambiente e tokens

URL: https://0.0.0.0:3002/docs/guias/variaveis-e-tokens

Como guardar o token do bot, senhas e chaves de API com segurança no Hydro.

Token de bot, senha de banco e chave de API nunca devem ficar no código nem no repositório. No Hydro, eles vão como **variáveis de ambiente** da aplicação.

## Cadastrar [#cadastrar]

Na aba **Variáveis** da aplicação:

* crie cada variável com nome e valor, ou **importe um `.env`** inteiro;
* marque como **segredo** o que não deve aparecer de novo: o valor fica cifrado com AES-256-GCM e não é mostrado de volta, nem no painel nem na API.

As variáveis chegam à aplicação como variáveis de ambiente comuns. Elas não entram no build, só no processo em execução.

## Ler no código [#ler-no-código]

| Linguagem | Como ler                      |
| --------- | ----------------------------- |
| Node.js   | `process.env.DISCORD_TOKEN`   |
| Python    | `os.environ["DISCORD_TOKEN"]` |
| Go        | `os.Getenv("DISCORD_TOKEN")`  |

## Trocar um token vazado [#trocar-um-token-vazado]

1. Gere um token novo no serviço (Discord Developer Portal, BotFather, painel da API).
2. Atualize a variável no Hydro.
3. Reinicie a aplicação ou faça um deploy para o processo ler o valor novo.

## O que não fazer [#o-que-não-fazer]

* Não versione o `.env`: coloque-o no `.gitignore`.
* Não imprima o token nos logs.
* Não compartilhe o mesmo token entre bots diferentes.
