01 · 不正防止のためのデバイスインテリジェンス タグを付けたジャーニー

Web向けデバイスインテリジェンス・不正リスク判定API すべてのアクセスを評価。 根拠に基づいて判断。

選んだ画面ごとにタグを1つ

サイトに設置したスクリプト1つが、デスクトップでは約0.1秒でブラウザとデバイスを読み取ります。バックエンドから、任意に命名したタグを付けた署名付き呼び出しを1回行うだけで、即座に回答が返ります。トラストスコア、エビデンスカバレッジ、そしてボット・自動化、ブラウザ偽装、エミュレーターからVPN・プロキシ・Torまでを網羅する13のインジケーター。すべての推奨には理由が付きます。アカウント乗っ取り、不正な新規登録、出金詐欺を、推測ではなく根拠で見抜けます。私たちは推奨し、判断と実行はお客様が行います。

タグを付けたどの画面でも同期レスポンス · 判断に影響させる前にシャドーモード · ルールもリストも判断もお客様のもの

このレスポンスの読み方 · v1.1/login_completed の例

  1. この推奨の理由

    ALLOWreason_codes · NO_ADVERSE_INDICATOR_MATCH

    ポリシーが重み付けするインジケーターは、いずれも検出されませんでした。契約上の例:FingerTrackIDのマネージドポリシーはどのスコアでもMONITORを推奨します。ALLOW は、お客様の会社が自社のリスクルールで設定したスコア帯から導かれたものです。判定は policy-login-v1 によるものです。

  2. スコアが示すもの、示さないもの

    trust_score 1000–100 · 高いほど良好

    このポリシーバージョンにおける、このアクセスへの信頼度です。不正の確率ではありません。COMPLETED 以外では null となり、デフォルト値が入ることはありません。

  3. どこまで確認できたか

    evidence_coverage 100limitation_codes · なし

    想定されたチェックのうち実行できた割合です。欠けているエビデンスがあればここに明示されます。カバレッジは下がりますが、リスクの理由になることはありません。

  4. その先はお客様の領域

    customer_actionその後に結果(outcome)

    お客様のバックエンドが判断・実行し、その内容と実際の結果を報告します。私たちがブロックしたり、資金を保留したりすることはありません。

POST /v1/assessments → 201

event-assessment.v1.1 · 契約上の例

