SilentShield は PHP アプリケーション向けの、不可視で GDPR に準拠した CAPTCHA の代替です。フォームにクライアントスクリプトを追加し、送信ごとにサーバー側で 1 回の HTTP 呼び出しと 1 つの API キーで検証します — インストールするものも、保守するものもありません。Cookie なし、トラッキングなし、個人データなし。ホスティングは既定で EU 内のみです。
見えないCAPTCHA — PHP
API キー 1 つと数行の PHP — パッケージも依存関係も不要です。Laravel、Symfony、素の PHP で動作します。不可視、GDPR 準拠、数分で導入できます。

PHP Developer Features
コード例
前提条件
# No package, no dependency.
# PHP 8.1 or newer with the cURL extension — that is all.
php -m | grep curlフロントエンドへの埋め込み
<!-- Add to <head> with SRI for security -->
(function () {
var KEY = "YOUR_API_KEY";
var SITE = location.hostname;
var V = "2025.09.1";
var s = document.createElement('script');
s.src = "https://api.silentshield.io/client.js?k=" + encodeURIComponent(KEY)
+ "&v=" + encodeURIComponent(V)
+ "&site=" + encodeURIComponent(SITE);
s.async = true;
s.crossOrigin = "anonymous";
document.head.appendChild(s);
})();バックエンド検証
<?php
$api_key = "YOUR_API_KEY";
$nonce = $_POST['behavior_nonce'] ?? ''; // hidden input injected by client.js
$payload = json_encode(['nonce' => $nonce]);
$ch = curl_init("https://api.silentshield.io/v1/verify");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Content-Type: application/json",
"api-key: " . $api_key,
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($http_code !== 200) {
error_log("SilentShield API error: " . $http_code);
// Fail secure: reject on API errors
exit(json_encode(['error' => 'Verification failed']));
}
$data = json_decode($response, true);
$is_human = $data['ok'] && $data['verdict'] === 'human' && $data['confidence'] >= 0.7;
if (!$is_human) {
error_log("Bot detected. Nonce: " . ($data['requested_nonce'] ?? 'unknown'));
exit(json_encode(['error' => 'Bot detected']));
}PHP における SilentShield の仕組み
SilentShield は、PHP フォームに目に見えないチェックを追加し、送信ごとにサーバー上で検証します。クライアントスクリプトは訪問者がフォームに入力している間にバックグラウンドで実行され、生成されたトークンがリクエストとともに送信されます。PHP バックエンドは処理の前にトークンを確認するため、実際のユーザーにパズルが表示されることはありません。
1 回の呼び出し、1 つの API キー
検証は https://api.silentshield.io/api/v1/captcha/verify-nonce への 1 回の POST です。キーは X-Api-Key ヘッダーに入れます。応答の ok を読み、false なら送信を拒否してください。同じ 5 行が素の PHP でも Laravel でも Symfony でも動きます — HTTP 呼び出しにフレームワーク固有のものは何もありません。
セットアップの手順
SilentShield のクライアントスクリプト https://api.silentshield.io/client.js?k=YOUR_API_KEY をフォームに追加し、ダッシュボードから API キーをコピーします。送信時にリクエストからトークンを読み取り、SilentShield\Client を作成して verify を呼び出します。チェックが成功したらフォームを処理し、そうでない場合は 403 レスポンスを返して送信を拒否します。
デフォルトでのプライバシーとアクセシビリティ
SilentShield は Cookie もトラッキングも個人データも使用しないため、PHP フォームは GDPR に準拠した状態を保ちます。すべての検証はデフォルトで EU 内のみのインフラストラクチャで実行されます。画像や音声のパズルがないため、この保護は WCAG 2.1 AA を満たし、キーボードやスクリーンリーダーのユーザーがアクセスできる状態を維持します。