Integração com JavaScript
Integre o SilentShield em qualquer site usando JavaScript puro, ou utilize nossos guias específicos para React, Vue e Angular.
1. Adicionar a Tag de Script
Adicione esta tag de script ao seu HTML, de preferência antes da tag de fechamento </body>:
HTMLhtml
<script src="https://api.silentshield.io/client.js?k=YOUR_API_KEY" crossorigin="anonymous" defer></script>2. Inicializar o Widget
Não é necessária inicialização manual — o client.js inicializa-se sozinho e carrega a configuração do widget (tema, idioma, distintivo) a partir das definições do painel:
JavaScriptjavascript
// No init call needed — client.js bootstraps itself as soon as it loads
// and pulls your widget configuration (theme, language, badge) from the
// dashboard: App → API keys → [your key] → Widget.Opções de Configuração
apiKey- API Key (obrigatório)
lang- Código do idioma ou 'auto' para detecção do navegador (padrão: 'auto'). Suporta 25 idiomas.
thresholdSuspicious- Pontuação abaixo deste valor aciona um desafio (padrão: 0.6)
thresholdBlock- Pontuação abaixo deste valor bloqueia a requisição (padrão: 0.3)
telemetry- Ativar rastreamento de comportamento (padrão: true)
captchaUI- Mostrar interface do CAPTCHA quando necessário (padrão: true)
fallbackCaptcha- Ativar CAPTCHA matemático como alternativa (padrão: true)
showBrandingBadge- Mostrar selo 'Protegido por SilentShield' (padrão: true)
zeroPii- Disable browser fingerprinting for maximum privacy (default: false). See Features → Zero-PII Mode.
debugOverlay- Mostrar sobreposição de depuração (padrão: false)
onVerdict- Função de callback chamada quando um veredito é recebido
Aplicações de Página Única (SPA)
Para SPAs que usam roteamento no lado do cliente (React Router, Vue Router, etc.), o SilentShield observa automaticamente as mudanças no DOM e detecta novos formulários. Não é necessária reinicialização após a navegação.
Lendo o Nonce
Após o envio do formulário, o nonce está disponível como um campo oculto:
HTMLhtml
const nonce = document.querySelector('input[name="behavior_nonce"]')?.value;