# Boas práticas de segurança

> Boas práticas da API do FORSI Chat: onde guardar a chave, como receber webhooks com segurança, idempotência e dados pessoais (LGPD).

- **A chave é segredo de servidor.** Guarde em variável de ambiente ou cofre de segredos, nunca no código, no repositório, no site, no app de celular ou no navegador. Chamadas com `Origin` são recusadas de propósito.
- **Uma chave por integração**, com o mínimo de escopos. Assim dá para revogar uma sem parar as outras. Evite `equipe:permissoes` e `funil:apagar` se não precisar.
- **Restrinja por IP** e use **validade** quando o seu servidor tiver IP fixo ou a integração for temporária.
- **Troque a chave com calma**: Trocar a chave mantém a antiga valendo por até 7 dias.
- **Vazou?** Revogue na hora em Configurações → API e webhooks e crie outra. Revogar corta na hora.
- **Nunca registre a chave inteira** em log, ticket ou print. Para o suporte, mande o `requisicao_id`.
- **Webhooks**: confira a assinatura em todo evento, recuse timestamp com mais de 5 minutos, compare em tempo constante, use o `id` do evento para ignorar repetidos e responda rápido (trabalho pesado vai para a sua fila).
- **Segredo do webhook** também é segredo de servidor. Troque com [`POST /webhooks/{id}/rotacionar`](https://docs.forsi.com.br/api/webhooks/rotacionar-webhook) se suspeitar de vazamento.
- **Repita com Idempotency-Key**: no envio de mensagens e nas criações, para nunca duplicar.
- **Dados pessoais**: guarde só o que a sua integração precisa e apague quando não precisar mais (LGPD).
- **Mídia**: os links de `midia.url` precisam ser https públicos; não use links com credenciais na URL.

---

Página: https://docs.forsi.com.br/seguranca · Índice: https://docs.forsi.com.br/llms.txt · Tudo num arquivo: https://docs.forsi.com.br/llms-full.txt
