Oferta para nuevos clientes−20 %20 % de descuento los primeros 3 meses con pago mensualVer tarifas
SilentShield

SilentShield es una alternativa a CAPTCHA invisible y conforme con el RGPD para aplicaciones de React y Next.js. Carga un ligero script de cliente, obtiene un token y lo verifica en el servidor con el paquete @forge12interactive/silentshield-sdk-js y una única clave de API. No hay cookies ni rastreo entre sitios web, y el alojamiento es en la UE de forma predeterminada.

CAPTCHA invisible para React & Next.js

Funciona con cualquier aplicación React o Next.js mediante el ligero script de SilentShield: obtenga un nonce al enviar y verifíquelo en su backend con @forge12interactive/silentshield-sdk-js. Invisible y conforme al RGPD.

Integración de CAPTCHA en React

Developer Experience

Independiente del framework — funciona con cualquier aplicación React o Next.js
Script de cliente ligero — no requiere un paquete de React pesado
Basado en nonce — invisible, sin interacción del usuario
@forge12interactive/silentshield-sdk-js para la verificación en el backend
Compatible con App Router y Pages Router
Compatible con TypeScript

Ejemplos de código

Incrustar el 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 de 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>
  );
}

Verificación en el 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 });
}

Cómo funciona SilentShield en React

SilentShield carga un pequeño script de cliente que ejecuta una comprobación invisible mientras un usuario interactúa con su formulario. Al enviar, su componente de React o Next.js envía el token generado a su backend, donde lo verifica con el paquete @forge12interactive/silentshield-sdk-js. Los usuarios nunca ven un rompecabezas y su bundle se mantiene ligero porque no hay ningún widget pesado que renderizar.

Script de cliente más verificación en servidor

No hay ningún paquete web @silentshield/react independiente que instalar: SilentShield funciona en cualquier aplicación de React o Next.js mediante el script de cliente y una verificación del lado del servidor. Añade el script https://api.silentshield.io/client.js?k=YOUR_API_KEY, lee el token en su componente y lo confirma contra https://api.silentshield.io/api/v1/captcha/verify-nonce usando la cabecera X-Api-Key desde un route handler o una ruta de API.

Guía de configuración

Cree una cuenta y copie su clave de API. Añada el script de cliente de SilentShield a su aplicación y capture el token cuando se envíe el formulario. Instale @forge12interactive/silentshield-sdk-js en su servidor, cree el cliente con su clave de API y llame a verify con el token. Si el resultado es humano, procese la solicitud; de lo contrario, recházela.

Privacidad y accesibilidad de forma predeterminada

SilentShield no usa cookies ni rastreo entre sitios web; la dirección IP solo sirve para la verificación y no se almacena en texto plano. Así puede proteger su aplicación conforme al RGPD. La verificación se ejecuta de forma predeterminada en nuestros servidores en Alemania. La comprobación invisible cumple con WCAG 2.1 AA, lo que mantiene sus formularios utilizables para usuarios de teclado y lectores de pantalla sin ningún desafío visual.

Integre React ahora

Añada el script y verifique en su servidor – con o sin @forge12interactive/silentshield-sdk-js.

Preguntas frecuentes

¿Cómo añado un CAPTCHA a una aplicación de React?

Cargue el script del cliente de SilentShield `https://api.silentshield.io/client.js?k=YOUR_API_KEY` en su aplicación de React o Next.js, obtenga un nonce al enviar y verifíquelo en su backend en `https://api.silentshield.io/v1/verify` usando el SDK `@forge12interactive/silentshield-sdk-js`. No hay un paquete web de React separado: el script del cliente más la verificación en el backend es el patrón.

¿Hay un paquete de React de SilentShield?

No existe un paquete web de React separado. En React y Next.js añada el script cliente `https://api.silentshield.io/client.js?k=YOUR_API_KEY` y verifique el `behavior_nonce` inyectado en su backend — con unas líneas de fetch o con el paquete oficial `@forge12interactive/silentshield-sdk-js`. Un SDK de React Native para apps móviles está disponible actualmente bajo petición (acceso anticipado).

¿Cómo funciona SilentShield con Next.js?

En Next.js, incluya el script del cliente de SilentShield en sus páginas y luego verifique el nonce en el lado del servidor —en un route handler o una ruta de API— con el SDK `@forge12interactive/silentshield-sdk-js`, llamando a `https://api.silentshield.io/v1/verify` con la cabecera `api-key`. Esto protege los formularios de forma invisible con una sola clave API.

¿Admite SilentShield React Native?

Un SDK de React Native para apps móviles está actualmente en acceso anticipado — solicítalo en [email protected]. La verificación en el backend funciona hoy con `@forge12interactive/silentshield-sdk-js` o con una simple llamada HTTP a `https://api.silentshield.io/api/v1/captcha/verify-nonce`, bloqueando el abuso automatizado sin mostrar puzzles a los usuarios.

¿Cumple SilentShield el RGPD en una aplicación de React?

Sí. Independientemente del framework, SilentShield guarda los datos en nuestros servidores en Alemania, no establece cookies y no realiza seguimiento entre sitios web. Su frontend de React carga un único script del cliente y su backend verifica el nonce; la dirección IP no se almacena en texto plano.

¿Añade SilentShield mucha carga a una aplicación de React?

Apenas. SilentShield carga un script del cliente de unos 49 KB (gzip, medido el 23/09/2026) sin archivos de imagen. La verificación se realiza mediante señales de comportamiento y un nonce de prueba de trabajo, comprobado en su backend, sin llamadas de seguimiento a terceros.