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に準拠しています。

Developer Experience
コード例
クライアントスクリプトの埋め込み
<!-- 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アプリに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によって行われ、バックエンドでチェックされます。第三者へのトラッキング呼び出しはありません。