Intégration JavaScript

Intégrez SilentShield dans n'importe quel site web en utilisant du JavaScript natif, ou consultez nos guides spécifiques pour React, Vue et Angular.

1. Ajouter la balise script

Ajoutez cette balise script à votre HTML, idéalement avant la balise fermante </body> :

HTMLhtml
<script src="https://api.silentshield.io/client.js?key=YOUR_API_KEY" defer></script>

2. Initialiser le Widget

Appelez SilentShield.init() une fois le DOM chargé :

JavaScriptjavascript
document.addEventListener('DOMContentLoaded', function() {
  SilentShield.init({
    apiKey: 'YOUR_API_KEY',
    lang: 'auto',
    features: {
      telemetry: true,
      captchaUI: true,
      fallbackCaptcha: true,
      showBrandingBadge: true,
    },
    onVerdict: function(response) {
      console.log('SilentShield verdict:', response);
    }
  });
});

Options de configuration

apiKey
API Key (obligatoire)
lang
Code de langue ou 'auto' pour la détection du navigateur (par défaut : 'auto'). Prend en charge 25 langues.
thresholdSuspicious
Un score inférieur à cette valeur déclenche un challenge (par défaut : 0.6)
thresholdBlock
Un score inférieur à cette valeur bloque la requête (par défaut : 0.3)
telemetry
Activer le suivi comportemental (par défaut : true)
captchaUI
Afficher l'interface CAPTCHA si nécessaire (par défaut : true)
fallbackCaptcha
Activer le CAPTCHA mathématique de secours (par défaut : true)
showBrandingBadge
Afficher le badge « Protégé par SilentShield » (par défaut : true)
zeroPii
Disable browser fingerprinting for maximum privacy (default: false). See Features → Zero-PII Mode.
debugOverlay
Afficher l'overlay de débogage (par défaut : false)
onVerdict
Fonction de rappel appelée lorsqu'un verdict est reçu

Applications monopage (SPA)

Pour les SPA utilisant le routage côté client (React Router, Vue Router, etc.), SilentShield observe automatiquement les modifications du DOM et détecte les nouveaux formulaires. Aucune ré-initialisation n'est nécessaire après la navigation.

Lecture du Nonce

Après la soumission du formulaire, le nonce est disponible sous forme de champ caché :

HTMLhtml
const nonce = document.querySelector('input[name="ss_nonce"]')?.value;