SilentShield je neviditelná alternativa CAPTCHA v souladu s GDPR pro aplikace React a Next.js. Načtete odlehčený klientský skript, získáte token a ověříte jej na serveru pomocí balíčku @forge12interactive/silentshield-sdk-js a jediného API klíče. Nejsou zde žádné cookies, žádné sledování ani osobní údaje a hosting je ve výchozím nastavení pouze v EU.

Neviditelná CAPTCHA pro React & Next.js

Funguje s libovolnou aplikací React nebo Next.js díky odlehčenému skriptu SilentShield: při odeslání získáte nonce a ověříte ho na backendu pomocí @forge12interactive/silentshield-sdk-js. Neviditelná a v souladu s GDPR.

Integrace CAPTCHA v Reactu

Developer Experience

Nezávislá na frameworku — funguje s libovolnou aplikací React nebo Next.js
Odlehčený klientský skript — není potřeba těžký React balíček
Založená na nonce — neviditelná, bez interakce uživatele
@forge12interactive/silentshield-sdk-js pro ověření na backendu
Funguje s App Router i Pages Router
Přátelská k TypeScriptu

Příklady kódu

Vložení klientského skriptu

<!-- 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 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>
  );
}

Ověření na backendu (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 });
}

Jak SilentShield funguje v Reactu

SilentShield načte malý klientský skript, který provádí neviditelnou kontrolu, zatímco uživatel interaguje s vaším formulářem. Při odeslání vaše komponenta React nebo Next.js pošle vygenerovaný token na váš backend, kde jej ověříte pomocí balíčku @forge12interactive/silentshield-sdk-js. Uživatelé nikdy nevidí hádanku a váš bundle zůstává lehký, protože se nevykresluje žádný náročný widget.

Klientský skript plus serverové ověření

Není třeba instalovat žádný samostatný webový balíček @silentshield/react — SilentShield funguje v jakékoli aplikaci React nebo Next.js prostřednictvím klientského skriptu a serverového ověření. Přidáte skript https://api.silentshield.io/client.js?k=YOUR_API_KEY, přečtete token ve své komponentě a potvrdíte jej oproti https://api.silentshield.io/v1/verify pomocí hlavičky api-key z route handleru nebo API route.

Postup nastavení

Vytvořte účet a zkopírujte svůj API klíč. Přidejte klientský skript SilentShield do své aplikace a zachyťte token při odeslání formuláře. Nainstalujte @forge12interactive/silentshield-sdk-js na svůj server, vytvořte klienta se svým API klíčem a zavolejte verify s tokenem. Pokud je výsledkem člověk, zpracujte požadavek; jinak jej odmítněte.

Soukromí a přístupnost ve výchozím nastavení

SilentShield neukládá žádné cookies, neprovádí žádné sledování a neshromažďuje žádné osobní údaje, takže vaše aplikace zůstává v souladu s GDPR. Ověřování běží ve výchozím nastavení na infrastruktuře pouze v EU. Neviditelná kontrola splňuje WCAG 2.1 AA, což udržuje vaše formuláře použitelné pro uživatele klávesnice a čteček obrazovky bez jakékoli vizuální výzvy.

Integrujte React nyní

Přidejte skript, ověřte pomocí @forge12interactive/silentshield-sdk-js — hotovo za pár minut.

Časté dotazy

Jak přidat CAPTCHA do aplikace React?

Načtěte klientský skript SilentShield `https://api.silentshield.io/client.js?k=YOUR_API_KEY` ve své aplikaci React nebo Next.js, při odeslání získejte nonce a ověřte jej na svém backendu na adrese `https://api.silentshield.io/v1/verify` pomocí SDK `@forge12interactive/silentshield-sdk-js`. Neexistuje žádný samostatný webový balíček pro React — vzorem je klientský skript plus backendové ověření.

Existuje balíček React pro SilentShield?

Samostatný webový balíček pro React neexistuje. V Reactu a Next.js přidáte klientský skript `https://api.silentshield.io/client.js?k=YOUR_API_KEY` a vložený `behavior_nonce` ověříte na svém backendu — několika řádky fetch nebo oficiálním balíčkem `@forge12interactive/silentshield-sdk-js`. React Native SDK pro mobilní aplikace je momentálně k dispozici na vyžádání (early access).

Jak SilentShield funguje s Next.js?

V Next.js zahrnete klientský skript SilentShield do svých stránek a poté ověříte nonce na straně serveru — v route handleru nebo API route — pomocí SDK `@forge12interactive/silentshield-sdk-js`, které volá `https://api.silentshield.io/v1/verify` s hlavičkou `api-key`. Tím se formuláře chrání neviditelně jediným API klíčem.

Podporuje SilentShield React Native?

React Native SDK pro mobilní aplikace je momentálně v early access — vyžádejte si ho na [email protected]. Ověřování na backendu funguje už dnes s `@forge12interactive/silentshield-sdk-js` nebo jednoduchým HTTP voláním na `https://api.silentshield.io/v1/verify` a blokuje automatizované zneužití, aniž by uživatelům ukazovalo hádanky.

Je SilentShield v souladu s GDPR v aplikaci React?

Ano. Bez ohledu na framework hostuje SilentShield data ve výchozím nastavení v EU, nenastavuje žádné cookies, neprovádí žádné sledování a ukládá pouze pseudonymizovaná data. Váš frontend React načítá jediný klientský skript a váš backend ověřuje nonce — neukládají se žádné osobní identifikovatelné údaje.

Přidává SilentShield velkou zátěž aplikaci React?

Ne. SilentShield načítá jeden odlehčený klientský skript a nemá žádné obrazové soubory ke stažení. Ověření probíhá pomocí behaviorálních signálů a proof-of-work nonce, ověřovaných na vašem backendu, bez sledovacích volání třetích stran — takže přidává jen minimální zátěž vaší aplikaci React nebo Next.js.