Kehittäjän dokumentaatio

Näkymätön bottisuojaus. Ei CAPTCHA-kyselyitä. API-etupäässä.

Pika-aloitus

1

Asenna ja Integroi

Lisää skripti ja hanki tunniste (token)

2

Varmenna Palvelimella

Validoi tunniste taustaohjelmassasi

Nopea Testaus cURL:llä

Varmenna tunnus (nonce) komentoriviltä

# Varmenna 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);
})();

Turvallisuus & Yksityisyys

  • Ei evästeitä – täysin evästeetön toiminta
  • Ei PII-keräystä – GDPR & CCPA -yhteensopiva
  • EU-hosting – kaikki data pysyy Euroopassa
  • WCAG-yhteensopiva – kaikkien käyttäjien saavutettavissa
  • CSP-yhteensopiva – käytä Content Security Policyn kanssa:
Content-Security-Policy: script-src 'self' https://api.silentshield.io;

API-viite

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

POST/v1/verify

Varmenna SilentShield Nonce

Request Headers:

AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

Request Body:

tokenstringVarmennettava tunnus (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:

200Tunnus (nonce) varmennettu onnistuneesti
400Virheellinen pyyntö (puuttuva tai väärä tunnus)
401Virheellinen API-avain
429Nopeusrajoitus ylitetty (100 pyyntöä/min.)
500Sisäinen palvelinvirhe

SDK:t ja Kirjastot

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');

// Lomakkeen varmennus
const result = await backend.verifyFormSubmission(formData);
if (result.isValid) {
  console.log('Ihmiseksi varmennettu!', 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();
      // Lähetä tunnisteen kanssa
    }
  }
};

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();
    // Lähetä tunnisteen kanssa
  };
  
  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.

Oletko valmis aloittamaan?

Luo ilmainen tili ja hanki sivainavain muutamassa sekunnissa.

Aloita nyt