SilentShield är ett osynligt, GDPR-kompatibelt CAPTCHA-alternativ för React- och Next.js-appar. Du laddar ett lättviktigt klientskript, hämtar en token och verifierar den på servern med paketet @forge12interactive/silentshield-sdk-js och en enda API-nyckel. Det finns inga cookies, ingen spårning och inga personuppgifter, och värdtjänsten är som standard endast inom EU.

Osynlig CAPTCHA för React & Next.js

Fungerar med valfri React- eller Next.js-app via det lättviktiga SilentShield-skriptet: hämta en nonce vid inskick och verifiera den i din backend med @forge12interactive/silentshield-sdk-js. Osynlig och GDPR-kompatibel.

React-CAPTCHA-integration

Developer Experience

Ramverksoberoende — fungerar med valfri React- eller Next.js-app
Lättviktigt klientskript — inget tungt React-paket krävs
Nonce-baserad — osynlig, ingen användarinteraktion
@forge12interactive/silentshield-sdk-js för verifiering i backend
Fungerar med App Router och Pages Router
TypeScript-vänlig

Kodexempel

Bädda in klientskriptet

<!-- 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-komponent

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

Backend-verifiering (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 });
}

Så fungerar SilentShield i React

SilentShield laddar ett litet klientskript som kör en osynlig kontroll medan en användare interagerar med ditt formulär. Vid inskick skickar din React- eller Next.js-komponent den genererade token till din backend, där du verifierar den med paketet @forge12interactive/silentshield-sdk-js. Användare ser aldrig ett pussel, och ditt bundle förblir lätt eftersom det inte finns någon tung widget att rendera.

Klientskript plus serververifiering

Det finns inget separat @silentshield/react-webbpaket att installera — SilentShield fungerar i vilken React- eller Next.js-app som helst via klientskriptet och en verifiering på serversidan. Du lägger till skriptet https://api.silentshield.io/client.js?k=YOUR_API_KEY, läser token i din komponent och bekräftar den mot https://api.silentshield.io/v1/verify med api-key-headern från en route handler eller API-route.

Genomgång av installation

Skapa ett konto och kopiera din API-nyckel. Lägg till SilentShield-klientskriptet i din app och fånga token när formuläret skickas in. Installera @forge12interactive/silentshield-sdk-js på din server, skapa klienten med din API-nyckel och anropa verify med token. Om resultatet är mänskligt, bearbeta begäran; annars avvisa den.

Integritet och tillgänglighet som standard

SilentShield lagrar inga cookies, utför ingen spårning och samlar inte in några personuppgifter, så din app förblir GDPR-kompatibel. Verifiering körs som standard på infrastruktur endast inom EU. Den osynliga kontrollen uppfyller WCAG 2.1 AA, vilket håller dina formulär användbara för tangentbords- och skärmläsaranvändare utan någon visuell utmaning.

Integrera med React nu

Lägg till skriptet, verifiera med @forge12interactive/silentshield-sdk-js — klart på några minuter.

Vanliga frågor

Hur lägger jag till ett CAPTCHA i en React-app?

Ladda SilentShields klientskript `https://api.silentshield.io/client.js?k=YOUR_API_KEY` i din React- eller Next.js-app, hämta en nonce vid inskickning och verifiera den i din backend vid `https://api.silentshield.io/v1/verify` med SDK:n `@forge12interactive/silentshield-sdk-js`. Det finns inget separat React-webbpaket — klientskriptet plus backend-verifiering är mönstret.

Finns det ett SilentShield React-paket?

Det finns inget separat React-webbpaket. I React och Next.js lägger du till klientskriptet `https://api.silentshield.io/client.js?k=YOUR_API_KEY` och verifierar den injicerade `behavior_nonce` på din backend — med några rader fetch eller det officiella paketet `@forge12interactive/silentshield-sdk-js`. Ett React Native-SDK för mobilappar är för närvarande tillgängligt på begäran (early access).

Hur fungerar SilentShield med Next.js?

I Next.js inkluderar du SilentShields klientskript på dina sidor och verifierar sedan noncen på serversidan — i en route handler eller API-rutt — med SDK:n `@forge12interactive/silentshield-sdk-js`, som anropar `https://api.silentshield.io/v1/verify` med rubriken `api-key`. Så skyddas formulär osynligt med en enda API-nyckel.

Stöder SilentShield React Native?

Ett React Native-SDK för mobilappar är för närvarande i early access — begär det via [email protected]. Backend-verifiering fungerar redan idag med `@forge12interactive/silentshield-sdk-js` eller ett enkelt HTTP-anrop till `https://api.silentshield.io/v1/verify`, och blockerar automatiserat missbruk utan att visa användare pussel.

Är SilentShield GDPR-kompatibelt i en React-app?

Ja. Oavsett ramverk hostar SilentShield data i EU som standard, sätter inga cookies, utför ingen spårning och lagrar endast pseudonymiserade data. Din React-frontend laddar ett enda klientskript och din backend verifierar noncen — ingen personligt identifierbar information lagras.

Lägger SilentShield till mycket overhead i en React-app?

Nej. SilentShield laddar ett enda lättviktigt klientskript och har inga bildfiler att ladda ner. Verifieringen sker via beteendesignaler och en proof-of-work-nonce, kontrollerad i din backend, utan spårningsanrop till tredje part — så det lägger till minimal overhead för din React- eller Next.js-app.