Oferta para novos clientes−20 %20 % de desconto nos primeiros 3 meses com pagamento mensalVer planos
SilentShield

O SilentShield é uma alternativa a CAPTCHA invisível e compatível com o RGPD para aplicações React e Next.js. Carrega um script de cliente leve, obtém um token e verifica-o no servidor com o pacote @forge12interactive/silentshield-sdk-js e uma única chave de API. Não há cookies nem rastreamento entre sites, e o alojamento é, por predefinição, na UE.

CAPTCHA invisível para React & Next.js

Funciona com qualquer aplicação React ou Next.js através do leve script da SilentShield: obtenha um nonce ao enviar e verifique-o no seu backend com @forge12interactive/silentshield-sdk-js. Invisível e em conformidade com o RGPD.

Integração de CAPTCHA em React

Developer Experience

Independente de framework — funciona com qualquer aplicação React ou Next.js
Script de cliente leve — não requer um pacote React pesado
Baseado em nonce — invisível, sem interação do utilizador
@forge12interactive/silentshield-sdk-js para verificação no backend
Funciona com App Router e Pages Router
Compatível com TypeScript

Exemplos de código

Incorporar o script de cliente

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

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

Verificação no backend (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 });
}

Como o SilentShield funciona no React

O SilentShield carrega um pequeno script de cliente que executa uma verificação invisível enquanto o utilizador interage com o seu formulário. No envio, o seu componente React ou Next.js envia o token gerado para o seu backend, onde o verifica com o pacote @forge12interactive/silentshield-sdk-js. Os utilizadores nunca veem um enigma, e o seu bundle permanece leve porque não há nenhum widget pesado para renderizar.

Script de cliente mais verificação no servidor

Não há um pacote web @silentshield/react separado para instalar — o SilentShield funciona em qualquer aplicação React ou Next.js através do script de cliente e de uma verificação do lado do servidor. Adicione o script https://api.silentshield.io/client.js?k=YOUR_API_KEY, leia o token no seu componente e confirme-o em relação a https://api.silentshield.io/api/v1/captcha/verify-nonce utilizando o cabeçalho X-Api-Key a partir de um route handler ou de uma rota de API.

Guia de configuração

Crie uma conta e copie a sua chave de API. Adicione o script de cliente SilentShield à sua aplicação e capture o token quando o formulário for enviado. Instale o @forge12interactive/silentshield-sdk-js no seu servidor, crie o cliente com a sua chave de API e chame verify com o token. Se o resultado for humano, processe o pedido; caso contrário, rejeite-o.

Privacidade e acessibilidade por predefinição

O SilentShield não usa cookies nem rastreamento entre sites; o endereço IP serve apenas para a verificação e não é armazenado em texto simples. Assim, pode proteger a sua aplicação em conformidade com o RGPD. A verificação é executada, por predefinição, nos nossos servidores na Alemanha. A verificação invisível cumpre a WCAG 2.1 AA, o que mantém os seus formulários utilizáveis para utilizadores de teclado e de leitores de ecrã sem qualquer desafio visual.

Integre com React agora

Adicione o script e verifique no seu servidor – com ou sem @forge12interactive/silentshield-sdk-js.

Perguntas frequentes

Como adiciono um CAPTCHA a uma aplicação React?

Carregue o script cliente do SilentShield `https://api.silentshield.io/client.js?k=YOUR_API_KEY` na sua aplicação React ou Next.js, obtenha um nonce ao enviar e verifique-o no seu backend em `https://api.silentshield.io/v1/verify` usando o SDK `@forge12interactive/silentshield-sdk-js`. Não existe um pacote web React separado: o script cliente mais a verificação no backend é o padrão.

Existe um pacote React do SilentShield?

Não existe um pacote web React separado. Em React e Next.js adiciona o script cliente `https://api.silentshield.io/client.js?k=YOUR_API_KEY` e verifica o `behavior_nonce` injetado no seu backend — com algumas linhas de fetch ou com o pacote oficial `@forge12interactive/silentshield-sdk-js`. Um SDK React Native para aplicações móveis está atualmente disponível a pedido (acesso antecipado).

Como funciona o SilentShield com o Next.js?

No Next.js, inclua o script cliente do SilentShield nas suas páginas e depois verifique o nonce no lado do servidor, num route handler ou numa rota de API, com o SDK `@forge12interactive/silentshield-sdk-js`, chamando `https://api.silentshield.io/v1/verify` com o cabeçalho `api-key`. Isto protege os formulários de forma invisível com uma única chave de API.

O SilentShield suporta React Native?

Um SDK React Native para aplicações móveis está atualmente em acesso antecipado — peça-o através de [email protected]. A verificação no backend funciona já hoje com `@forge12interactive/silentshield-sdk-js` ou com uma simples chamada HTTP a `https://api.silentshield.io/api/v1/captcha/verify-nonce`, bloqueando abusos automatizados sem mostrar puzzles aos utilizadores.

O SilentShield é compatível com o RGPD numa aplicação React?

Sim. Independentemente do framework, o SilentShield guarda os dados nos nossos servidores na Alemanha, não define cookies e não faz rastreio entre websites. O seu frontend React carrega um único script cliente e o seu backend verifica o nonce; o endereço IP não é armazenado em texto simples.

O SilentShield adiciona muita sobrecarga a uma aplicação React?

Quase nada. O SilentShield carrega um script cliente de cerca de 49 KB (gzip, medido a 23/09/2026) sem ficheiros de imagem. A verificação acontece através de sinais comportamentais e de um nonce de prova de trabalho, verificado no seu backend, sem chamadas de rastreio de terceiros.