App secrets — cofre
Pra guardar API keys, tokens e credenciais que o app precisa em runtime mas não devem aparecer no código.
Quando usar
- API key de serviço externo que NÃO tem integração nativa
- Tokens de webhook outbound
- Credenciais de API privada da sua empresa
⚠️ Pra serviços com integração nativa (Bling, WhatsApp, etc.), use Integrações — são mais seguras.
Adicionar secret
App → Configurações → Secrets → Novo:
- Nome (ex:
STRIPE_KEY,INTERNAL_API_TOKEN) - Valor (cifrado AES-256-GCM em rest)
- Descrição
Usar em webhook do cron
await Bea.cron.create({
expression: "0 6 * * *",
action: {
type: "webhook",
url: "https://api.fornecedor.com/sync",
headers: {
Authorization: "Bearer ${secrets.FORNECEDOR_KEY}"
},
body: { account_id: "abc123" }
}
});
A plataforma resolve ${secrets.FORNECEDOR_KEY} server-side antes do fetch.
Usar em email
{
type: "email",
to: "user@x.com",
subject: "Reset",
html: 'Click: <a href="https://x.com/reset?t=${secrets.RESET_TOKEN}">aqui</a>'
}
Não disponível direto no JSX
Secrets não aparecem em props.* ou Bea.* — apenas resolvidos server-side em webhooks/emails do cron. Isso evita exposição no browser.
Limites
- 50 secrets por app
- Tamanho máx por valor: 10KB
- Rotação manual (sem auto-rotation)