Documentation Développeur

Protection invisible contre les bots. Pas de CAPTCHAs. API-first.

Démarrage Rapide

1

Installer et Intégrer

Ajouter le script et obtenir un jeton (token)

2

Vérifier sur le Serveur

Valider le jeton sur votre backend

Test Rapide avec cURL

Vérifier le nonce via la ligne de commande

# Vérifier le Nonce
curl -X POST https://api.silentshield.io/v1/verify \
  -H "api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"nonce": "256ea6c63c3ccdd317e05cbc9ef0c659"}'

Frontend Integration

Add the client script with SRI and defer attributes

<!-- Add to <head> with SRI for security -->
(function () {
  var KEY = "YOUR_API_KEY";
  var SITE = location.hostname;
  var V = "2025.09.1";
  var s = document.createElement('script');
  s.src = "https://api.silentshield.io/client.js?k=" + encodeURIComponent(KEY)
    + "&v=" + encodeURIComponent(V)
    + "&site=" + encodeURIComponent(SITE);
  s.async = true;
  s.crossOrigin = "anonymous";
  document.head.appendChild(s);
})();

Sécurité et Confidentialité

  • Pas de cookies – fonctionnement entièrement sans cookies
  • Pas de collecte de PII – conforme au RGPD et au CCPA
  • Hébergement dans l'UE – toutes les données restent en Europe
  • Conforme WCAG – accessible à tous les utilisateurs
  • Compatible CSP – utiliser avec Content Security Policy:
Content-Security-Policy: script-src 'self' https://api.silentshield.io;

Référence API

API Version: 2025-10-01 · Base URL: https://api.silentshield.io

POST/v1/verify

Vérifier le Nonce SilentShield

Request Headers:

AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

Request Body:

tokenstringLe Nonce à vérifier

Response:

Success (200):

{
  "ok": true,
  "verdict": "human",
  "confidence": 0.95,
  "request_nonce": "req_abc123"
}

Error:

{
  "ok": false,
  "verdict": "error",
  "confidence": 0,
  "request_nonce": "req_abc123",
  "error": "Invalid nonce"
}

Status Codes:

200Nonce vérifié avec succès
400Requête invalide (Nonce manquant ou incorrect)
401Clé API invalide
429Limite de taux dépassée (100 requêtes/min.)
500Erreur interne du serveur

SDKs et Bibliothèques

JavaScript ES6+

v1.0.1
npm i @forge12interactive/silentshield-sdk-js
import { SilentShield } from "@forge12interactive/silentshield-sdk-js";

const shield = new SilentShield({
  siteKey: 'your-site-key',
  debug: true
});

await shield.initialize();
const token = await shield.getToken();

TypeScript

v1.0.1
npm i @forge12interactive/silentshield-sdk-js
import { SilentShield, type SilentShieldConfig } from "@forge12interactive/silentshield-sdk-js";

const config: SilentShieldConfig = {
  siteKey: 'your-site-key',
  timeout: 10000
};

const shield = new SilentShield(config);
const token: string = await shield.getToken();

Node.js Backend

v1.0.1
npm i @forge12interactive/silentshield-sdk-js
import { SilentShieldBackend } from "@forge12interactive/silentshield-sdk-js";

const backend = new SilentShieldBackend('your-secret-key');

// Form verification
const result = await backend.verifyFormSubmission(formData);
if (result.isValid) {
  console.log('Human verified!', result.formData);
}

Vue.js

v1.0.1
npm i @forge12interactive/silentshield-sdk-js
import { SilentShield } from "@forge12interactive/silentshield-sdk-js";

export default {
  async mounted() {
    this.shield = new SilentShield({ siteKey: 'your-key' });
    await this.shield.initialize();
  },
  
  methods: {
    async handleSubmit() {
      const token = await this.shield.getToken();
      // Submit with token
    }
  }
};

React

v1.0.1
npm i @forge12interactive/silentshield-sdk-js
import { SilentShield } from "@forge12interactive/silentshield-sdk-js";
import { useEffect, useState } from 'react';

function MyForm() {
  const [shield, setShield] = useState(null);
  
  useEffect(() => {
    const init = async () => {
      const s = new SilentShield({ siteKey: 'your-key' });
      await s.initialize();
      setShield(s);
    };
    init();
  }, []);
  
  const handleSubmit = async (e) => {
    const token = await shield?.getToken();
    // Submit with token
  };
  
  return <form onSubmit={handleSubmit}>...</form>;
}

Resources

Help Center

Comprehensive documentation with getting started guides, integration tutorials, configuration references, and troubleshooting.

Changelog

Stay up to date with the latest features, improvements, and fixes.

Prêt à commencer ?

Créez un compte gratuit et obtenez votre clé de site en quelques secondes.

Commencer