Secrets e boas práticas
NUNCA coloque sua Secret Key em:
JavaScript do frontend · navegador · código público · GitHub · frontend do Lovable/Bolt · aplicativo mobile compilado. Use sempre uma camada server-side: Supabase Edge Functions, Cloudflare Workers, Vercel/Netlify Functions, backend Lovable/Supabase, n8n, Make ou seu backend.
Onde guardar a chave
- Supabase:
supabase secrets set ASSINAPI_SECRET_KEY=…e use em Edge Functions. - Vercel/Netlify: variável de ambiente SEM prefixo NEXT_PUBLIC_/VITE_.
- Cloudflare Workers:
wrangler secret put ASSINAPI_SECRET_KEY. - n8n/Make: credencial/conexão, nunca texto solto no fluxo.
- Bubble: header marcado como Private no API Connector.
- FlutterFlow: API Call com “Make Private” (via Cloud Function) ou backend próprio.
Checklist
- Uma chave por projeto/ambiente, com escopos mínimos e expiração.
- Rotação periódica sem downtime; revogação imediata em caso de vazamento.
- Valide HMAC e timestamp de todo webhook; deduplique por X-Event-Id.
- Use Idempotency-Key em todo POST.
- Não registre CPF, OTP, links de assinatura ou chaves em logs.
- Baixe e armazene os artefatos finais; URLs de download expiram.
Como a AssinAPI protege seus dados
- Senhas com Argon2id; tokens, OTP e API keys apenas como HMAC.
- CPF cifrado com AES-256-GCM; APIs públicas exibem apenas versões mascaradas.
- Isolamento por organização/projeto/ambiente em toda consulta; recurso de outro tenant responde 404.
- Trilha de auditoria imutável (bloqueada no banco) e encadeada por hash.
- Chave do manifesto em KMS/HSM, fora do banco de dados.