Firecrawl assina todas as requisições de webhook usando HMAC-SHA256. Verificar essas assinaturas garante que as requisições sejam autênticas e não tenham sido adulteradas.
Seu segredo de webhook está disponível na aba Advanced das configurações da sua conta. Cada conta tem um segredo exclusivo usado para assinar todas as solicitações de webhook.
Mantenha seu segredo de webhook em segurança e nunca o exponha publicamente. Se você acreditar que seu segredo foi comprometido, gere um novo imediatamente nas configurações da sua conta.
Verificação de assinatura
Cada requisição de webhook inclui um cabeçalho X-Firecrawl-Signature:
- Extraia a assinatura do cabeçalho
X-Firecrawl-Signature
- Obtenha o corpo bruto da requisição exatamente como recebido (não faça parsing antes)
- Calcule o HMAC-SHA256 usando sua chave secreta
- Compare as assinaturas usando uma função de comparação segura a timing (timing-safe)
Sempre valide as assinaturas
Nunca processe um webhook sem verificar a assinatura antes:
Use comparações seguras em termos de tempo
Comparações padrão de strings podem revelar informações por tempo de execução. Use crypto.timingSafeEqual() no Node.js ou hmac.compare_digest() no Python.
Sempre use HTTPS no endpoint do webhook para garantir que os dados sejam criptografados em trânsito.