Τεκμηρίωση Προγραμματιστών
Αόρατη προστασία από bots. Χωρίς CAPTCHAs. API-first.
Γρήγορη Εκκίνηση
1
Εγκατάσταση & Ενσωμάτωση
Προσθέστε το script και λάβετε ένα token
2
Επαλήθευση στον Server
Επικυρώστε το token στο backend σας
Γρήγορη Δοκιμή με cURL
Επαληθεύστε το nonce από τη γραμμή εντολών
# Επαλήθευση 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);
})();Ασφάλεια & Απόρρητο
- Χωρίς cookies – πλήρως λειτουργία χωρίς cookies
- Καμία συλλογή PII – συμβατό με GDPR & CCPA
- Φιλοξενία στην ΕΕ – όλα τα δεδομένα παραμένουν στην Ευρώπη
- Συμβατό με WCAG – προσβάσιμο σε όλους τους χρήστες
- Συμβατό με CSP – χρήση με Content Security Policy:
Content-Security-Policy: script-src 'self' https://api.silentshield.io;Αναφορά API
API Version: 2025-10-01 · Base URL: https://api.silentshield.io
POST
/v1/verifyΕπαλήθευση SilentShield Nonce
Request Headers:
AuthorizationBearer YOUR_API_KEYContent-Typeapplication/jsonRequest Body:
tokenstringΤο Nonce προς επαλήθευση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 επαληθεύτηκε επιτυχώς400Μη έγκυρη αίτηση (λείπει ή είναι λανθασμένο το Nonce)401Μη έγκυρο Κλειδί API429Υπέρβαση ορίου ρυθμού (100 αιτήσεις/λεπτό)500Εσωτερικό σφάλμα διακομιστήSDKs & Βιβλιοθήκες
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.
Είστε έτοιμοι να ξεκινήσετε;
Δημιουργήστε έναν δωρεάν λογαριασμό και λάβετε το κλειδί της ιστοσελίδας σας σε δευτερόλεπτα.
Ξεκινήστε τώρα