Technical Brief
Bot検知ロジック仕様書
新Detectorが扱う代表的な観測と、判定・広告除外の安全条件を説明します。以下の5分野は説明用の分類であり、旧Detectorのシグナル本数や実行順序を表すものではありません。
最終更新: 2026-09-13(分類・観測の説明。精度の達成保証ではありません)
1. 設計思想
User-AgentやIP、描画環境には偽装・共有の可能性があります。一つの属性だけで、実在の読者を広告の除外対象にしない設計を採用しています。
ブラウザの整合性、自動操作の記録、操作時系列、接続・訪問履歴を組み合わせます。取得できなかった情報は欠測として残し、Bot確定の根拠とHuman推定の根拠を分けて扱います。
判定理由と観測上の制約を開示します。検証済みの内部ルールは顧客設定から変更できず、スコアの数値だけで最終判定や広告除外を決めません。
2. 検知に用いる観測の5分野
ブラウザの整合性、Automationの痕跡、操作、通信環境等を複数の層で確認し、独立した証拠とHuman保護条件から判定します。単純なスコア合算だけでは決まりません。
INBOUND TRAFFIC
01 · ネットワーク層
Network
UA · platform · Client Hints / TTL ※
02 · プロトコル層
Protocol
TLS JA4 ※ · HTTP/2 SETTINGS ※
03 · ブラウザ層
Browser
WebDriver · Framework · Browser integrity
04 · アイデンティティ層
Identity
Network context · WebView protection
05 · 行動・インタラクション層
Behavior
Timing · History · Frequency · Honeypot
HUMAN / SUSPICIOUS / BOT / UNKNOWN
現在のCloud Run構成では生のTCP TTL・TLS JA4・HTTP/2特性を取得していません。これらを観測済みの根拠として扱わず、ブラウザ・操作等の取得できた情報で評価します。旧シグナルの実装本数は、新Detectorの稼働層数や取得率を表しません。
Layer 1: ネットワーク (Network)
接続情報と、ブラウザが申告する環境の整合性を区別して確認します。
UA/OS 矛盾検出
User-Agent、navigator.platform、Client Hints等のOS・ブラウザ申告を照合します。生TCP TTLによるOS推定は現在の構成では行いません。
TTL ホップ解析
エッジ依存生TCP TTLの観測にはネットワークエッジが必要です。現在は未取得であり、ホップ数をBot確定の根拠にしていません。
Layer 2: プロトコル (Protocol)
伝送特性は信頼できる取得元がある場合にのみ評価できます。現在は欠測です。
TLS JA4 フィンガープリント
エッジ依存TLS ClientHello由来の特性はブラウザタグだけでは観測できません。現在の本番では未取得です。
HTTP/2 SETTINGS フレーム
エッジ依存HTTP/2の伝送特性もエッジでの取得が必要です。未検証のクライアント申告を伝送の独立証拠として採用しません。
Layer 3: ブラウザ (Browser)
JavaScript 経由で取得するクライアント環境のフィンガープリント。
Client Fingerprint 解析
WebDriver、自動操作フレームワークの痕跡、UA・Client Hints・画面・API等の整合性を評価します。ソフトウェア描画やベンダー名だけでBot確定や広告除外を行いません。
Layer 4: アイデンティティ (Identity)
接続元は補助情報です。共有回線やWebViewの読者保護を優先します。
データセンター IP 判定
既知のデータセンター範囲との照合を補助情報に使います。データセンターIPだけでBot確定や媒体除外を行いません。
共有回線・WebView保護
アプリ内ブラウザ等の既知の読者環境を確認し、除外操作を抑止します。地域・時差の不一致だけでHumanを除外対象へ昇格しません。
Layer 5: 行動・インタラクション (Behavior)
操作の時系列と反復性を観測します。自然に見える自動操作もあるため、操作の存在だけでHumanと保証しません。
重複クリック検知 (頻度)
サイト・IP・フィンガープリントの複合キーで5分間の頻度を観測します。窓は内部管理で、頻度だけではBot確定や広告除外を許可しません。
行動ハニーポット
通常の画面操作では触れない要素への接触を、自動操作の追加根拠として観測します。他の独立根拠・読者保護条件と合わせて媒体送信を判断します。
ユーザー行動分析
クリック・スクロール・入力等の順序、間隔、規則性と訪問間の繰り返しを確認します。滞在不足・欠測・記録の打切りは区別して扱います。
広告クリック不正(クリックファーム型)
広告クリックIDと操作・滞在情報を補助的に観測します。短時間の離脱や操作がないことだけでBot確定や広告除外を行いません。
3. 多層の証拠と判定・媒体操作の分離
ブラウザ整合性、実行環境、操作、ネットワーク等の証拠を組み合わせて分類します。分類結果を画面用のリスクスコアへ変換しますが、この値はBotである確率ではありません。
内部判定(顧客向け主表示・媒体操作の許可とは別):
- HUMAN: ブラウザと操作の証拠から人間と推定した内部分類です。本人確認済みHumanではありません。顧客向けの通常アクセスにはUNKNOWN等も含め、内部の区別は診断情報に保持します。
- SUSPICIOUS: 疑わしい根拠はありますが、Botとは確定していません。Bot検知成功や媒体除外成功には数えません。
- BOT: Automationの根拠によりBotと判定した分類です。参考スコアだけでは決まりません。ピクセル送信やGoogle Ads IP候補には別の安全条件が必要です。
Cross-Layer Convergence
Bot分類とHuman側の操作確認を分け、明白なAutomationの証拠を操作情報の不足だけで消しません。一方、媒体への除外操作には、Automation宣言だけでなく別の根拠と誤除外防止条件を要求します。観測不足やDetector障害を無理にHuman/Botへ確定させません。
4. Human-First Safeguards (誤検知ガード)
Bot判定時に通常の利用者への誤判定を防ぎます。Bot判定後は連携ON/OFF・送信先・プラン・一時停止等に従って連携し、追加のBot証明は求めません。Google Adsでは共有IP等への影響を別途確認します。
24 時間 cooldown
Google AdsのIP候補は、安全上の拒否が記録された後、少なくとも24時間は再追加を保留します。候補の根拠と最新の安全条件を同期ごとに確認します。
7日窓のIP安全確認
同じGoogleアカウントに接続された全サイトの新Detector判定を確認します。非BOT判定、WebView、公式クローラー、許可IPがあれば除外を拒否します。判定データが不足する場合も追加を保留します。
計測方法論 (Methodology)
Human FPR = Human確認済みセッションのBOT誤判定数 ÷ Human確認済みセッション総数。本番の自然流入を一律にHumanと扱わず、評価ラベルとDetectorの結果を比較します。
Human FPR 0.1%未満を目標に評価を継続しています。現在の全利用者に対する誤検知率として保証する数値ではありません。正式評価では標本数・環境構成・信頼区間を併記します。
新Detectorの精度評価
確認済みHumanと管理下Automationを別々に評価します。以前のIPリスト監査や少数セッションの結果を、新Detector全体の誤検知率・広告除外成功率として扱いません。
5. コンプライアンスとパフォーマンス
個人情報保護法 (APPI) 準拠
氏名・メールアドレス・電話番号といった訪問者の直接の個人情報は収集しません。サイト運営者に代わって技術的な情報を扱い、訪問の生データは原則7日で削除します。集計データ、媒体連携に関する記録、不正クリックの証拠記録には別の保持条件があります。不正クリック証拠はIPを粗くした記録を最長180日保持します。詳細はプライバシーポリシーに記載しています。
サードパーティCookie不使用
Bot判定にはCookieを使いません。再訪傾向の計測にはサイトごとのファーストパーティCookieを使い、同意状態とブラウザのプライバシー設定を尊重します。お客様側で無効化できます。任意のコンバージョン計測と広告媒体のピクセルは別の機能です。
パフォーマンス
計測タグは非同期で読み込み、圧縮して配信します。表示速度への影響は、導入先のページや端末によって異なります。導入先で読み込み状況をご確認ください。
データ保持期間
個々の訪問の生データは原則7日で削除します。集計データ、媒体連携に関する記録、不正クリックの証拠記録には別の保持条件があります。詳細はプライバシーポリシーを確認してください。