assessment_statusCompleted評価完了
trust_score1000–100 · 高いほど良好
device_match_confidence0.980–1 · 一致の強さ
evidence_coverage1000–100 · 十分性
ALLOWrecommendation_basis · EVALUATION推奨であり、措置ではありません
reason_codes NO_ADVERSE_INDICATOR_MATCH  ·  limitation_codes none
{  "schema_version": "event-assessment.v1.1",  "tag": "login",  "assessment_status": "COMPLETED",  "trust_score": 100,  "device_match_confidence": 0.98,  "evidence_coverage": 100,  "signals": [ … 13 objects ],  "limitation_codes": [],  "reason_codes": ["NO_ADVERSE_INDICATOR_MATCH"],  "recommended_action": "ALLOW",  "recommendation_basis": "EVALUATION",  "policy_version": "policy-login-v1"  // … 21 more fields in the full response: ids, snapshot, versions, timestamps}
レスポンス全体 · 54 行 · 13シグナル、未検出のものは折りたたみ表示
1{2  "schema_version": "event-assessment.v1.1",3  "assessment_id": "01996f2a-0000-7000-8000-000000000101",4  "assessment_version": 1,5  "supersedes_assessment_id": null,6  "business_event_id": "01996f2a-0000-7000-8000-000000000102",7  "external_event_id": "login_20260904_000001",8  "tag": "login",9  "assessment_status": "COMPLETED",10  "retryable": false,11  "trust_score": 100,12  "device_intelligence_snapshot_id": "01996f2a-0000-7000-8000-000000000103",13  "device_intelligence_snapshot_version": 1,14  "device_id": "dev_0123456789abcdefghij",15  "device_match_confidence": 0.98,16  "evidence_coverage": 100,17  "data_freshness": {18    "evidence_cutoff_at": "2026-09-04T12:00:00Z",19    "oldest_required_observed_at": "2026-09-04T11:59:59Z",20    "maximum_required_age_ms": 300000,21    "all_required_fresh": true22  },23  "signals": [24    { "signal_code": "ANTI_FINGERPRINTING", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },25    { "signal_code": "BOT_AUTOMATION", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },26    { "signal_code": "BROWSER_SPOOFING", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },27    { "signal_code": "EMULATED_ENVIRONMENT", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },28    { "signal_code": "PRIVATE_BROWSING", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },29    { "signal_code": "BROWSER_PRIVACY_BRAVE", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },30    { "signal_code": "BROWSER_PRIVACY_SAFARI", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },31    { "signal_code": "BROWSER_PRIVACY_SAMSUNG_INTERNET", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },32    { "signal_code": "NETWORK_PROXY", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },33    { "signal_code": "NETWORK_VPN", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },34    { "signal_code": "NETWORK_HOSTING", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },35    { "signal_code": "NETWORK_TOR", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … },36    { "signal_code": "DEVICE_MULTI_USER", "signal_state": "NOT_DETECTED", "source": "DERIVED", "detector_version": "detector-web-v1", … }37  ],38  "limitation_codes": [],39  "reason_codes": ["NO_ADVERSE_INDICATOR_MATCH"],40  "recommended_action": "ALLOW",41  "recommendation_basis": "EVALUATION",42  "policy_version": "policy-login-v1",43  "fallback_policy_version": "production-observation-fallback-v2",44  "ruleset_version": "ruleset-web-v1",45  "signal_catalog_version": "signals-web-v1",46  "feature_schema_version": "features-v1",47  "resolver_version": "resolver-v1",48  "sdk_version": "web-sdk-1.0.0",49  "provider_versions": ["network-provider-2026-09-04"],50  "evidence_cutoff_at": "2026-09-04T12:00:00Z",51  "evaluated_at": "2026-09-04T12:00:01Z",52  "expires_at": "2026-09-04T12:05:00Z",53  "correlation_id": "corr-assessment-login-0001"54}

この結果を形作ったバージョン · policy-login-v1 · production-observation-fallback-v2 · ruleset-web-v1 · signals-web-v1 · features-v1 · resolver-v1 · web-sdk-1.0.0 · network-provider-2026-09-04

レスポンス全体に13シグナル · インジケーター一覧 ↓

数字で見る製品

レスポンス

13

すべてのレスポンスに含まれるWebインジケーター

3

インジケーターごとの状態:検出、未検出、未評価

14

「未評価」には理由を明示。黙ってfalseにはしません

5

推奨の種類

3

独立した指標:信頼度、デバイス一致、エビデンスカバレッジ

1

評価対象イベントごとの署名付き呼び出し

収集

17

1回の収集あたりのブラウザ・デバイスのエビデンス項目数

48

ブラウザが名乗るバージョンと照合するブラウザAPI

125

ミリ秒以下:Chrome、Firefox、Safariでのデスクトップ収集時間の中央値

0

ユーザーに表示される許可ダイアログ

お客様のルールと調査

54

すべての評価内で算出するコンテキストインサイト

67

自社スコアで重み付けできるルール:13のインジケーターと54のインサイト

6

ネットワーク系インジケーターの根拠となる公開リファレンスリスト

6

コンソールの対応言語:英語、ポルトガル語(ブラジル・ポルトガル)、スペイン語、フランス語、ドイツ語

一切行いません。プランによって変わることもありません

  • ポインターの動きとキー入力:SDKはどちらも収集しません
  • ピクセル、音声サンプル、GPUのベンダー名・レンダラー名、フォント名:canvas、WebGL、WebGPU、音声、フォントは、ハッシュ、GPUファミリー、固定フォントリストに対する有無マスクとしてのみブラウザ外に送られます
  • WebRTC、ローカルポート、バッテリー、モーションセンサー:一切読み取りません
  • 許可ダイアログなし、ブラウザ内での判断なし、お客様のアカウントに対して私たちが措置を取ることもありません

— 収集時間(当社テスト環境でキャッシュなしの状態で計測)を除き、すべての数値はバージョン管理された契約・カタログ・リストに基づく件数です。いずれもプランや利用量によって変わることはありません。

03 · ユースケース

判断が問われる画面での不正防止。

デバイスインテリジェンスは、バックエンドが操作を通す前に「この画面の向こう側に実際にあるのは何か」という問いに答えます。どのジャーニーでも同じ呼び出しを使い、送るタグは分類のためだけに使われます。

login · password_recovery · profile_change

アカウント乗っ取り(ATO)対策

既知のアカウントが一度も使ったことのないデバイス、自らを偽るブラウザ、アンチディテクトブラウザ、時間的にありえない移動。それぞれがエビデンスとして返るため、二要素認証は本当に必要なときだけ求められます。

signup · login · checkout

ボット・自動化の検知

ヘッドレスブラウザ、自動化フレームワーク、シグネチャで識別されるAIエージェント、データセンターからのトラフィック。BOT_AUTOMATION と NETWORK_HOSTING は何が観測されたかを、カバレッジはどこまで観測できたかを示します。

signup · deposit · promotions

偽アカウントと複数アカウント

デバイスごと・IPごとのアカウント数と人数、そのデバイスプロファイルが自社の利用者内でどれほど珍しいか、同じ収集データが別のデバイスで繰り返されていないか。これらはルールで重み付けできるコンテキストであり、自動的な判定ではありません。1人が正当な複数のアカウントを持つこともあります。

withdrawal · pix_transfer · trade

出金・Pix・送金の不正

新しいデバイスで最初の1時間以内の出金、複数アカウント間で共有される受取人、確定した不正としてマークした近接アカウント。資金を保留・審査するのはお客様のバックエンドであり、私たちではありません。

あらゆるジャーニー

エミュレーターと偽装ブラウザ

Androidエミュレーターや仮想化、申告されたシステムではありえないGPU、ブラウザ自身のAPIと矛盾するバージョン。デバイスフィンガープリントのシグナルは、生のピクセルではなくハッシュとファミリーとして読み取ります。

あらゆるジャーニー

VPN・プロキシ・Torの検知

既知のVPNプロバイダー、公開プロキシ、Tor出口ノード、ホスティング帯域、Apple iCloud Private Relay。当社側で更新する公開リストに基づきます。匿名化はコンテキストであり、有罪の証拠ではありません。どれだけ重視するかはお客様のポリシーが決めます。

04 · 指標

指標は独立して提示。平均値を確実性に見せかけることはしません。

信頼度、カバレッジ、デバイス一致を1つの数値にまとめると、アナリストが本当に見たいもの、つまり問題がアクセスにあるのかエビデンスにあるのかが隠れてしまいます。

trust_score

アクセスの信頼度

72

0100 · 高いほど良好

このポリシーバージョンのもとで、このアクセスがどれだけ信頼できるかを示します。送信するタグによって変わることはありません。0から100の整数です。assessment_status = COMPLETED のときのみ存在し、それ以外の状態ではすべて null となります。デフォルト値が入ることはありません。

不正の確率でも、その人の評判でも、データ欠落時のデフォルト値でもありません。表示するのは 72/100 であり、「72%信頼できる」とは表示しません。

device_match_confidence

デバイス一致

0.94

01 · 上限 0.98

このアクセスが、既に観測された同じデバイスからのものであるというエビデンスの強さを0から1で示します。確率的クラスターの不透明な公開識別子 device_id とともに返されます。

その人の身元でも、ハードウェアの証明でもありません。PartyとAccountは別のものです。

evidence_coverage

エビデンスの十分性

100

0100 · 13件中13件を評価

想定されたチェックのうち、どれだけ実行できたかを0から100で示します。NOT_EVALUATED のまま残った適用対象のインジケーターはカバレッジを下げ、limitation_codes に表示されます。

スコアの一部ではありません。カバレッジが低くてもスコアは上がりも下がりもせず、評価が結論不能(inconclusive)になります。

合算しない理由

単一の「疑わしさ」スコアは、3つの異なる問いを混ぜてしまいます。このアクセスは信頼に値するか。エビデンスは十分だったか。同じデバイスか。回答が分かれていれば、アナリストは二要素認証を求めるべきか、収集を待つべきか、履歴を確認すべきかがわかります。1つにまとめられていれば、わかるのは「42点だった」ということだけです。

05 · 13のインジケーター

13のインジケーター。それぞれが「観測した」「観測しなかった」「評価できなかった」を示します。

すべてのWeb評価で、必ず13のコードが返ります。変わるのは各コードの状態であり、リストそのものではありません。各インジケーターにはバージョン管理された専用の検出器があり、レスポンスには評価した検出器のバージョンが記載されます。検出器が存在しない、期限切れ、または障害中の場合でも、false になることはありません。

signal_catalog web · 13コード · withdrawal_completed の例

  • Detected
  • Not_detected
  • — Not_evaluated

環境の完全性

ブラウザのプライバシー · 中立的なコンテキスト

ネットワーク · 中立的なコンテキスト

デバイス

reason_codes · NETWORK_TOR_DETECTED REVIEW

当社のマネージドポリシーでは、Torだけで BLOCK_RECOMMENDED が正当化されることはありません。お客様の会社が設定するルールは、自社で選んだ重みとカットオフに従います。このv1契約の例では、policy-withdrawal-v1 はブロックではなく出金のレビューを求めており、1つだけのreason codeがまさにそれを示しています。現在本番で稼働しているマネージドポリシーは、どのスコアでも MONITOR を推奨します。

同じインジケーター、3つの状態

  • Detected · NETWORK_TOR PROVIDER · ftid-network-tor.v1 · 0.9 · withdrawal_completed の例
  • Not_detected · NETWORK_TOR PROVIDER · ftid-network-tor.v1 · 0.9 · login_completed の例
  • — Not_evaluated · NETWORK_TOR not_evaluated_reason_code PROVIDER_UNAVAILABLE · limitation_codes ["PROVIDER_UNAVAILABLE"] · evidence_coverage 69 · provider_unavailable の例

検出器が存在しない、期限切れ、または障害中の場合でも、false になることはありません。NOT_APPLICABLE は、チャネル・エンジン・プラットフォーム別のカタログの不変マトリクスからのみ導かれます。タグによって変わることはなく、ポリシーの無効化、タイムアウト、障害がこの近道を使うこともありません。

デフォルトでは中立的なコンテキスト

PRIVATE_BROWSINGBROWSER_PRIVACY_BRAVEBROWSER_PRIVACY_SAFARIBROWSER_PRIVACY_SAMSUNG_INTERNETNETWORK_PROXYNETWORK_VPNNETWORK_TOR

これらは観測できる範囲を制限することがあります。カバレッジが下がるのは、エビデンスが評価されなかった部分だけです。これらは不正ではありません。環境を説明するものであり、人を告発するものではありません。当社のマネージドポリシーでは、これら単独で BLOCK_RECOMMENDED が正当化されることはありません。お客様の会社が設定するルールは、自社で選んだ重みとカットオフに従います。AppleのiCloud Private Relayの背後のように、ネットワークの種類を区別できない場合、ホスティング・VPN・プロキシはすべて NETWORK_TYPE_AMBIGUOUS 付きで NOT_EVALUATED のままとなります。1つの真偽値から3つの検出を記録することはありません。

ネットワークのエビデンスは、当社のインフラ上で更新している公開リファレンスリストに基づきます。Tor出口アドレス、クラウドプロバイダーの帯域、ホスティングネットワークのリスト、VPNプロバイダーの帯域、公開プロキシのデータベースです。お客様のユーザーのアドレスがリストの公開元に送られることはありません。最大有効期間を過ぎたリストは、そのインジケーターを NOT_DETECTED ではなく NOT_EVALUATED にします。

06 · コンテキストインサイト

13のインジケーターに加えて、54のコンテキストインサイト。調査のために、そして必要に応じてお客様のスコアのために。

すべての評価の中で、レスポンスを返す前に、収集データとお客様の会社自身の履歴から54のコンテキストインサイトを算出します。そのデバイスを他に誰が使っているか、アカウントの動きの速さ、どのネットワークから、どのアカウントの近くにいるか。FingerTrackIDのマネージドポリシーは、これらをスコアに含めません。お客様独自のリスクルールでは、各インサイトをオフ・ゴースト・アクティブに設定し、「異常」「非常に異常」に点数を割り当てられます。発火したアクティブなインサイトはトラストスコアから点数を差し引き、reason_codes に自らの名前を記録します。

context-insight.v1 · 6テーマ54インサイト · コンソールとルールでのグループ分けのとおり

  • アカウントとデバイス · 10

    アカウントにとって新しいデバイス・新しいOS · 30日間にそのデバイスを使った異なるアカウント数と人数 · 同一人物のアカウント数 · 24時間のアカウントあたり・人あたりのデバイス数 · 高頻度利用デバイス · デバイスプロファイルが自社内でどれほど一般的・珍しい・希少か · デバイスCookieの消失

  • 出金と注文 · 7

    新しいデバイスで最初の1時間以内の出金 · 30日間のデバイスあたりの受取人数と受取人あたりのアカウント数 · アカウントごとの出金回数と金額 · アカウントごとの注文数と注文間隔の中央値

  • ネットワークと位置情報 · 12

    アカウントにとって新しい国・新しいインターネットプロバイダー(ASN) · アカウントごとの異なる国・プロバイダー・IPの数 · IPごとのアカウント数と人数 · ありえない移動 · IPの国と一致しないブラウザのタイムゾーン · VPNの出口国 · 公開の不正利用リストに載っているプロバイダー · Apple iCloud Private Relay

  • ブラウザとSDKの完全性 · 16

    開発者ツールの起動 · 自動化の痕跡 · アンチディテクトブラウザのマーカー · 申告されたブラウザと一致しないTLSシグネチャと、その30日間の安定性 · ソフトウェアレンダラーとGPUファミリー · 2回の読み取りで変化するcanvasや音声 · アプリ内ブラウザ · ゲストモードの可能性 · シグネチャで識別されたAIエージェント · ボットのカテゴリー · 承認済みパッケージと異なるSDK · 複数デバイスにまたがる1つのSDKセッション · 別デバイスで繰り返された同一の収集データ · 離れすぎた場所で使われたデバイスCookie

  • ベロシティ · 5

    5分・1時間・24時間のデバイスあたり・アカウントあたりのアクセス数、5分・1時間のIPあたりのアクセス数 · 1分・5分・1時間のアカウントあたり・デバイスあたりの同一タグでの評価数

  • アカウント間のつながり(1ホップ) · 4

    同じデバイスを使った他のアカウント · 自動化やブラウザ偽装が検出された近接アカウント · 確定した不正としてマークした近接アカウント · 他のアカウントと共有されている出金の受取人

3つの状態 · ゼロではなく理由を

  • 観測あり · 条件が存在する、または件数・測定値が中立値と異なる。
  • 観測なし · 評価済みで、該当なしまたは中立。
  • 未評価 · 必ず理由付きで、ゼロとしては表示しません。

一部のインサイトは、お客様が送信する内容に依存します。アカウントや人物のref、タグ、outcomeがない場合は、その旨が項目に表示されます(アカウント未送信、タグなしの評価、outcome未送信)。タグ付きリクエストには金額や受取人が含まれないため、出金額と受取人の項目もその旨を示します。初回アクセス、匿名化されたネットワーク、チェックの1時間の範囲外にあるIPも、理由として表示されます。

インサイトではないもの

  • 13のインジケーターの一部ではなく、limitation codeでもありません。reason_codes に現れるのは、お客様の会社がアクティブにしたルールを通じてのみです。
  • FingerTrackIDのマネージドポリシーのスコアには一切含まれません。データのないアクティブなインサイトは何も差し引きません。エビデンスの欠落がリスクになることはありません。
  • 隠れたモデルではありません。各インサイトは、公開されたデフォルトを起点にお客様の会社が調整できる基準に照らして、「想定内」「異常」「非常に異常」として読み取られます。
  • 告発ではありません。1つのデバイス上のアカウント数や人数が多くても不正の証拠にはならず、「1デバイスにNアカウント=不正」というルールもありません。

アナリストが確認する場所

アクセス詳細。「アクセスコンテキスト」カードがインサイトをテーマ別にまとめ、時間枠、考慮した履歴のカットオフ、お客様の基準での異常度、値のない各項目の理由を表示します。評価の時間予算に収まらないインサイトはバックグラウンドで完了し、その旨を表示します。レスポンスを遅らせたり失敗させたりすることはありません。

インジケーターカタログ。 1つのページで、13の各インジケーターが何を調べるのか、何が未評価の原因になるのか、スコアを動かしうるのかを説明し、コンテキストインサイトと、それらが値なしになりうる理由を一覧にしています。

canvas、WebGL、音声、フォントは、すべての企業に共通のマネージド収集ポリシーのもとで、派生値としてのみ読み取られ、GPUファミリー、ソフトウェアレンダラー、2回の読み取りで変化する描画など、一部のインサイトに使われます。ブラウザがチェックを許可しない場合、その項目は理由付きで未評価のままとなります。

07 · 結論不能も1つの結果

評価できないときは、そう伝え、その理由も示します。

エビデンスの欠落が信頼度100を生むことはなく、不正シグナルになることもありません。スコアがない場合、推奨はポリシーバージョン内に固定されハッシュで保護されたフォールバックから導かれ、タグにかかわらず、スコアのないすべての状態で同じ回答になります:MONITOR。ALLOW になることはありません。

契約上の例にあるスコアなしのケース

タグがフォールバックを選ぶことはありません。マネージドポリシーでは、スコアのないすべての状態が、どのタグでも MONITOR を推奨します。つまり「続行し、記録する」です。以下の3つの契約上の例も同様です。

  • INCONCLUSIVEタグ login · SDKが読み込まれなかった

    MONITOR

    収集なし:trust_score: null、evidence_coverage: 0、COLLECTOR_NOT_LOADED、basis INSUFFICIENT_EVIDENCE。ALLOW として通されることは決してありません。

  • INCONCLUSIVEネットワークのエビデンスが利用不可

    MONITOR

    4つのネットワークインジケーターが NOT_EVALUATED、evidence_coverage: 69、PROVIDER_UNAVAILABLE。どのような操作でも、お客様のシステム内で、お客様の判断のもとにとどまります。私たちが資金を保留することはありません。

  • FAILEDタグ pix_transfer · ポリシーが利用不可

    MONITOR

    技術的障害:POLICY_UNAVAILABLE、policy_version: null、basis TECHNICAL_FAILURE。「リスクなし」と解釈されることは決してありません。

スコアがなければALLOWは推奨しません · 例での fallback_policy_version は production-observation-fallback-v2 · フォールバックはポリシーが読み込まれるたびにポリシーとともに検証されます

評価の4つの状態

Completed 72 basis EVALUATION · reason_codes がスコアを説明
Inconclusive null basis INSUFFICIENT_EVIDENCE · limitation_codes が欠けていたものを示す
Unscorable null basis OUT_OF_POLICY_SCOPE · 有効なイベントだがポリシーの対象外
Failed null basis TECHNICAL_FAILURE · POLICY_UNAVAILABLE、policy_version null · 「リスクなし」では決してない

カタログの14のlimitation code · 何が欠けていたかを示し、なぜ危険かは示さない

NO_FIRST_PARTY_COOKIEINSTALLATION_COOKIE_REJECTEDNO_EDGE_SIGNALSSTALE_DEVICE_PROFILEPROVIDER_UNAVAILABLEPROVIDER_BUDGET_EXCEEDEDCOLLECTOR_NOT_LOADEDUNSUPPORTED_RUNTIMEREQUIRED_EVIDENCE_MISSINGDETECTOR_TIMEOUTDETECTOR_ERRORNETWORK_TYPE_AMBIGUOUSCLIENT_CLOCK_SKEWPOLICY_UNAVAILABLE

limitation codeは収集と品質を説明し、reason codeはポリシーを説明します。NOT_EVALUATED のインジケーターはそれぞれ自分のコードを指し、評価全体ではそれらすべてが limitation_codes に集約されます。収集上の制約がリスクの理由になることはありません。

08 · 判断するのはお客様

5つの推奨。私たちが取る措置はゼロ。

recommended_action はポリシーの提案を示し、customer_action はお客様が実際に行ったことを示します。2つの事実だから、2つのフィールドです。

誰が推奨し、誰が判断し、誰が実行するか

FingerTrackIDが推奨

  • ALLOW
  • MONITOR
  • STEP_UP
  • REVIEW
  • BLOCK_RECOMMENDED

プライバシーだけを理由にすることはありません · Tor、VPN、プロキシ、シークレットモード、共有デバイス

お客様のフローが判断

判断と実行はお客様のバックエンドが行います。私たちは推奨を返すだけです。現在、マネージドポリシーの回答は MONITOR(観察のみ)です。アクセスをどう扱うかは、お客様の側で判断・実行されます。アカウント、上限、履歴、摩擦のコストを知っているのはお客様であり、私たちではありません。

お客様が実行し、報告

  • ALLOWED
  • CHALLENGED
  • HELD
  • REVIEWED
  • BLOCKED
  • CANCELLED

customer_action · お客様が返送するフィールド

  • 私たちが本人認証を行うことはありません。
  • 私たちがお客様の画面をブロックすることはありません。
  • 私たちが資金を動かすことはありません。

各推奨が意味しないこと

  • ALLOW

    ポリシーはこのアクセスに摩擦を加える理由を見つけませんでした。本人が正当であることや、アクセスが認証済みであることを意味しません。スコアがあり、必要なエビデンスが評価された場合にのみ発行されます。

  • MONITOR

    続行しつつ、記録してください。これはすべてのタグでスコアがない場合のフォールバックであり、現在はマネージドポリシーがどのスコアでも返す回答でもあります。疑いが確定したことを意味せず、ユーザーに何らかの操作を求めるものでもありません。

  • STEP_UP

    二要素認証または確認を求めてください。私たちが誰かにチャレンジを行うことを意味しません。チャレンジを表示するのはお客様です。

  • REVIEW

    人による審査に回してください。私たちが資金を保留することを意味しません。操作はお客様のシステム内で、お客様の判断のもとにとどまります。

  • BLOCK_RECOMMENDED

    ポリシーは拒否を提案しています。ブロックの実行、不正の確定、利用停止を意味しません。お客様がブロックした場合、それはお客様側のイベント customer_action: BLOCKED となり、精度の測定に使われます。

09 · 導入

3つのステップ、1つの契約。ブラウザが収集し、バックエンドが問い合わせ、私たちが回答します。

サイトにスクリプトを1つ、バックエンドにサーバー間エンドポイントを1つ、そして措置と結果を返送する2つの呼び出し。クライアント側での判断はありません。

サイトにSDK

SDKは収集してトークンを返すだけです。

お客様のサブドメインから配信されます。評価したいリクエストを送る前に、画面を問わず、ブラウザと環境のシグナルを収集し、202 PROCESSING を受け取ります。これは受領の確認であり、結果ではありません。ネットワークシグナルはスクリプトではなく、お客様の収集ドメイン上のエッジで付加されます。スコア、シグナル、判断がブラウザに返ることはありません。

import { initializeSdk } from '@ftid/sdk-web'

// publicKey is a public locator, not a secret.
// collectionOrigin is YOUR collection domain (https).
const sdk = initializeSdk({
  publicKey: 'pub_app_0123456789abcdef',
  collectionOrigin: 'https://collect.yourcompany.com',
})

// ACCEPTED (202 PROCESSING on the wire): confirms receipt, not a result.
const collection = await sdk.collect()
if (collection.status !== 'ACCEPTED') {
  // Without collection the journey continues; the backend will get
  // INCONCLUSIVE / COLLECTOR_NOT_LOADED: no fake score.
  return continueWithoutToken()
}

// Create the event before sending the request to be assessed.
const event = sdk.createEvent(collection.observation)

// Only a COMPLETED collection yields a token. The token goes in the POST
// that YOUR backend makes; the decision never comes back here.
const ctx = await sdk.getEventContext(event)
const token =
  ctx.status === 'COMPLETED'
    ? ctx.eventContextToken
    : null

バックエンドから呼び出し

署名付きの同期呼び出し1回。期限はお客様が指定。

10行の正規化文字列に対するHMAC-SHA-256。マーカー、key_id、メソッド、パス、タイムスタンプ、イベントIDとリクエストID、コンテンツのメタデータ、そして最終行に正確なボディバイト列のSHA-256。ハッシュ化の前にJSONを再シリアライズしないでください。契約には規範となるベクトルが含まれています。key_id が唯一の公開ロケーターです。シークレットが送信されることはありません。v1.1契約の正規ベクトル requests.both_refs_deadline_750:v1と同じルート・同じ署名で、journey、action、journey_context の代わりに tag を使います。

POST /v1/assessments HTTP/1.1
Host: api.fingertrackid.com
Content-Type: application/json
X-FTID-Signature: v1=<key_id>:<mac-hex>
X-FTID-Timestamp: 1791720000
X-FTID-Request-Id: <uuidv7 of the attempt>
X-FTID-External-Event-Id: evt:tag-0003

{
  "schema_version": "event-assessment-request.v1.1",
  "external_event_id": "evt:tag-0003",
  "idempotency_key": "idem-tag-0003",
  "occurred_at": "2026-10-11T12:00:00.000Z",
  "subject_ref": "subject:synthetic",
  "account_ref": "account:synthetic",
  "event_context_token": "ctx.synthetic-token_0003",
  "tag": "pix_transfer_a1b2c3d4e5f6g7h8i9j0abcdeabcdeabcdeabcdeabcdeabcdez",
  "deadline_ms": 750
}

tag は最大64文字の小文字のスラッグ(英字・数字・アンダースコア、数字は最大10桁)で、個人データは決して含めません。このベクトルはその上限ちょうどです · subject_ref と account_ref は null でもよく、account_ref には subject_ref が必要です · ref はお客様の不透明なコードであり、国民ID、メールアドレス、連番IDは使いません · deadline_ms は250から5000の整数、または5000を意味する null です。超過した場合は、部分的なスコアではなく、再試行可能な503 Problemが返ります

同期レスポンス

読んで、判断して、実行したことを返送。

status
COMPLETED
trust_score
72
device_match
0.94
coverage
100
reason_codes
NETWORK_TOR_DETECTED
limitations
none
policy
policy-withdrawal-v1
expires_at
+5 min
REVIEW

続いて2つのフィードバック呼び出し:実行した内容を customer_action で、そして判明した時点で実際の結果(outcome:正当、不正確定、エビデンス不十分)を truth_status で送ります。契約は両方に評価呼び出しと同じ規律を課しています。永続的なコミットの前に受理済みとみなされることはなく、同一の再試行が2回目の効果を生むこともありません。outcomeは後から訂正できます。訂正は後継として追記され、以前の記録も引き続き参照できます。

POST /v1/assessments/{assessment_id}/customer-actions
POST /v1/assessments/{assessment_id}/outcomes

↑ 完全な例に戻る

  • Web SDK
  • 同期S2S API
  • Node.js用サーバーSDK
  • コーディングエージェント向けMCPサーバー
  • 措置・結果API
  • コンソール

Web、最新のあらゆるブラウザで利用可能 · インストール不要のアプリ · SDK、評価、フィードバックを同一のバージョン管理された契約で

npm install @fingertrackid/server が呼び出しに署名し、@fingertrackid/mcp により Claude Code、Cursor など MCP対応のコーディングエージェントが、公開された契約から統合を組み込めます。手順はクイックスタート、Web SDKガイド、APIリファレンスで紹介しています。

10 · ブラウザはゼロトラスト

ブラウザは収集するだけ。判断も識別子もブラウザを経由しません。

ブラウザから来るものは何一つ権限として扱いません。評価はサーバー間で署名付きで行われ、各試行は1回だけカウントされます。繰り返しても新たな効果は生じません。

誰が誰と通信するか

Browser Your backend FingerTrackID event_context_token (that is all) HMAC · request_id assessment no decision no device_id

ブラウザが受け取るのは、不透明なセッションIDとイベントIDだけです。スコア、シグナル、推奨はサーバー上で生成され、サーバー上にとどまります。ファーストパーティCookieは署名付きで、HttpOnly、Secure、お客様のテナントとアプリケーションにスコープされています。

呼び出しの構造

POST /v1/assessments契約に基づくセキュリティ ftidHmacV1
X-FTID-Signature: v1=<key_id>:<mac-hex>key_id UUIDv7 が唯一のロケーターです。テナント、アプリケーション、環境、ケイパビリティは、定数時間比較で有効なMACが確認されて初めて権限になります。X-Client-Id、旧来のnonce、複数署名は拒否されます。
X-FTID-Timestamp: 1791720000秒単位のエポック。許容誤差は±300秒。未来のタイムスタンプが保持期間を延ばすことはありません。
X-FTID-Request-Id: <uuidv7>試行ごとに1回限り使用し、有効なMACの後に予約されます。論理的な再試行では新しい request_id に署名します。無効なMACでは予約は作られません。
X-FTID-External-Event-Id: evt:tag-0003ボディ内および署名対象文字列内のものとバイト単位で同一。
body.idempotency_key同じキーなら同じ操作:同一の再試行は、再計算せずに永続化済みの同じ評価を返します。
body.deadline_msお客様の時間予算。評価前に超過した場合:部分的なスコアではなく Problem assessment-unavailable(503、retryable: true)を返します。
  • 401一律:存在しない・失効した key_id、または誤った署名は、すべて同じ authentication-failed を返します。
  • 403認証済みだが、ルートの評価ケイパビリティを持たないクレデンシャル。
  • 503シークレットの依存先が利用不可:グローバルラッチによりレスポンスを一律にし、key_id が存在するかどうかを明かしません。新しい request_id に署名してください。

11 · バージョン管理されたポリシー

すべての判断にバージョンがあります。バージョンが、判断を形作ったすべてを固定します。

1つのインジケーターの感度を変えると、作成者、有効期間、シミュレーション、ロールバックを伴う新しいバージョンが作られます。履歴は変わりません。実在するバージョンがなければ利用はブロックされます。

判定したバージョン · withdrawal_completed の例

policy-withdrawal-v1

fallback_policy_version
production-observation-fallback-v2
ruleset_version
ruleset-web-v1
signal_catalog_version
web-detectors-v3
feature_schema_version
configured-assessment-features.v1
resolver_version
first-party-installation-v1
sdk_version
0.1.0
provider_versions
asn-reputation.v1 · cloud-ranges.v1 · icloud-private-relay.v1 · ip2proxy-lite-px2.v1 · tor-exit.v1 · x4b-vpn.v1
evidence_cutoff_at
2026-09-04T12:00:00Z
evaluated_at
2026-09-04T12:00:01Z
expires_at
2026-09-04T12:05:00Z
correlation_id
corr-assessment-withdrawal-0001

correlation_id は、個人の識別子を公開せずにサポートを受けるためのものです。公開されるバージョンは不透明な公開タグであり、データベースの内部IDがAPI、Webhook、コンソールに現れることはありません。

ポリシーバージョンが固定するもの

  • シグナルカタログ
  • 正規化
  • 特徴量
  • デバイスリゾルバー
  • ルール
  • 相関戦略
  • インジケーターごとのレベル
  • 上限としきい値

再現可能、書き換えは一切なし

login_completed の例

assessment_version1

supersedes_assessment_idnull

login_completed_revision_2 の例

assessment_version2

supersedes_assessment_id…0000000101

運用上の改訂では、イベントの received_at 時点で有効だったポリシーとその他すべてのバージョンが保持されます。古いイベントに新しいポリシーを適用するのは別のシミュレーションであり、過去の判断の指針となった推奨を書き換えることはありません。

12 · シャドーモード

まずは並行稼働。レスポンスが措置に影響するのはその後です。

シャドーモードとは、現在お使いの仕組みと並行してFingerTrackIDを稼働させ、レスポンスがどの判断にも触れない状態のことです。比較し、実際の結果を返送し、その後で初めて推奨を使い始めます。当社が推奨する始め方です。

サイクル全体

  1. 01

    SDKが収集

    202 PROCESSING · event_context_token

  2. 02

    バックエンドが評価を要求

    POST /v1/assessments · 同期

  3. 03

    お客様のフローで判断

    シャドーモードでは、レスポンスを使わずに

  4. 04

    措置を報告

    customer_action · POST …/customer-actions

  5. 05

    結果を報告

    truth_status · POST …/outcomes

recommendation_alignment · 推奨×措置のペアからサーバー側で導出され、クライアントが申告することはありません。一致は因果関係も、精度も、不正も証明しません。

フィールドごとの比較

recommended_actioncustomer_actionrecommendation_alignment
REVIEWREVIEWED または HELDALIGNED
STEP_UPALLOWEDNOT_ALIGNED
ALLOW または MONITORALLOWEDALIGNED
BLOCK_RECOMMENDEDBLOCKEDALIGNED
任意CANCELLEDNOT_COMPARABLE

ブロックは不正の証明になりません。不正の確定には独立したエビデンスが必要です。truth_status は PENDING から LEGITIMATE、FRAUD_CONFIRMED、INSUFFICIENT_EVIDENCE のいずれかに移り、成熟度は PROVISIONAL または MATURE となります。品質指標になるのは成熟したラベルだけです。

サイクルが生み出すもの

  • 偽陽性と偽陰性:手入力のフィールドではなく、成熟したラベルから導出される指標として。
  • ルールとしきい値の再調整:常に新しいポリシーバージョンとして。
  • 検出器の品質:レスポンスがお客様の措置に影響する前に、お客様のシャドーモードで測定。
  • しないこと:自動的な強制措置になること。customer_action と truth_status は別々の事実であり、訂正のたびに後継レコードが作られます。

13 · 契約によるプライバシー

設定ではなく、契約によって制限。

平文の個人情報(PII)は製品の要件ではありません。お客様が送るのは人物とアカウントの不透明なrefです。アクセスを評価するために、国民ID、メールアドレス、電話番号を求めることはありません。

packages/contracts/src/sdk-handshake-v1.ts · 収集ポリシー

canvas: z.boolean(),
audio: z.boolean(),
fonts: z.boolean(),
behavioral: z.literal(false),

packages/contracts/src/sdk-signals/rendering-v1.ts · 抜粋

const Hash128 = z.string().regex(/^[0-9a-f]{32}$/)
canvas_hash: Hash128.optional(),
webgl_gpu_family: z.enum(SDK_RENDERING_GPU_FAMILY_V1).optional(),
audio_hash: Hash128.optional(),
fonts_count: z.number().int().min(0).max(SDK_RENDERING_FONT_COUNT_V1).optional(),

行動データの収集、つまりポインターの動きとキー入力は、オフの値しか受け付けません。オンにするには設定ではなく契約の変更が必要です。canvas、WebGL、オフライン音声、フォントの有無は、すべての企業で有効になるマネージド収集ポリシーのもとで読み取られ、派生値としてのみブラウザ外に送られます。固定長のハッシュ、閉じたGPUファミリー、件数、そして固定フォントリストに対する有無マスクです。契約には、ピクセル、音声サンプル、GPUのベンダー名・レンダラー名、フォント名のためのフィールドがありません。これらの派生値を組み合わせると同じブラウザを再認識できるため、匿名データではなくデバイスデータとして扱います。絶対的なルールとして収集しないもの:パスワード、入力されたテキスト、チャットや文書の内容、クリップボード、スクリーンショット、マイク、カメラ。すべてのエビデンスにはプライバシー区分があり、区分はリスクの重みではありません。

善意に依存しない保証

  • 個人情報はログに入りません。生データはコンソールで自由に表示されず、すべてのアクセスが記録されます。識別子や個人の値がURLに含まれることはありません。
  • テナント間の相関はオフです。すべてのドメインテーブルに tenant_id があり、データベースで分離が強制されています。顧客間で共有される評判やラベルはありません。
  • ファーストパーティCookieはお客様のドメインから配信:署名付き、HttpOnly、Secure、お客様のテナントとアプリケーションに限定。値がデータベース、キュー、ログに送られることはありません。欠落または拒否された場合、継続性は制約として低下しますが、評価は止まりません。
  • デバイスの統合はすべて元に戻すことができ、統合を行ったリゾルバーのバージョンが記録されます。IPだけでデバイスが統合されることはありません。
  • すべての種類のエビデンスについて、目的、プライバシー区分、アクセスルール、保持期間をデータインベントリで宣言しています。法的根拠、データレジデンシー、DPAは契約時にお客様の法務チームと詰めます。このページの内容は法的助言ではありません。

PartyはAccountではない

Party Account Account Account

紐付けはお客様のバックエンドから · フィンガープリントから推測することはありません

1人の人が、正当な複数のアカウントを持つことがあります。アカウントの持ち主が黙って変わることはありません。セッションは匿名から人物へ、そして同じ人物のアカウントへと進むだけです。矛盾は競合として扱い、新しい紐付けにも、場当たり的な否定的エビデンスにもしません。

データの保管場所

cloud
Google Cloud, us-central1 region
source of truth
PostgreSQL, single
isolation
RLS forced per tenant, with a negative test
secrets
Secret Manager; never in code or in infrastructure state
logs
no PII; raw data never displayed freely

14 · コンソール

統合し、調査し、ループを閉じるためのコンソール。

コンソールはまず「品質を保って受信・評価・説明できているか」に答え、その後で初めて正当性を論じられるようにします。すべてのパーセンテージに分母を明示します。

概念図であり、スクリーンショットではありません · 枠内はコンソールの配色

アクセス詳細。3つの指標を3つの独立したコンポーネントとして表示。推奨とその recommendation_basis、有効なポリシー、チームが報告した実施内容。エビデンスの鮮度。13のインジケーター(状態、適用可否、ソース、検出器の信頼度、鮮度、未評価の場合はその理由)。limitation codeとreason code。セッション、デバイスとそれらの紐付け。デバイス上の多重度。ネットワークから推定したおおよその位置。アクセスコンテキスト。そしてSDKとエッジが収集したすべてを含む技術データタブ(ブラウザが公開するAPIから読み取った実際のブラウザバージョンを、申告されたバージョンと並べて表示)。

調査用フィルター。アクセス一覧は、インターネットプロバイダー(ASN)、ネットワークの国、デバイスのインストール、インジケーターが未評価となった理由、そして指定した状態にある最大2つのインジケーターの同時条件で絞り込めます。また、お客様独自のアカウントrefや人物refでアクセスを検索できます。IPアドレスでのフィルターはありません。個人データだからです。各アクセス詳細にはコンテキストインサイト ↑も含まれます。

深掘り調査。どのアクセスからでも、リンクグラフで周辺のデバイスとアカウントを1ホップずつ、お客様自身の最大92日分の履歴にわたって展開できます。展開はすべて閲覧として記録され、IPアドレスがノードになることはありません。

ブロックリストと許可リスト。アクセス詳細から、チームはデバイス、アカウントref、または単一のIPを、メモと追加者の名前とともに自社のブロックリスト(ブロックまたはレビュー)や許可リストに登録できます。スコアのある本番アクセスでは、エントリーが推奨を上書きし、reason_codes に自らの名前を記録します。削除されるものはありません。エントリーを外すと、誰がいつ外したかが記録されます。

AIアシスタント。サイドパネルで各画面を説明し、お客様の会社とロールの範囲内で、自社の統合やアクセスに関する質問に答えます。

リスク設定。アプリケーションごとの、お客様の会社独自のリスクルールです。13の各インジケーターをオフ・ゴースト・アクティブに設定し、1〜100点の重みを付け、スコア帯と各帯の措置を決めます。ゴーストルールは計算・記録されますが、レスポンスを変えることはありません。公開前には、影響カードが下書きを直近1日・7日・30日の評価に適用して再現します。54のコンテキストインサイト ↑も、それぞれ独自の点数で加えられます。管理者またはリスクスーパーバイザーが直接公開でき、公開のたびに監査対象の新しいバージョンになります。すべてをゴーストにで全ルールを一度に止められます。FingerTrackIDがお客様に代わってルールを有効にすることはありません。当社サポートができるのは、アプリケーションの全ルールをゴーストにすることだけで、その理由はコンソールに表示されます。アクティブなルールがない間は、FingerTrackIDチームが承認記録付きで公開したマネージドポリシーが回答します。

4グループ16画面 · メイン、検知、運用、管理

  • 01ホーム
  • 09統合とヘルス
  • 02概要
  • 10利用状況
  • 03アクセス
  • 11エクスポート
  • 04レビューキュー
  • 12レポート
  • 05リスク設定
  • 13ユーザーとアクセス権
  • 06ポリシーシミュレーション
  • 14監査
  • 07リスト
  • 15顧客ライフサイクル
  • 08インジケーターカタログ
  • 16アカウントとセキュリティ

レビューキューは出金レビューモジュールです。同じコアの上に構築された運用キューで、REVIEW が推奨されたv1の出金をすべて、エビデンスとともに担当者に届けます。タグ付きの評価が入ることはなく、現在のマネージドポリシーのようにポリシーが MONITOR を推奨している間は空のままです。

英語、ポルトガル語(ブラジル・ポルトガル)、スペイン語、フランス語、ドイツ語に対応。パスキーまたは二要素認証でサインイン。ロールによる権限管理。誰が機密データを閲覧し、誰が何を変更したかの監査証跡。生データは自由には表示されず、すべてのアクセスが記録されます。

15 · 料金体系

課金単位は1つだけ。それ以外はカウントしません。

料金は完了した収集の件数に応じて、提案書で設定します。シャドーモードも同じ単位を消費し、コンソールでは推定利用量として表示されます。その期間に何を請求するかは提案書で定めます。

課金単位

お客様の統合から要求され、完了した本番のデバイスインテリジェンススナップショット1件。

これが計測単位であり、課金単位の候補です。各 device_intelligence_snapshot_id が生む単位は最大1つで、その収集をいくつの評価、タグ、プロバイダー、再処理が使っても変わりません。

  • スコア、推奨、措置、結果は課金に影響しません。リスクの高い結果だから高くなることも、正当な結果だから安くなることもありません。
  • 商用上の上限が、ブロック、レート制限、サービスの自動的な劣化につながることはありません。
  • 要求されたスナップショットはすべて、課金対象でなくても、変更不可の利用記録を生成します。対象外であることはその記録によって証明され、ログから再構成されるものではありません。

イベント · 単位を生むか?

  • 本番以外のアプリケーション(開発、ステージング)いいえ
  • 同じ idempotency_key での再試行いいえ
  • 新しいスナップショットを再利用する評価(タグを問わず)いいえ
  • 再処理、履歴のリプレイ、ポリシー変更いいえ
  • 当社が開始した非同期のエンリッチメントと更新いいえ
  • プロバイダーの呼び出しまたは再試行いいえ
  • Webhookの配信いいえ
  • customer_action と outcomeいいえ
  • 照会、ダッシュボード、レポート、エクスポートいいえ
  • 認証、認可、無効な契約による 4xxいいえ
  • 5xx、当社側のタイムアウト、収集の INCONCLUSIVE または FAILEDいいえ
  • 統合から要求され、完了した本番スナップショットはい · 1

利用量に応じたご提案。シャドーモードの利用量も含めてご相談ください。

見積もりを依頼

16 · よくある質問

リスク責任者とCTOが尋ねる質問。

Q01統合はどのように始めますか?
シャドーモードから始めます。サイトにSDKを設置し、サーバー間呼び出しを有効にすると、レスポンスがどの判断にも触れずに実際のフローと並行して動き始めます。customer_action とoutcomeを返送し、コンソールで推奨とチームが報告した実施内容をアクセスごとに比較し、エビデンスカバレッジを追跡します。数字が納得できるものになったら、推奨を判断に反映させるかどうか、どこで反映させるかをチームが決めます。実行は常にお客様のバックエンドが行います。
Q02どのジャーニーを評価しますか?
お客様が選ぶ任意の画面です。バックエンドは評価ごとに独自の tag を送ります。login、withdrawal、pix_transfer のような小文字のスラッグで、登録も、固定のリストも、上限もありません。コンソールではタグごとに絞り込み・グループ化・エクスポートができ、テンプレート(新規登録、ログイン、パスワード再設定、二要素認証、プロフィール変更、入金、出金、Pix送金、取引、チェックアウト)は統合のガイドです。タグがポリシー、検出器、フォールバック、期限を選ぶことはありません。タグ付きの評価はすべて同じポリシーと同じ13のインジケーターで実行されます。タグに個人データを含めてはいけません。リクエストに金額、通貨、受取人は含まれません。
Q03なぜブロックしないのですか?
イベントは不正ではなく、スコアは判断ではなく、ブロックは何も証明しないからです。アカウント、上限、履歴、摩擦のコストを知っているのはお客様です。私たちが提供するのは、エビデンス、カバレッジ、そして説明付きの推奨です。BLOCK_RECOMMENDED は最も強い推奨ですが、それでも推奨です。お客様がブロックした場合は customer_action: BLOCKED を記録し、それが推奨の妥当性を測るデータになります。
Q04VPN、Tor、プライベートタブはスコアを下げますか?
当社のマネージドポリシーでは、いずれも単独で BLOCK_RECOMMENDED を生むことはありません。お客様の会社が設定するルールは、自社で選んだ重みとカットオフに従います。プライベートモードやブラウザの保護機能は中立的なコンテキストです。カバレッジが下がることがあり、詳細に表示されますが、不利なreason codeは付きません。Tor、プロキシ、VPN、ホスティングは匿名化のコンテキストです。ポリシーは他に観測された内容と合わせて重み付けでき、タグによって重み付けすることはありません。現在のマネージドポリシーでスコアを動かすのは自動化とブラウザ偽装だけで、推奨は MONITOR です。このページにあるv1の出金の契約例では、Torの検出が REVIEW につながり、reason codeがその旨を示しています。それ自体が不正であることはありません。
Q05SDKが読み込まれない場合や、ユーザーがスクリプトをブロックしている場合は?
ジャーニーは継続します。バックエンドは event_context_token なしでAPIを呼び出し、INCONCLUSIVE、trust_score: null、evidence_coverage: 0、limitation_codes: ["COLLECTOR_NOT_LOADED"] とフォールバックの推奨 MONITOR を受け取ります。作り上げたスコアが返ることはありません。エビデンス不足を理由に ALLOW が返ることもありません。
Q06レイテンシーは? SLAはありますか?
期限はお客様が決めます。契約上のデフォルトは5000ミリ秒で、deadline_ms により250から5000の範囲で設定できます(デフォルトの場合、HTTPタイムアウトは約6秒以上にしてください)。超過した場合は、部分的なレスポンスではなく Problem assessment-unavailable(503、retryable: true、Retry-After 付き)が返ります。同じ論理操作を新しい request_id で再実行してください。レイテンシーとSLAは提案書に盛り込み、レスポンスに判断を委ねる前にお客様のシャドーモードで測定します。
Q07レスポンスが偽造されていないことをどう確認できますか?
レスポンスはブラウザを経由しません。バックエンドは、10行の正規化文字列(最終行は正確なボディバイト列のSHA-256)に対するHMAC-SHA-256ですべての呼び出しに署名します。key_id UUIDv7 が唯一の公開ロケーターです。request_id はリプレイ対策として予約されます。認証に失敗すると、キーが存在するかどうかを明かさない一律の 401 が返ります。シークレットが送信されることはありません。プロトコルの規範となるテストベクトルは契約の一部であり、それを使えば署名をバイト単位で再現できます。
Q08国民ID、メールアドレス、電話番号を送る必要はありますか?
いいえ。評価には、お客様のシステムだけが解決できる人物とアカウントの不透明なrefを使います。平文の個人情報は製品の要件ではありません。ポインターとキー入力の行動データは契約上オフになっています。canvas、WebGL、音声、フォントのチェックは、すべての企業に共通のマネージド収集ポリシーのもとで実行され、ハッシュ、GPUファミリー、固定フォントリストに対する有無マスクとしてのみブラウザ外に送られます。ピクセル、音声、GPU名、フォント名として送られることはありません。パスワード、入力されたテキスト、クリップボード、スクリーンショット、マイク、カメラは禁止されています。すべての種類のエビデンスについて、目的、プライバシー区分、保持期間を宣言しています。法的根拠は本番稼働前にお客様の法務チームと確認し、このページの内容がその確認に代わるものではありません。
Q09費用はいくらで、チームは何をする必要がありますか?
料金は完了した収集の件数に応じて、提案書で提示します。課金単位の候補は本番で完了したスナップショットで、本番以外は一切カウントしません。お客様側の作業は、サイトにスクリプトを1つ、評価を要求するためのバックエンドのサーバー間エンドポイントを1つ、そして実施した措置と実際の結果(outcome)を返送する2つのAPI呼び出しです。SDKはWeb向けで、最新のあらゆるブラウザで動作します。インストールが必要なアプリはありません。
Q10デバイスインテリジェンスとは何ですか? デバイスフィンガープリントとはどう違いますか?
デバイスフィンガープリントは、ブラウザの安定した特徴を読み取って、そのブラウザを再認識する技術です。デバイスインテリジェンスはそこから出発し、さらに先へ進みます。それらの特徴が互いに、そしてネットワークと整合しているか、自動化・エミュレーター・アンチディテクトブラウザが動いていないか、このデバイスがお客様のアカウント間でどう振る舞っているかを確認します。FingerTrackIDはこれを、トラストスコア、独自の信頼度を持つデバイス一致、エビデンスカバレッジ、そして13のインジケーター(それぞれ読み取った検出器のバージョン付き)として返します。
Q11独自のルール、スコア、リストを設定できますか?
はい。コンソールで、13のインジケーターと54のコンテキストインサイトのいずれにも点数を付け、スコア帯と各帯の推奨を選べます。どのルールも、まずゴーストとして実行し、レスポンスを変えずに計算・記録できます。ブロックリストと許可リストには、デバイス、アカウントref、または単一のIPを、メモと追加者の名前とともに1件ずつ登録します。公開のたびに監査対象の新しいバージョンになります。FingerTrackIDがお客様に代わってルールを有効にしたり、リストにエントリーを追加したりすることはありません。
Q12AIコーディングエージェントに統合を任せられますか?
はい。サーバーSDK @fingertrackid/server が呼び出しに署名し、MCPサーバー @fingertrackid/mcp が Claude Code、Cursor など MCP対応のエージェントに、契約、署名ベクトル、タグごとのすぐに使えるサーバーモジュール、収集ドメインのチェックを提供します。いずれも読み取り専用です。ドキュメントでは llms.txt と、お客様の AGENTS.md 向けのすぐに使えるルールブロックも公開しています。シークレットはお客様の環境にとどまり、エージェントがそれを見る必要はありません。
Q13SDKの重さは? ページは遅くなりますか?
SDKは、お客様自身の収集用サブドメインへの1回のリクエストで、並行して1度だけ収集します。デスクトップでは、Chrome、Firefox、Safariでの収集全体の中央値は約80〜125ミリ秒で、上限は厳格に250ミリ秒です。各チェックがメインスレッドを占有するのは最大2ミリ秒で、フレームタイミングやWorkerのように待機が必要なものは並行して待機します。許可ダイアログを表示することも、画面をブロックすることもありません。

17 · お問い合わせ

選んだジャーニーを、シャドーモードで評価。

シャドーモードから始めましょう。レスポンスはどの判断にも触れずに実際のフローと並行して動き、お客様は比較して結果を返送し、その後で初めて推奨を使い始めます。判断が重要な画面があり、信頼する前に説明付きのレスポンスを確認したい方は、ぜひご相談ください。

デモを予約

ドメインを含むメールアドレスを入力してください。
会社名を入力してください。
評価したい対象

ジャーニーとは、お客様が選び、名前を付けた任意の画面のことです。すでに想定しているものにチェックを入れてください。残りはお話の中で詰めていきます。

ニュースレターは送りません · 担当者が1件ずつメールでご返信します · または直接 contato@fingertrackid.com までご連絡ください

導入の流れ

  1. 評価したいジャーニーと判断フローについて、30分のミーティング。
  2. アプリケーション用のサーバークレデンシャル、実行可能な契約、HMACベクトル。サンドボックスはありません。本番環境で、シャドーモードでテストします。
  3. 実際のフローでシャドーモード:レスポンスが判断に影響する前に、比較して結果を返送します。
  4. タグを付けた画面で、バージョン管理されたポリシーのもと本番稼働。判断はすべてお客様のバックエンドに委ねられます。

含まれるもの

  • エビデンスカバレッジと、アクセスごとに推奨と報告された措置を並べて表示するコンソール
  • HMACテストベクトル付きの実行可能な event-assessment.v1 契約
  • 初日から本番でシャドーモード:レスポンスはフローと並行して動き、判断に触れることはありません
  • ポリシーを書いている担当者との直接のやり取り