Documentazione per Sviluppatori
Protezione invisibile contro i bot. Nessun CAPTCHA. API-first.
Avvio Rapido
1
Installa e Incorpora
Aggiungi lo script e ottieni un token
2
Verifica sul Server
Convalida il token sul tuo backend
Test Veloce con cURL
Verifica il nonce dalla riga di comando
# Verifica 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);
})();Sicurezza e Privacy
- Nessun cookie – funzionamento completamente senza cookie
- Nessuna raccolta di PII – conforme a GDPR e CCPA
- Hosting UE – tutti i dati rimangono in Europa
- Conforme a WCAG – accessibile a tutti gli utenti
- Compatibile con CSP – utilizza con Content Security Policy:
Content-Security-Policy: script-src 'self' https://api.silentshield.io;Riferimento API
API Version: 2025-10-01 · Base URL: https://api.silentshield.io
POST
/v1/verifyVerifica SilentShield Nonce
Request Headers:
AuthorizationBearer YOUR_API_KEYContent-Typeapplication/jsonRequest Body:
tokenstringIl Nonce da verificareResponse:
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 verificato con successo400Richiesta non valida (Nonce mancante o errato)401Chiave API non valida429Limite di velocità superato (100 richieste/min.)500Errore interno del serverSDK e Librerie
JavaScript ES6+
v1.0.1TypeScript
v1.0.1npm i @forge12interactive/silentshield-sdk-jsimport { 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.1npm i @forge12interactive/silentshield-sdk-jsimport { 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.1npm i @forge12interactive/silentshield-sdk-jsimport { 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.1npm i @forge12interactive/silentshield-sdk-jsimport { 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.
Pronto per iniziare?
Crea un account gratuito e ottieni la tua chiave del sito in pochi secondi.
Inizia Ora