SilentShield je nevidljiva, usklađena s GDPR-om alternativa CAPTCHA-i za React i Next.js aplikacije. Učitavate laganu klijentsku skriptu, dobivate token i provjeravate ga na poslužitelju pomoću paketa @forge12interactive/silentshield-sdk-js i jednog API ključa. Nema kolačića ni praćenja među web stranicama, a hosting je prema zadanim postavkama u EU-u.
Nevidljivi CAPTCHA za React & Next.js
Radi s bilo kojom React ili Next.js aplikacijom putem laganog SilentShield skripta: pri slanju dohvatite nonce i provjerite ga na pozadini pomoću @forge12interactive/silentshield-sdk-js. Nevidljiv i usklađen s GDPR-om.

Developer Experience
Primjeri koda
Ugradnja klijentske skripte
<!-- In <head> or before </body> of every page with a form -->
<script src="https://api.silentshield.io/client.js?k=YOUR_API_KEY" defer></script>React komponenta
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>
);
}Provjera na pozadini (Next.js)
// app/api/verify/route.ts
export async function POST(req: Request) {
const { nonce } = await req.json();
const res = await fetch("https://api.silentshield.io/api/v1/captcha/verify-nonce", {
method: "POST",
headers: {
"Content-Type": "application/json",
"X-Api-Key": process.env.SILENTSHIELD_API_KEY!,
},
body: JSON.stringify({ nonce: nonce }),
signal: AbortSignal.timeout(5000),
});
const result = await res.json().catch(() => ({}));
const human = res.ok && result.ok === true && 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 });
}Kako SilentShield radi u Reactu
SilentShield učitava malu klijentsku skriptu koja izvodi nevidljivu provjeru dok korisnik komunicira s vašim obrascem. Prilikom slanja vaša React ili Next.js komponenta šalje generirani token na vaš backend, gdje ga provjeravate pomoću paketa @forge12interactive/silentshield-sdk-js. Korisnici nikada ne vide zagonetku, a vaš bundle ostaje lagan jer nema teškog widgeta za prikaz.
Klijentska skripta plus provjera na poslužitelju
Nema zasebnog web paketa @silentshield/react za instalaciju — SilentShield radi u bilo kojoj React ili Next.js aplikaciji putem klijentske skripte i provjere na strani poslužitelja. Dodajete skriptu https://api.silentshield.io/client.js?k=YOUR_API_KEY, čitate token u svojoj komponenti i potvrđujete ga u odnosu na https://api.silentshield.io/api/v1/captcha/verify-nonce koristeći zaglavlje X-Api-Key iz route handlera ili API rute.
Vodič za postavljanje
Izradite račun i kopirajte svoj API ključ. Dodajte klijentsku skriptu SilentShield u svoju aplikaciju i uhvatite token kada se obrazac pošalje. Instalirajte @forge12interactive/silentshield-sdk-js na svoj poslužitelj, izradite klijenta sa svojim API ključem i pozovite verify s tokenom. Ako je rezultat čovjek, obradite zahtjev; u suprotnom ga odbijte.
Privatnost i pristupačnost prema zadanim postavkama
SilentShield ne koristi kolačiće ni praćenje među web stranicama; IP adresa služi samo za provjeru i ne pohranjuje se u čitljivom obliku. Tako svoju aplikaciju možete zaštititi u skladu s GDPR-om. Provjera se prema zadanim postavkama izvodi na našim poslužiteljima u Njemačkoj. Nevidljiva provjera zadovoljava WCAG 2.1 AA, čime vaši obrasci ostaju upotrebljivi za korisnike tipkovnice i čitača zaslona bez ikakvog vizualnog izazova.
Integrirajte s Reactom sada
Dodajte skriptu i provjeravajte na svom poslužitelju – s paketom @forge12interactive/silentshield-sdk-js ili bez njega.
Često postavljana pitanja
Kako dodati CAPTCHA u React aplikaciju?
Učitajte klijentsku skriptu SilentShield `https://api.silentshield.io/client.js?k=YOUR_API_KEY` u svoju React ili Next.js aplikaciju, dohvatite nonce pri slanju i provjerite ga na svojem backendu na `https://api.silentshield.io/v1/verify` koristeći `@forge12interactive/silentshield-sdk-js` SDK. Nema zasebnog React web paketa — klijentska skripta uz backend provjeru je obrazac.
Postoji li SilentShield React paket?
Ne postoji zaseban React web-paket. U Reactu i Next.js-u dodajete klijentsku skriptu `https://api.silentshield.io/client.js?k=YOUR_API_KEY` i ubačeni `behavior_nonce` provjeravate na svom backendu — s nekoliko redaka fetcha ili službenim paketom `@forge12interactive/silentshield-sdk-js`. React Native SDK za mobilne aplikacije trenutno je dostupan na zahtjev (rani pristup).
Kako SilentShield radi s Next.js-om?
U Next.js-u uključite klijentsku skriptu SilentShield u svoje stranice, zatim provjerite nonce na strani poslužitelja — u route handleru ili API ruti — s `@forge12interactive/silentshield-sdk-js` SDK-om, pozivajući `https://api.silentshield.io/v1/verify` sa zaglavljem `api-key`. Time se obrasci štite nevidljivo jednim jedinim API ključem.
Podržava li SilentShield React Native?
React Native SDK za mobilne aplikacije trenutno je u ranom pristupu — zatražite ga na [email protected]. Provjera na backendu već danas radi s `@forge12interactive/silentshield-sdk-js` ili jednostavnim HTTP pozivom na `https://api.silentshield.io/api/v1/captcha/verify-nonce`, blokirajući automatizirane zloupotrebe bez prikazivanja zagonetki korisnicima.
Je li SilentShield usklađen s GDPR-om u React aplikaciji?
Da. Neovisno o frameworku, SilentShield čuva podatke na našim poslužiteljima u Njemačkoj, ne postavlja kolačiće i ne prati među web-mjestima. Vaš React frontend učitava jednu jedinu klijentsku skriptu, a vaš backend provjerava nonce; IP adresa ne pohranjuje se u čitljivom obliku.
Dodaje li SilentShield mnogo opterećenja React aplikaciji?
Jedva. SilentShield učitava klijentsku skriptu od oko 49 KB (gzip, izmjereno 23. 9. 2026.) bez slikovnih datoteka. Provjera se odvija putem signala ponašanja i proof-of-work noncea, provjerenog na vašem backendu, bez poziva za praćenje trećih strana.