新規のお客様向けキャンペーン−20 %月払いなら最初の3か月が20%オフ料金プランを見る
SilentShield

SilentShieldは、ReactおよびNext.jsアプリ向けの、目に見えないGDPR準拠のCAPTCHA代替手段です。軽量なクライアントスクリプトを読み込み、トークンを取得し、@forge12interactive/silentshield-sdk-jsパッケージと単一のAPIキーを使ってサーバー側で検証します。Cookieもサイトをまたいだトラッキングもなく、ホスティングはデフォルトでEU域内です。

見えないCAPTCHA — React & Next.js

軽量なSilentShieldスクリプトを使えば、あらゆるReactまたはNext.jsアプリで動作します。送信時にnonceを取得し、バックエンドで@forge12interactive/silentshield-sdk-jsを使って検証します。見えず、GDPRに準拠しています。

React CAPTCHA連携

Developer Experience

フレームワーク非依存 — あらゆるReactまたはNext.jsアプリで動作
軽量なクライアントスクリプト — 重いReactパッケージは不要
nonceベース — 見えず、ユーザー操作は不要
@forge12interactive/silentshield-sdk-js によるバックエンド検証
App Router と Pages Router に対応
TypeScript対応

コード例

クライアントスクリプトの埋め込み

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

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

バックエンド検証(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 });
}

ReactでのSilentShieldの仕組み

SilentShieldは小さなクライアントスクリプトを読み込み、ユーザーがフォームを操作している間に目に見えないチェックを実行します。送信時、お客様のReactまたはNext.jsコンポーネントは生成されたトークンをバックエンドに送信し、そこで@forge12interactive/silentshield-sdk-jsパッケージを使って検証します。ユーザーがパズルを見ることは決してなく、レンダリングすべき重いウィジェットがないため、バンドルは軽量なままです。

クライアントスクリプトとサーバー検証

インストールする独立した@silentshield/react Webパッケージはありません。SilentShieldは、クライアントスクリプトとサーバー側の検証を通じて、あらゆるReactまたはNext.jsアプリで動作します。スクリプトhttps://api.silentshield.io/client.js?k=YOUR_API_KEYを追加し、コンポーネントでトークンを読み取り、route handlerまたはAPIルートからX-Api-Keyヘッダーを使ってhttps://api.silentshield.io/api/v1/captcha/verify-nonceに対して確認します。

セットアップの手順

アカウントを作成し、APIキーをコピーします。SilentShieldクライアントスクリプトをアプリに追加し、フォームが送信されたときにトークンを取得します。サーバーに@forge12interactive/silentshield-sdk-jsをインストールし、APIキーでクライアントを作成し、トークンを使ってverifyを呼び出します。結果が人間であればリクエストを処理し、そうでなければ拒否します。

デフォルトでプライバシーとアクセシビリティに配慮

SilentShieldはCookieもサイトをまたいだトラッキングも使用しません。IPアドレスは検証のためだけに使用され、平文では保存されません。これにより、アプリをGDPRに準拠した形で保護できます。検証はデフォルトでドイツにある当社のサーバーで実行されます。目に見えないチェックはWCAG 2.1 AAを満たしており、視覚的な課題なしにキーボードやスクリーンリーダーの利用者にとってフォームを使いやすく保ちます。

今すぐReactに導入

スクリプトを組み込み、お客様のサーバーで検証 – @forge12interactive/silentshield-sdk-jsの有無を問いません。

よくある質問

ReactアプリにCAPTCHAをどう追加しますか?

SilentShieldのクライアントスクリプト `https://api.silentshield.io/client.js?k=YOUR_API_KEY` をReactまたはNext.jsアプリで読み込み、送信時にnonceを取得して、`@forge12interactive/silentshield-sdk-js` SDKを使いバックエンドの `https://api.silentshield.io/v1/verify` で検証します。別途のReactウェブパッケージはなく、クライアントスクリプトとバックエンド検証がそのパターンです。

SilentShieldのReactパッケージはありますか?

React専用のWebパッケージはありません。ReactやNext.jsではクライアントスクリプト `https://api.silentshield.io/client.js?k=YOUR_API_KEY` を追加し、挿入された `behavior_nonce` をバックエンドで検証します — 数行のfetch、または公式パッケージ `@forge12interactive/silentshield-sdk-js` を使用できます。モバイルアプリ向けのReact Native SDKは現在リクエストに応じて提供しています(アーリーアクセス)。

SilentShieldはNext.jsとどう連携しますか?

Next.jsでは、SilentShieldのクライアントスクリプトをページに含め、その後 `@forge12interactive/silentshield-sdk-js` SDKを使ってサーバー側 — ルートハンドラーやAPIルート — でnonceを検証します。これは `api-key` ヘッダーで `https://api.silentshield.io/v1/verify` を呼び出します。これにより、フォームを単一のAPIキーで不可視に保護します。

SilentShieldはReact Nativeに対応していますか?

モバイルアプリ向けのReact Native SDKは現在アーリーアクセス中です — [email protected] までリクエストしてください。バックエンド検証は、公式パッケージ `@forge12interactive/silentshield-sdk-js` または `https://api.silentshield.io/api/v1/captcha/verify-nonce` へのシンプルなHTTP呼び出しで今すぐ利用でき、ユーザーにパズルを表示せずに自動化された不正を防ぎます。

SilentShieldはReactアプリでGDPR準拠ですか?

はい。フレームワークにかかわらず、SilentShieldはデータをドイツにある当社のサーバーに保管し、Cookieを設定せず、サイトをまたぐトラッキングを行いません。Reactフロントエンドは単一のクライアントスクリプトを読み込み、バックエンドがnonceを検証します。IPアドレスは平文では保存されません。

SilentShieldはReactアプリに大きなオーバーヘッドを加えますか?

ほとんどありません。SilentShieldは約49 KB(gzip、2026年9月23日測定)のクライアントスクリプトを読み込み、画像ファイルはありません。検証は行動シグナルとプルーフ・オブ・ワークのnonceによって行われ、バックエンドでチェックされます。第三者へのトラッキング呼び出しはありません。