SilentShield er et usynligt, GDPR-kompatibelt CAPTCHA-alternativ til React- og Next.js-apps. Du indlæser et letvægts klientscript, får et token og verificerer det på serveren med pakken @forge12interactive/silentshield-sdk-js og en enkelt API-nøgle. Der er ingen cookies, ingen sporing og ingen personoplysninger, og hosting er som standard kun i EU.

Usynlig CAPTCHA til React & Next.js

Fungerer med enhver React- eller Next.js-app via det letvægts SilentShield-script: hent en nonce ved indsendelse, og verificér den i din backend med @forge12interactive/silentshield-sdk-js. Usynlig og GDPR-kompatibel.

React-CAPTCHA-integration

Developer Experience

Framework-uafhængig — fungerer med enhver React- eller Next.js-app
Letvægts klientscript — ingen tung React-pakke påkrævet
Nonce-baseret — usynlig, ingen brugerinteraktion
@forge12interactive/silentshield-sdk-js til backend-verificering
Fungerer med App Router og Pages Router
TypeScript-venlig

Kodeeksempler

Indlejr klientscriptet

<!-- 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-verificering (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ådan fungerer SilentShield i React

SilentShield indlæser et lille klientscript, der kører et usynligt tjek, mens en bruger interagerer med din formular. Ved indsendelse sender din React- eller Next.js-komponent det genererede token til din backend, hvor du verificerer det med pakken @forge12interactive/silentshield-sdk-js. Brugere ser aldrig en gåde, og din bundle forbliver let, fordi der ikke er nogen tung widget at rendere.

Klientscript plus serververificering

Der er ingen separat @silentshield/react-webpakke at installere — SilentShield fungerer i enhver React- eller Next.js-app via klientscriptet og en serverside-verificering. Du tilføjer scriptet https://api.silentshield.io/client.js?k=YOUR_API_KEY, læser tokenet i din komponent og bekræfter det mod https://api.silentshield.io/v1/verify ved hjælp af api-key-headeren fra en route handler eller API-route.

Gennemgang af opsætning

Opret en konto og kopier din API-nøgle. Tilføj SilentShield-klientscriptet til din app, og fang tokenet, når formularen indsendes. Installer @forge12interactive/silentshield-sdk-js på din server, opret klienten med din API-nøgle, og kald verify med tokenet. Hvis resultatet er menneskeligt, behandl anmodningen; ellers afvis den.

Privatliv og tilgængelighed som standard

SilentShield gemmer ingen cookies, udfører ingen sporing og indsamler ingen personoplysninger, så din app forbliver GDPR-kompatibel. Verificering kører som standard på infrastruktur kun i EU. Det usynlige tjek opfylder WCAG 2.1 AA, hvilket holder dine formularer brugbare for tastatur- og skærmlæserbrugere uden nogen visuel udfordring.

Integrér med React nu

Tilføj scriptet, verificér med @forge12interactive/silentshield-sdk-js — klar på få minutter.

Ofte stillede spørgsmål

Hvordan tilføjer jeg et CAPTCHA til en React-app?

Indlæs SilentShields klientscript `https://api.silentshield.io/client.js?k=YOUR_API_KEY` i din React- eller Next.js-app, hent en nonce ved indsendelse, og verificer den på din backend ved `https://api.silentshield.io/v1/verify` med `@forge12interactive/silentshield-sdk-js`-SDK'en. Der er ingen separat React-webpakke — klientscriptet plus backend-verifikation er mønsteret.

Findes der en SilentShield React-pakke?

Der findes ikke et separat React-webpakke. I React og Next.js tilføjer du klientscriptet `https://api.silentshield.io/client.js?k=YOUR_API_KEY` og verificerer den injicerede `behavior_nonce` på din backend — med få linjer fetch eller den officielle pakke `@forge12interactive/silentshield-sdk-js`. Et React Native-SDK til mobilapps er i øjeblikket tilgængeligt på forespørgsel (early access).

Hvordan fungerer SilentShield med Next.js?

I Next.js inkluderer du SilentShields klientscript på dine sider og verificerer derefter noncen på serversiden — i en route handler eller API-rute — med `@forge12interactive/silentshield-sdk-js`-SDK'en, der kalder `https://api.silentshield.io/v1/verify` med headeren `api-key`. Sådan beskyttes formularer usynligt med én enkelt API-nøgle.

Understøtter SilentShield React Native?

Et React Native-SDK til mobilapps er i øjeblikket i early access — anmod om det via [email protected]. Backend-verifikation virker allerede i dag med `@forge12interactive/silentshield-sdk-js` eller et simpelt HTTP-kald til `https://api.silentshield.io/v1/verify`, og blokerer automatiseret misbrug uden at vise brugerne et puslespil.

Er SilentShield GDPR-kompatibelt i en React-app?

Ja. Uanset framework hoster SilentShield data i EU som standard, sætter ingen cookies, foretager ingen sporing og gemmer kun pseudonymiserede data. Din React-frontend indlæser ét enkelt klientscript, og din backend verificerer noncen — ingen personhenførbare oplysninger gemmes.

Tilføjer SilentShield meget overhead til en React-app?

Nej. SilentShield indlæser ét enkelt letvægts-klientscript og har ingen billedfiler at downloade. Verifikationen sker via adfærdssignaler og en proof-of-work-nonce, kontrolleret på din backend, uden sporingskald til tredjeparter — så det tilføjer minimal overhead til din React- eller Next.js-app.