SilentShield on näkymätön, GDPR-yhteensopiva CAPTCHA-vaihtoehto React- ja Next.js-sovelluksille. Lataat kevyen asiakasskriptin, saat tunnisteen ja vahvistat sen palvelimella @forge12interactive/silentshield-sdk-js-paketilla ja yhdellä API-avaimella. Evästeitä, seurantaa tai henkilötietoja ei ole, ja isännöinti tapahtuu oletusarvoisesti vain EU:ssa.
Näkymätön CAPTCHA — React & Next.js
Toimii minkä tahansa React- tai Next.js-sovelluksen kanssa kevyen SilentShield-skriptin avulla: nouda nonce lähetettäessä ja vahvista se taustajärjestelmässä @forge12interactive/silentshield-sdk-js-paketilla. Näkymätön ja GDPR-yhteensopiva.

Developer Experience
Koodiesimerkit
Upota asiakasskripti
<!-- 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);
})();React-komponentti
import React, { useState } from "react";
export default function ContactForm() {
const [loading, setLoading] = useState(false);
const [message, setMessage] = useState("");
const handleSubmit = async (e) => {
e.preventDefault();
setLoading(true);
try {
// client.js injects a hidden behavior_nonce input into the form —
// read it from the form data (there is no global SilentShield object).
const formData = new FormData(e.currentTarget);
const nonce = formData.get("behavior_nonce");
// Verify on your backend
const res = await fetch("/api/verify", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ nonce }),
});
const data = await res.json();
if (res.ok && data.success) {
setMessage("Successfully verified!");
// Process form submission
} else {
setMessage("Bot detected. Please try again.");
}
} catch (error) {
console.error("Verification failed:", error);
setMessage("Verification failed. Please try again.");
} finally {
setLoading(false);
}
};
return (
<form onSubmit={handleSubmit}>
<input type="email" placeholder="Email" required />
<button type="submit" disabled={loading}>
{loading ? "Verifying..." : "Submit"}
</button>
{message && <p>{message}</p>}
</form>
);
}Taustajärjestelmän vahvistus (Next.js)
// app/api/verify/route.ts
import { SilentShield } from "@forge12interactive/silentshield-sdk-js";
export async function POST(req: Request) {
const { nonce } = await req.json();
const result = await SilentShield.verifyNonce(nonce, process.env.SILENTSHIELD_API_KEY);
const human = result.ok && result.verdict === "human" && result.confidence >= 0.7;
if (!human) {
return Response.json({ error: "Bot detected" }, { status: 403 });
}
// Human — process the form
return Response.json({ success: true });
}Näin SilentShield toimii Reactissa
SilentShield lataa pienen asiakasskriptin, joka suorittaa näkymättömän tarkistuksen käyttäjän ollessa vuorovaikutuksessa lomakkeesi kanssa. Lähetettäessä React- tai Next.js-komponenttisi lähettää luodun tunnisteen taustajärjestelmääsi, jossa vahvistat sen @forge12interactive/silentshield-sdk-js-paketilla. Käyttäjät eivät koskaan näe pulmaa, ja bundlesi pysyy kevyenä, koska raskasta vimpainta ei tarvitse renderöidä.
Asiakasskripti plus palvelinvahvistus
Erillistä @silentshield/react-verkkopakettia ei tarvitse asentaa — SilentShield toimii missä tahansa React- tai Next.js-sovelluksessa asiakasskriptin ja palvelinpuolen vahvistuksen kautta. Lisäät skriptin https://api.silentshield.io/client.js?k=YOUR_API_KEY, luet tunnisteen komponentissasi ja vahvistat sen osoitetta https://api.silentshield.io/v1/verify vasten käyttäen api-key-otsaketta route handlerista tai API-reitistä.
Käyttöönoton läpikäynti
Luo tili ja kopioi API-avaimesi. Lisää SilentShield-asiakasskripti sovellukseesi ja ota tunniste talteen, kun lomake lähetetään. Asenna @forge12interactive/silentshield-sdk-js palvelimellesi, luo asiakas API-avaimellasi ja kutsu verify tunnisteella. Jos tulos on ihminen, käsittele pyyntö; muuten hylkää se.
Yksityisyys ja saavutettavuus oletuksena
SilentShield ei tallenna evästeitä, ei suorita seurantaa eikä kerää henkilötietoja, joten sovelluksesi pysyy GDPR-yhteensopivana. Vahvistus suoritetaan oletusarvoisesti vain EU:n infrastruktuurissa. Näkymätön tarkistus täyttää WCAG 2.1 AA -tason, mikä pitää lomakkeesi käytettävinä näppäimistön ja ruudunlukijan käyttäjille ilman mitään visuaalista haastetta.
Integroi Reactiin nyt
Lisää skripti, vahvista @forge12interactive/silentshield-sdk-js-paketilla — valmis minuuteissa.