Oferta dla nowych klientów−20 %20 % zniżki przez pierwsze 3 miesiące przy płatności miesięcznejZobacz plany
SilentShield

SilentShield to niewidoczna, zgodna z RODO alternatywa dla CAPTCHA dla aplikacji React i Next.js. Ładują Państwo lekki skrypt kliencki, uzyskują token i weryfikują go na serwerze za pomocą pakietu @forge12interactive/silentshield-sdk-js oraz jednego klucza API. Nie ma plików cookie ani śledzenia między stronami, a hosting domyślnie odbywa się w UE.

Niewidoczna CAPTCHA dla React & Next.js

Działa z dowolną aplikacją React lub Next.js dzięki lekkiemu skryptowi SilentShield: nonce pobiera się przy wysyłce i weryfikuje w backendzie za pomocą @forge12interactive/silentshield-sdk-js. Niewidoczna i zgodna z RODO.

Integracja CAPTCHA w React

Developer Experience

Niezależna od frameworka — działa z dowolną aplikacją React lub Next.js
Lekki skrypt klienta — nie wymaga ciężkiego pakietu React
Oparta na nonce — niewidoczna, bez interakcji użytkownika
@forge12interactive/silentshield-sdk-js do weryfikacji w backendzie
Działa z App Router i Pages Router
Przyjazna dla TypeScript

Przykłady kodu

Osadzenie skryptu klienta

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

Komponent React

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

Weryfikacja w backendzie (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 });
}

Jak SilentShield działa w React

SilentShield ładuje mały skrypt kliencki, który wykonuje niewidoczną kontrolę, gdy użytkownik wchodzi w interakcję z Państwa formularzem. Podczas wysyłania Państwa komponent React lub Next.js wysyła wygenerowany token do Państwa backendu, gdzie weryfikują go Państwo za pomocą pakietu @forge12interactive/silentshield-sdk-js. Użytkownicy nigdy nie widzą łamigłówki, a Państwa bundle pozostaje lekki, ponieważ nie ma ciężkiego widżetu do wyrenderowania.

Skrypt kliencki plus weryfikacja po stronie serwera

Nie ma osobnego pakietu webowego @silentshield/react do zainstalowania — SilentShield działa w każdej aplikacji React lub Next.js dzięki skryptowi klienckiemu i weryfikacji po stronie serwera. Dodają Państwo skrypt https://api.silentshield.io/client.js?k=YOUR_API_KEY, odczytują token w swoim komponencie i potwierdzają go względem https://api.silentshield.io/api/v1/captcha/verify-nonce, używając nagłówka X-Api-Key z route handlera lub trasy API.

Przewodnik konfiguracji

Proszę utworzyć konto i skopiować swój klucz API. Następnie należy dodać skrypt kliencki SilentShield do swojej aplikacji i przechwycić token po wysłaniu formularza. Na serwerze należy zainstalować @forge12interactive/silentshield-sdk-js, utworzyć klienta ze swoim kluczem API i wywołać verify z tokenem. Jeśli wynik to człowiek, żądanie jest przetwarzane; w przeciwnym razie należy je odrzucić.

Prywatność i dostępność domyślnie

SilentShield nie używa plików cookie ani śledzenia między stronami; adres IP służy tylko do weryfikacji i nie jest przechowywany w postaci jawnej. Dzięki temu mogą Państwo chronić swoją aplikację zgodnie z RODO. Weryfikacja domyślnie działa na naszych serwerach w Niemczech. Niewidoczna kontrola spełnia WCAG 2.1 AA, co utrzymuje Państwa formularze użytecznymi dla użytkowników klawiatury i czytników ekranu bez żadnego wyzwania wizualnego.

Integracja z React już teraz

Wystarczy dodać skrypt i weryfikować na własnym serwerze – z @forge12interactive/silentshield-sdk-js lub bez.

Najczęściej zadawane pytania

Jak dodać CAPTCHA do aplikacji React?

Skrypt kliencki SilentShield `https://api.silentshield.io/client.js?k=YOUR_API_KEY` należy załadować w swojej aplikacji React lub Next.js, pobrać nonce przy wysyłaniu i zweryfikować go na backendzie pod adresem `https://api.silentshield.io/v1/verify` za pomocą pakietu SDK `@forge12interactive/silentshield-sdk-js`. Nie ma osobnego pakietu React dla webu — wzorcem jest skrypt kliencki plus weryfikacja na backendzie.

Czy istnieje pakiet React dla SilentShield?

Nie ma osobnego pakietu webowego dla Reacta. W React i Next.js dodają Państwo skrypt kliencki `https://api.silentshield.io/client.js?k=YOUR_API_KEY` i weryfikują wstrzyknięty `behavior_nonce` na swoim backendzie — kilkoma linijkami fetch lub oficjalnym pakietem `@forge12interactive/silentshield-sdk-js`. SDK React Native dla aplikacji mobilnych jest obecnie dostępne na życzenie (wczesny dostęp).

Jak SilentShield działa z Next.js?

W Next.js dołączają Państwo skrypt kliencki SilentShield do swoich stron, a następnie weryfikują nonce po stronie serwera — w route handlerze lub trasie API — za pomocą pakietu SDK `@forge12interactive/silentshield-sdk-js`, wywołując `https://api.silentshield.io/v1/verify` z nagłówkiem `api-key`. Chroni to formularze niewidocznie za pomocą jednego klucza API.

Czy SilentShield obsługuje React Native?

SDK React Native dla aplikacji mobilnych jest obecnie we wczesnym dostępie — prosimy o wiadomość na [email protected]. Weryfikacja backendowa działa już dziś z `@forge12interactive/silentshield-sdk-js` lub prostym wywołaniem HTTP na `https://api.silentshield.io/api/v1/captcha/verify-nonce`, blokując zautomatyzowane nadużycia bez pokazywania użytkownikom łamigłówek.

Czy SilentShield jest zgodny z RODO w aplikacji React?

Tak. Niezależnie od frameworka SilentShield przechowuje dane na naszych serwerach w Niemczech, nie ustawia plików cookie i nie śledzi między witrynami. Państwa frontend React ładuje jeden skrypt kliencki, a backend weryfikuje nonce; adres IP nie jest przechowywany w postaci jawnej.

Czy SilentShield dodaje duży narzut do aplikacji React?

Prawie wcale. SilentShield ładuje skrypt kliencki o rozmiarze około 49 KB (gzip, zmierzone 23.09.2026) bez plików graficznych. Weryfikacja odbywa się za pomocą sygnałów behawioralnych i nonce proof-of-work, sprawdzanego w Państwa backendzie, bez wywołań śledzących do stron trzecich.