Didit MCP Server について
Didit MCP Serverは、AIエージェントやMCPクライアントに本人確認、コンプライアンス、取引監視、ワークスペース操作を提供します。140以上のツールはOAuth 2.1とPKCEでログインしたDiditユーザーの役割権限に基づいて動作し、APIキーは使いません。
主な機能
- 01検証セッションとワークフローの管理
- 02本人確認、AML、顔照合、KYBチェックの実行
- 03取引、ユーザー、組織の検索
- 04コンプライアンスルール、ケース、レポートの管理
- 05ワークスペースのメンバー、Webhook、請求の操作
- 06セッションPDFのダウンロードリンク生成
活用シーン
- 01本人確認や企業確認の実施
- 02取引の確認とコンプライアンスケースの管理
- 03分岐型検証ワークフローの設定
- 04MCPクライアントからDiditワークスペースを操作
MCP 対応
検証、コンプライアンス、ワークスペース操作を含む140以上のDiditツールをMCPクライアントに提供します。ユーザーはOAuth 2.1とPKCEでログインし、呼び出しには組織内の役割権限が適用されます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.didit.me/mcpclaude mcp add --transport http me-didit https://mcp.didit.me/mcp{"mcpServers":{"me-didit":{"type":"http","url":"https://mcp.didit.me/mcp"}}}Cursor で開く{"servers":{"me-didit":{"type":"http","url":"https://mcp.didit.me/mcp"}}}VS Code で開く{"mcpServers":{"me-didit":{"type":"http","url":"https://mcp.didit.me/mcp"}}}{"mcpServers":{"me-didit":{"serverUrl":"https://mcp.didit.me/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
Didit MCP サーバー
Didit の公式 Model Context Protocol サーバーです。KYC、KYB、AML スクリーニング、トランザクション監視、生体認証、ワークスペースの全操作を Claude、Cursor、VS Code、Windsurf、Zed、およびあらゆる MCP クライアントで利用できます。
- 140 以上のツールを備え、セッション、ワークフロー、ベンダーのユーザー/ビジネス、トランザクション、ネットワーク、スタンドアロンの検証 API、リスト、ケース、レポート、Webhook、請求に対応しています。
- 認証は「Didit でログイン」(OAuth 2.1 + PKCE)です。MCP はサインインしたユーザーとして、そのユーザーのロールに付与された権限で動作します。API キーモードはありません。すべてのツールは、Bearer トークンのみを受け付けるユーザースコープのコンソールエンドポイントを呼び出します。
- ツールは Didit REST エンドポイントを呼び出します。セッション PDF の生成では、元の PDF を取得するための一時的なダウンロード URL が返されます。
セッション PDF のダウンロード
didit_session_generate_pdf は、download_url、expires_at(UTC)、expires_in(300 秒)を返します。Authorization ヘッダーを付けずに URL にアクセスすると、Didit の元の PDF を保存できます。サーバーはリンクの発行前に PDF へのアクセス権を確認し、ダウンロード時には同じユーザーと組織を使用して元のレポートを再取得します。セッションデータからレポートを再構成することはありません。発行からダウンロードまでの間にセッションが変更された場合、ダウンロードには最新のレポートが反映されます。ユーザーのアクセス権が取り消されたり期限切れになったりすると、リンクは有効期限の 5 分前でも無効になる場合があります。
デプロイ環境では、MCP_PDF_DOWNLOAD_KEY に暗号学的にランダムな 32 バイトを 64 文字の 16 進数として設定し、すべてのレプリカで共有する必要があります。また、MCP_RESOURCE_URI には公開 HTTPS MCP エンドポイントを設定してください。/downloads/session-report.pdf をこの HTTP サーバーにルーティングします。認証付き暗号化キーは、セッションスコープのリンクに埋め込まれた認証情報を保護します。このキーをローテーションすると、未使用のリンクは無効になります。リンクは秘密情報として扱い、プロキシ/アクセスログでは token クエリパラメーターをマスキングしてください。レスポンスには Cache-Control: no-store が設定されます。
stdio でデプロイする場合は、同じキー、API ベース URL、MCP_RESOURCE_URI を設定した、アクセス可能な HTTP デプロイ環境が必要です。stdio だけではダウンロードリンクを提供できません。キーの設定がない場合は、PDF データをインラインで返す代わりに、対処方法を示すツールエラーが発生します。
クイックスタート
ホステッド(推奨)
インストールも API キーも不要です。クライアントの接続先にホステッド URL を指定し、ブラウザーからサインインしてください。
https://mcp.didit.me/mcp
Claude Code
claude mcp add --transport http didit https://mcp.didit.me/mcp
Cursor(~/.cursor/mcp.json)
{ "mcpServers": { "didit": { "url": "https://mcp.didit.me/mcp" } } }
Windsurf / Zed(mcp-remote ブリッジ経由)
{ "mcpServers": { "didit": { "command": "npx", "args": ["-y", "mcp-remote@latest", "https://mcp.didit.me/mcp"] } } }
Claude Desktop と VS Code の設定方法については、クライアントごとの設定をご覧ください。
認証
MCP は OAuth 2.1 のリソースサーバーであり、Didit コンソール(business.didit.me)は認可サーバーです。初回接続時にクライアントがブラウザーを開き、Didit でログインしてスコープを承認すると、MCP は各組織において、そのユーザーのロールに付与された権限でユーザー本人として動作します。トークンは短期間で有効期限が切れ、自動的に更新されます。
スコープ:didit:management(ワークスペース操作)、didit:verification(チェックの実行)、didit:staff(Didit スタッフアカウント専用。認可サーバーが他のユーザーにこのスコープを発行することはありません)。コンソールのロールは、すべての呼び出しでサーバー側にて適用されます。
API キーモードはありません。 すべてのツールはユーザースコープのコンソールエンドポイント(
/organization/{org}/application/{app}/…)を対象とします。これらのエンドポイントは、ロールごとの権限を持つ Bearer トークンを認可し、x-api-keyは拒否します。(アプリケーション API キーを使った REST への直接アクセス(バックエンドからのセッション作成など)には、このサーバーではなく、REST APIを直接使用してください。)
認証をご覧ください。
ツール
エリア別に分類された140以上のツールがあります。読み取り/書き込み/破壊的操作を示すマーカー付きの全カタログは、docs/TOOLS.md および docs.didit.me にあります。主なツール:
- ディスカバリーとアプリ間連携:
didit_context_get、didit_session_search、didit_transaction_search、didit_vendor_user_search、didit_analytics— 1回の呼び出しで、すべての組織/アプリを横断して集計します。 - セッション: 作成、一覧表示、判定の取得、ステータスの更新、レビュー、一括インポート、Webhook 配信ログと再送(
didit_session_webhooksはサンドボックスセッションのWebhookを待機するため、統合をエンドツーエンドで検証できます)。 - 検証API:
didit_verify_id、didit_verify_aml、didit_verify_face_match、didit_verify_kyb_search、… - ワークフロー(分岐グラフを含む):
didit_workflow_search、didit_workflow_get_graph、didit_workflow_edit_graph— 小さな操作を送信して、条件分岐のあるワークフロー(ファジーマッチ条件、Document-AI ステップ)を構築します。大規模な機能設定はサーバー側に保持され、再送されることはありません。didit_workflow_get_id_verification_methods_catalogとdidit_workflow_get_kyb_registry_catalogは、設定の書き込みに必要なサーバー駆動型の質問(どの国で書類不要の照合/ウォレットが利用できるか、各国の登記機関がどの KYB データ階層やモニタリングを提供しているか)に回答します。 - コンプライアンス: 取引モニタリング、バックテスト付きのカスタムルールとプリセットルールの管理、リスト/ブロックリスト/許可リスト、ケース、レポート、監査ログ、アラート。
- ワークスペース: アンケート、Webhook、メンバー、請求、ブランディング。
ファイル入力
ファイルを扱うツール(顔画像アップロード、ID/住所証明/ライブネス/顔/年齢の検証、ブランディング)では、次のいずれかの形式でファイルを渡せます。
*_path— MCP サーバーを実行しているマシン上の絶対パスです。ローカル/stdio 実行(ローカルサーバーを使う Claude Code など)でのみ機能し、ファイルとサーバーが同じファイルシステムを共有している必要があります。*_base64— ファイルの内容をインラインで指定します。生の base64 またはdata:URL を使用できます。ホスト型エンドポイントに対して使用します。Didit Console Copilot がチャットの添付ファイルを渡す方法であり、呼び出しが MCP に届く前に、そのエージェントがatt_1のような添付ファイル参照を base64 に変換します。
どちらの形式でも、同じ15MBの上限とマジックバイトの許可リスト(png/jpg/jpeg/webp/gif/bmp/ico/pdf)が適用されます。ホスト型トランスポートの JSON ボディ上限は25MBです(MCP_JSON_BODY_LIMIT)。
自分で実行する
上記のホスト型サーバーが最も簡単な方法です。インストールは不要です。セルフホストするには、このリポジトリをクローンし、Docker または Node で実行します。ユーザー認証の方法は同じです(OAuth、またはヘッドレス実行用のユーザー Bearer トークン)。API キー方式はありません。
git clone https://github.com/didit-protocol/mcp.git && cd mcp
# Docker (recommended) — serves /mcp and /healthz on port 3000
docker build -t didit-mcp . && docker run -p 3000:3000 --env-file .env didit-mcp
# …or with Node
npm install && npm run build
node dist/http.js # hosted HTTP/OAuth
DIDIT_ACCESS_TOKEN=<user-access-token> node dist/index.js # stdio (headless)
すべての Didit ベース URL と OAuth エンドポイントは、デフォルトで公開環境変数(verification.didit.me、apx.didit.me、business.didit.me)を使用します。プライベートデプロイでは上書きしてください。完全なリファレンスは ARCHITECTURE.md と .env.example を参照してください。
ワークフロー機能の設定
ワークフローの各機能ノードには config オブジェクトが必要です。以下の表は完全な
仕様です。didit_workflow_create、didit_workflow_update、didit_workflow_validate_graph、
didit_workflow_set_graph、didit_workflow_edit_graph が受け付ける内容と、API が保存する内容を示します。
ここに記載されていないキーは仕様に含まれず、保存時に警告なく破棄されます。
didit_workflow_get_feature_config_schema は、実行時に同じデータを JSON として返します。
schema/feature-config-schema.json(仕様 sha256:a2c413a50107faf3ea47fa187089a930ac17d3d04893e24176f494a58470e982、スキーマバージョン1)から生成されています。これは、service-didit-verification が機能設定シリアライザーから生成する成果物のコピーです。手動で編集しないでください — npm run schema:readme を実行してください。
AGE_ESTIMATION
年齢推定機能の設定。
| キー | 型 | 受け入れる値 | 意味 |
|---|---|---|---|
borderline_maximum_age_threshold | integer | null | integer >=1 <=100 | |
borderline_minimum_age_threshold | integer | null | integer >=1 <=100 | |
enable_id_verification_fallback | boolean | null | boolean | |
external_capture_device_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 外部キャプチャデバイスが検出された場合の判定です。 |
face_audio_recording_enabled | boolean | null | boolean | セルフィーの撮影中にマイクを録音し、審査担当者がセッションを聞けるようにします。デフォルトではオフです。 |
face_liveness_duplicated_face_document_mismatch_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 生年月日が異なるユーザーの認証時に、重複した顔が見つかった場合の判定です。同一人物の別の書類(IDカードの後に提示されたパスポート、更新書類、2つ目の国の書類)はフラグが付けられません。 |
face_liveness_duplicated_face_name_mismatch_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 異なる名前で重複した顔が見つかった場合の判定です。 |
face_liveness_flash_mode | string | null | string | |
face_liveness_max_attempts | integer | null | integer >=1 <=3 | |
face_liveness_method | string | null | 'ACTIVE_3D'|'FLASHING'|'PASSIVE' | |
face_liveness_multiple_faces_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | キャプチャに複数の顔が含まれている場合の判定です。 |
face_liveness_possible_duplicated_face_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | この顔が以前に確認されたユーザーと一致した場合の判定です。 |
face_liveness_score_decline_threshold | number | null | number | |
face_liveness_score_review_threshold | number | null | number | |
face_liveness_uncertain_retry_enabled | boolean | null | boolean | ネイティブ SDK のアクティブ・ライブネスのみが対象です。有効にすると、ライブネススコアが face_liveness_score_decline_threshold と face_liveness_score_review_threshold の間に厳密に収まるキャプチャは、エンジンが付与した判定にかかわらず、判定されません。結果が不明瞭だったことを本人に伝え、毎回再撮影を求めます。この再試行は face_liveness_max_attempts の上限に含まれません(エンジンがスコアを算出できなかったキャプチャには、引き続き上限が適用されます)。デフォルトではオフです。ウェブフローでは無視されます。 |
face_liveness_video_anomaly_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 保存されたライブネス録画に、ループ再生された映像フィードと一致する繰り返しの動きのシーケンスが含まれている場合の判定です。ライブネススコアとは独立して、映像自体からサーバー側で検出します。静止したキャプチャや、ほとんど動きのないキャプチャには意図的にフラグを付けません。フレームの統計情報からは、注入された静止画像と本物の画像(被写体が静止している場合や、フラッシュで露出が白飛びした場合)を区別できないため、これを判定に使うと正規のユーザーが拒否されます。静止画や事前録画映像を注入する攻撃は、厳格なフラッシュ・ライブネスで防止できます。face_liveness_flash_mode を「1」に設定すると厳格モードになり、録画では再現できないセッションごとの色シーケンスチャレンジにキャプチャを結び付けます。デフォルトは NO_ACTION です(証拠は記録されますが、判定は変更されません)。 |
face_luminance_max_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | セルフィーが face_luminance_max_threshold より明るい場合の判定です。 |
face_luminance_max_threshold | integer | null | integer >=0 <=100 | |
face_luminance_min_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | セルフィーが face_luminance_min_threshold より暗い場合の判定です。 |
face_luminance_min_threshold | integer | null | integer >=0 <=100 | |
face_privacy_mode_enabled | boolean | null | boolean | |
face_quality_decline_threshold | integer | null | integer >=0 <=100 | |
face_quality_review_threshold | integer | null | integer >=0 <=100 | |
face_search_enabled | boolean | null | boolean | セルフィーに対して 1:N 顔検索を実行し、以前に認証されたユーザー、顔のブロックリスト、許可リストと照合して、生体テンプレートを保存し、後で照合できるようにします。デフォルトではオンです。オフにすると検索がスキップされ、顔テンプレートは保存されず、重複顔に関するアクションの対象もなくなります。 |
frame_injection_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 注入された映像フレームが検出された場合の判定です。 |
minimum_age_threshold | integer | null | integer >=1 <=100 | |
screen_capture_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | セルフィーが画面を撮影した写真である場合の判定です。 |
status_rules | array | array | |
virtual_camera_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 仮想カメラの映像フィードが検出された場合の判定です。 |
AML
AML 機能の設定です(KYC AML と KYB Company AML の両方で使用します)。
| キー | 型 | 受け入れる値 | 意味 |
|---|---|---|---|
aml_country_weight | integer | null | integer >=0 <=100 | |
aml_dob_weight | integer | null | integer >=0 <=100 | |
aml_entity_type | string | null | 'company'|'person' | このノードが person と company のどちらをスクリーニングするかを指定します。人物(KYC)ワークフローではデフォルトで person、事業者(KYB)ワークフローでは company になります。アップロードされた書類(aml_field_sources 経由)に記載された事業者を、KYB Registry ステップなしでスクリーニングするには company に設定します。プロバイダーは個人ではなく会社の記録を検索し、一致スコアも会社として採点されます。 |
aml_field_sources | json | null | {"full_name"|"date_of_birth"|"nationality"|"document_number": {"source": "document_ai"|"questionnaire"|"expected_data", "key": "||expected_details.<expected_details field>|metadata."}} | ワークフローに値を提供する ID Verification または KYB Registry ステップがない場合に、このノードがスクリーニング対象のエンティティを読み取る場所を指定します。これは、税務証明書や定款など、標準化されていない書類を扱う Document AI ワークフロー向けです。database_validation_field_sources と同じ仕様で、source は値の提供元、key はその中の値を指定します。document_ai では Document AI のフィールドキー、questionnaire では質問票のノード ID、expected_data では expected_details.<field> または metadata.<key> を指定します。マップのキーは、AML スクリーニングの4つの入力項目(full_name、date_of_birth、nationality、document_number)のいずれかです。会社の場合は、それぞれ法人名、設立日、国、登録番号として読み取られます。これら4つのいずれかのキーが付いた Document AI フィールドは自動的にマッピングされ、意図的に永続化されません。そのため、名前を変更しても古いマッピングが固定されることはありません。明示的なマッピングは、自動マッピングと ID 書類の両方より優先されます。また、実行時にマッピング先の値を解決できない場合、代替値にフォールバックせず、入力は空のままになります。上流に ID Verification も KYB Registry もない場合、full_name を入力可能にする必要があります。名前なしでは検索できないため、そうでなければグラフの保存が拒否されます。 |
aml_incomplete_data_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 氏名、生年月日、国からなる完全な本人情報が揃っていない状態でスクリーニングを実行した場合の判定です。デフォルトは REVIEW で、従来の動作です。氏名のみを保持するワークフローで、データが一部欠けていても処理を続行する場合は NO_ACTION を指定します。いずれの場合もスクリーニングは実行され、データ不足のログも記録されます。この設定は、ステータスに対する処理方法だけを決定します。 |
aml_match_score_threshold | integer | null | integer >=0 <=100 | |
aml_name_weight | integer | null | integer >=0 <=100 | |
aml_score_approve_threshold | integer | null | integer >=0 <=100 | |
aml_score_review_threshold | integer | null | integer >=0 <=100 | |
case_blueprint | uuid | null | uuid | 自動作成されるケースの作成元となるケースブループリントです。create_cases_on_hit が有効な場合にのみ意味を持ち、未設定の場合はアカウントのデフォルトが使用されます。 |
create_cases_on_hit | boolean | null | boolean | スクリーニングでヒットした場合、セッションからヒットをトリアージするのではなく、ケースを自動的に作成します。デフォルトでは無効です。 |
fallback_to_native | boolean | null | boolean | |
is_aml_ongoing_monitoring_enabled | boolean | null | boolean | セッションの承認後も対象の人物をスクリーニングし続け、後にウォッチリストに登録された場合は新たなヒットを通知します。デフォルトでは無効です。 |
kyb_company_aml_country_weight | integer | null | integer >=0 <=100 | |
kyb_company_aml_dob_weight | integer | null | integer >=0 <=100 | |
kyb_company_aml_match_score_threshold | integer | null | integer >=0 <=100 | |
kyb_company_aml_name_weight | integer | null | integer >=0 <=100 | |
kyb_enable_ongoing_monitoring | boolean | null | boolean | KYB ワークフローで対象の会社に対しても同様に適用します。2つの設定は独立しています。 |
kyb_score_approve_threshold | integer | null | integer >=0 <=100 | |
kyb_score_review_threshold | integer | null | integer >=0 <=100 | |
provider_key | string | null | string | |
status_rules | array | array |
BANK_VERIFICATION
銀行口座確認機能の設定です。
銀行口座確認では、別のステップで確立された本人情報と照合して、銀行口座の所有者を確認します。単独では本人確認にはなりません。前のステップに本人確認、データベース検証、またはアンケートを配置してください。グラフの最初に配置すると、比較対象がないため、
unknownのみを返します。このノードはオプトイン方式で、bank_countriesが空の場合は何も実行しません。 | キー | 型 | 受け付ける値 | 意味 | | --- | --- | --- | --- | |bank_account_selection| string | null | 'auto'|'user' | 接続済みアカウントのうち、どのアカウントを検証するかをユーザーが選ぶか(user)、最初に条件を満たしたアカウントを使うか(auto)を指定します。 | |bank_allow_skip| boolean | null | boolean | 銀行を接続せずにユーザーがこのステップをスキップできるようにします。スキップ時の判定にはbank_skipped_actionを使用します。 | |bank_attempts_exhausted_action| string | null | 'REVIEW'|'DECLINE' | ユーザーがbank_max_attempts回試しても接続に成功しなかった場合の判定です。 | |bank_business_account_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 金融機関が口座名義人を個人ではなく法人として分類した場合の判定です。 | |bank_connection_timeout_minutes| integer | null | integer >=5 <=60 | 開始した接続を中断するまで維持する時間です。5~60 分の範囲で指定します。 | |bank_consent_expired_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ステップの判定後に銀行の同意が失効した場合の判定です。bank_refresh_enabledが有効な場合にのみ意味があります。 | |bank_countries| json | null | {"": {"enabled": true|false, "institutions": ["<institution_id>", ...] | "all"}} | ユーザーが銀行を接続できる国を指定します。これはホワイトリストであるため、マップが空の場合、このノードでは何も提示されず、処理も実行されません。institutionsを指定すると、選択肢を特定のプロバイダーの金融機関 ID に絞り込めます。"all"を指定すると、その国で本人確認に対応するすべての銀行が提示されます。対応状況は、ノードのprovider_keyで選択されたルートに基づきます。ネイティブルートまたは接続済みのマーケットプレイスプロバイダーで口座の所有者を確認できない国は、保存時に拒否されます。所有者情報を返さない銀行への接続は試行回数と料金を消費したうえでnot_verifiableになるため、除外されることはありません。 | |bank_country_mismatch_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 金融機関の所在国が、想定される国または書類上の国と異なる場合の判定です。 | |bank_currency_mismatch_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 口座の通貨がbank_expected_currenciesに含まれていない場合の判定です。 | |bank_eligible_account_types| array | null | array | ユーザーが選択できる口座種別を指定します。クレジットカード、ローン、投資口座は、決済口座の所有者を確認できないため、対象になりません。デフォルトは普通預金または当座預金です。 | |bank_expected_currencies| array | null | array | 口座に使用されていることが想定される ISO 4217 通貨を指定します。空の場合はすべての通貨が対象です。不一致はbank_currency_mismatch_actionによって処理されます。 | |bank_field_sources| json | null | {"full_name"|"first_name"|"last_name"|"address": {"source": "document_ai"|"questionnaire"|"expected_data", "key": "||expected_details.<expected_details field>|metadata."}} | ワークフローの先行ステップで補完できない場合に、参照用の本人情報フィールドをどこから取得するかを指定します。マップのキーにはfull_name、first_name、last_name、addressのいずれかを指定します。sourceは値の生成元を、keyはその生成元内の値を指定します。document_aiの場合は Document AI のフィールドキー、questionnaireの場合はアンケートノード ID、expected_dataの場合はexpected_details.<field>またはmetadata.<key>を指定します。expected_details.<field>の値には、セッション作成ペイロードに実際に含まれるフィールドであるaddress、country、date_of_birth、first_name、gender、id_country、identification_number、ip_address、last_name、nationality、poa_countryのみ指定できます。不正なエントリーは保存時に拒否され、破棄されません。 | |bank_joint_account_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 口座名義人が複数いる場合の判定です。 | |bank_low_balance_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 利用可能残高がbank_min_balanceを下回る場合の判定です。balancesスコープが必要です。 | |bank_max_attempts| integer | null | integer >=1 <=5 | ユーザーが接続を試行できる回数です。1~5 回の範囲で指定します。試行回数を使い切っても接続に成功しなかった場合は、bank_attempts_exhausted_actionが適用されます。 | |bank_min_balance| number | null | number >=0 | 口座自体の通貨で指定する、利用可能残高の最小値です。この値を下回るとbank_low_balance_actionが実行されます。balancesスコープが必要であり、そのスコープがない場合、保存は拒否されます。0 は実際のしきい値であり、残高不足の口座ではアクションが実行されます。ただし、アクションのデフォルトはNO_ACTIONなので、別のアクションを設定しない限り判定は変わりません。キーを省略する場合とは異なります。 | |bank_name_match_threshold| integer | null | integer >=50 <=100 | このスコア以上の場合、口座名義人の氏名が一致と判定されます。50~100 の範囲で指定し、デフォルトは 85 です。 | |bank_no_match_action| string | null | 'REVIEW'|'DECLINE' | 口座名義人が検証済みの本人ではないことが明らかな場合(最も高い氏名スコアがbank_partial_match_floorを下回る場合)の判定です。 | |bank_not_verifiable_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 金融機関に接続できたものの、照合するための口座名義人情報が返されなかった場合の判定です。 | |bank_partial_match_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 口座名義人の氏名スコアがbank_partial_match_floor以上、bank_name_match_threshold未満の場合の判定です。デフォルトでは承認されません。 | |bank_partial_match_floor| integer | null | integer >=0 <=99 | このスコアを下回る場合、口座名義人の氏名は不一致と判定されます。0~99 の範囲で指定し、デフォルトは 70 です。この下限値からしきい値までの範囲が部分一致となるため、下限値はbank_name_match_thresholdより小さくなければなりません。そうでない場合、保存は拒否されます。ここでも、明示的にnullを指定した場合はデフォルトが使用されます。そのため、下限値を指定せずにしきい値を 50 にすると、デフォルトの下限値 70 と照合されて拒否されます。 | |bank_reference_identity| string | null | 'auto'|'database_validation'|'expected_details'|'kyc'|'questionnaire' | 口座名義人との照合に使用する本人情報を提供する先行ステップを指定します。kyc(ID Verification)、database_validation、expected_details(セッション作成ペイロード)、questionnaire、またはワークフローで生成された情報を自動的に使用するautoを指定できます。実際に情報を提供したステップは、結果のreference_identity_sourceに記録されます。 | |bank_reference_identity_missing_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 口座名義人との照合に使用できる本人情報が先行ステップで生成されず、所有者をunknownとしか判定できない場合の判定です。 | |bank_refresh_enabled| boolean | null | boolean | 銀行の同意が有効な間、ステップの判定後も口座の金融データを再取得します。balances、transactions、incomeのいずれかのスコープが必要であり、どのスコープもない場合、保存は拒否されます。その後に同意が失効した場合はbank_consent_expired_actionが適用されます。 | |bank_require_address_match| boolean | null | boolean | 口座名義人の住所の一致も必須にします。氏名がしきい値に達していても、住所のスコアがしきい値を下回る場合は部分一致になります。金融機関から住所が返されない場合は要件が免除されますが、照合対象となる住所がセッションにない場合は免除されず、部分一致になります。デフォルトでは無効です。 | |bank_require_oauth_only| boolean | null | boolean | OAuth またはアプリ間接続で利用できる金融機関のみを提示し、プロバイダーの従来型の認証情報入力画面は使用しません。オープンバンキングですでに OAuth のみが利用可能な場合、設定を変更しても動作は変わりません。 | |bank_scopes| json | null | {"ownership": true, "identifiers": true|false, "balances": true|false, "transactions": true|false, "income": true|false} | ユーザーに共有への同意を求める情報を指定します。製品が検証するownershipは無効にできません。identifiersは IBAN/口座番号のマスキングを解除します。balances、transactions、incomeは実際の金融データを取得し、それぞれ別途課金されます。アプリケーションにbank_financial_dataの利用権限がない場合、これらを指定すると保存は拒否されます。無効になっているスコープはプロバイダーに要求されないため、銀行の同意画面にも表示されません。 | |bank_show_match_result_to_user| boolean | null | boolean | 検証フロー内で、所有者の照合結果をユーザーに表示します。無効の場合、結果はセッションに記録されますが、ユーザーには表示されません。 | |bank_skipped_action| string | null | 'REVIEW'|'DECLINE' | ユーザーがこのステップをスキップした場合の判定です。bank_allow_skipが有効な場合にのみ使用できます。 | |bank_store_full_identifiers| boolean | null | boolean | マスキングせずに、口座識別情報をそのまま保存します。identifiersスコープが必要であり、そのスコープがない場合、保存は拒否されます。この設定を有効にしても、マスキングされていない情報は銀行検証の読み取り権限を持つ呼び出し元にのみ提供されます。 | |bank_store_raw_owner_data| boolean | null | boolean | 金融機関から返された口座名義人の詳細情報を、所有権の証拠とともに保持します。無効の場合は、スコア、照合方法、理由コードなど、照合結果のみが保存されます。 | |bank_transactions_history_days| integer | null | integer >=30 <=365 | 取引履歴を遡って取得する日数です。30~365 日の範囲で指定し、デフォルトは 90 日です。transactionsスコープが必要であり、そのスコープがない場合、保存は拒否されます。 | |bank_unknown_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 再試行後も一時的な障害により証拠を取得できなかった場合の判定です。 | |bank_unsupported_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ユーザーの銀行がサポートされておらず、ノードでスキップも許可されていない場合の判定です。 | |bank_use_provider_score| boolean | null | boolean | 金融機関独自の口座名義人の氏名スコアも取得し、Didit のスコアより高い場合、または Didit でスコアを付ける口座名義人の氏名が得られなかった場合に、そのスコアを判定に使用します。この方法で判定された結果では、照合方法としてprovider_onlyが報告されます。また、そのようなスコアが返されなかった接続では、provider_score_unavailable警告が記録されます。デフォルトでは有効です。 | |fallback_to_native| boolean | null | boolean | マーケットプレイスとの接続を確立できない場合に、Didit のネイティブルートにフォールバックするかを指定します。デフォルトでは無効です。暗黙のフォールバックにより、自社のプロバイダー契約で実行する想定のセッションに Didit の残高が使われる可能性があるためです。フォールバック接続はcredential_source = nativeとして記録され、ネイティブ料金が課金されます。 | |provider_key| string | null | string | ステップの実行に使用するルートを指定します。空(デフォルト)の場合は、Didit のネイティブ Bank Verification が使用されます。これは特定のプロバイダーに依存しない製品であり、ユーザーの国と金融機関に対応する地域のオープンバンキングベンダーへ、Didit の契約と課金のもとで Didit がルーティングします。値を指定すると、このアプリケーションが独自の認証情報を接続したマーケットプレイスプロバイダーが選択されます。その場合、セッションはユーザー自身のプロバイダーアカウントで実行され、課金され、取り消されます。Didit から請求されるのはマーケットプレイスのプラットフォーム料金のみです。接続されていないプロバイダーを指定すると、保存時に拒否されます。 | |status_rules| array | array | |
DATABASE_VALIDATION
データベース検証機能の設定です。
このノードはオプトイン方式であり、
database_validation_countriesが空の場合は何も行いません。この状態ではエディターが公開をブロックし、コンプライアンスチェックでは未対応として報告されます。入力を生成するステップ(通常は OCR)の後に配置し、database_validation_field_sourcesは上流のステップで補完できない入力にのみ使用してください。
| キー | 型 | 受け付ける値 | 意味 |
|---|---|---|---|
database_validation_countries | json | null | {"": {"services": ["<service_id>", ...]}} | 国ごとに照合するデータベースです。少なくとも1つの国に1つ以上のサービス ID が設定されるまで、このノードは何も実行しません。サービス ID は各国の最新カタログから取得します(例:BRA の場合は bra_cpf)。指定した国に属さない ID、および利用可能なサービスがない国は、保存時に除外されます。従来の {"<ISO3>": "one_by_one"|"two_by_two"|"not_enabled"} 形式も引き続き受け付けられ、その国で利用可能なサービスに自動展開されます。 |
database_validation_field_sources | json | null | {"<db_validation_input_field>": {"source": "document_ai"|"questionnaire"|"expected_data", "key": "||expected_details.<expected_details field>|metadata."}} | グラフ内のそれ以前のステップで補完できないデータベース入力の参照先です。source は値の生成元を、key はその中の値を指定します。document_ai の場合は Document AI のフィールドキー、questionnaire の場合はアンケートノード ID、expected_data の場合は expected_details.<field> または metadata.<key> を指定します。両者は異なる語彙を使用します。マップの KEY は Database Validation の入力フィールド(tax_id、document_number など)ですが、expected_details.<field> の VALUE に指定できるのは、セッション作成ペイロードに実際に含まれるフィールド(address、country、date_of_birth、first_name、gender、id_country、identification_number、ip_address、last_name、nationality、poa_country)のみです。expected_details. 以下にこれ以外の値を指定すると、保存時に拒否されます。metadata.<key> には、空でなく空白を含まない任意の顧客キーを指定できます。上流のステップとの完全一致は自動的に解決され、意図的に保存されません。そのため、Document AI のフィールド名を変更しても、古いマッピングが設定に残ることはありません。不正なエントリーは拒否されず保存時に除外されるため、そのサービスは条件を満たさなくなり、選択対象から外れます。 |
database_validation_no_match_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | データベースで一致がまったく見つからなかった場合の判定です。 |
database_validation_not_applicable_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 選択したデータベースが名義人の国または書類に対応していない場合の判定です。 |
database_validation_partial_match_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | データベースで送信されたフィールドの一部が一致し、すべては一致しなかった場合の判定です。 |
status_rules | array | array |
DOCUMENT_AI
Document AI 機能の設定です。
1 ノードあたり最大 3 件のドキュメントを設定できます。フィールドキーはドキュメント内で一意である必要があります。また、各ドキュメントで
is_full_nameを設定できるフィールドは最大 1 つです(任意のため、どのフィールドにも設定しなくてもかまいません)。
| キー | 型 | 受け付ける値 | 意味 |
|---|---|---|---|
document_ai_document_tampering_action | string | null | 'REVIEW'|'DECLINE' | ドキュメントが改ざんされているように見える場合の判定です。 |
document_ai_documents | array | array | |
document_ai_max_attempts_exceeded_action | string | null | 'REVIEW'|'DECLINE' | ユーザーが document_ai_max_retry_attempts の上限に達した場合の判定です。 |
document_ai_max_retry_attempts | integer | null | integer >=2 <=5 | |
document_ai_missing_required_fields_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | required とマークされたフィールドを抽出できなかった場合の判定です。 |
document_ai_name_match_score_threshold | integer | null | integer >=0 <=100 | |
document_ai_name_mismatch_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | is_full_name として指定されたフィールドが、検証済み ID のフルネームと一致しない場合の判定です。一致度は document_ai_name_match_score_threshold に基づいて評価されます。 |
document_ai_unreadable_document_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | アップロードされたドキュメントをまったく読み取れない場合の判定です。 |
document_ai_unsupported_file_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | アップロードされたファイル形式がサポートされていない場合の判定です。 |
status_rules | array | array |
EMAIL_VERIFICATION
メール認証機能の設定です。
| キー | 型 | 受け付ける値 | 意味 |
|---|---|---|---|
breached_email_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | そのアドレスが既知の認証情報漏えいに含まれている場合の判定です。 |
cross_org_fraud_email_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | そのアドレスがネットワーク内の別の組織によって不正としてフラグ付けされた場合の判定です。 |
disposable_email_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | そのアドレスが使い捨てメールプロバイダーに属する場合の判定です。 |
duplicated_email_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | そのアドレスがこの申請ですでに認証されている場合の判定です。 |
email_alphanumeric_code | boolean | null | boolean | |
email_code_size | integer | null | integer >=4 <=8 | |
email_enrichment_enabled | boolean | null | boolean | |
email_intelligence_score_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | エンリッチメントスコアが email_intelligence_score_threshold を下回る場合の判定です。 |
email_intelligence_score_threshold | integer | null | integer >=0 <=100 | |
email_max_check_attempts | integer | null | integer >=1 <=5 | |
email_max_retries | integer | null | integer >=1 <=5 | |
email_no_social_presence_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ソーシャルフットプリントチェック(email_social_enabled)で、対象となるいずれのプラットフォームにもそのアドレスが登録されていないことがわかった場合の判定です。 |
email_social_enabled | boolean | null | boolean | |
frequent_email_breach_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | そのアドレスが多数の情報漏えいに含まれている場合の判定です。 |
only_corporate_emails_allowed | boolean | null | boolean | |
recent_email_breach_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | そのアドレスが最近の情報漏えいに含まれている場合の判定です。 |
status_rules | array | array |
FACE_MATCH
Face Match 機能の設定です。
| キー | 型 | 受け入れる値 | 意味 |
|---|---|---|---|
face_match_eyes_covered_action | string | 'NO_ACTION'|'REVIEW'|'DECLINE' | 調整済みの証拠により、自撮り画像で目の領域が覆われていると判定された場合の判定です。NO_ACTION は Face Match を変更せずに証拠を記録し、REVIEW は Face Match を審査に回し、DECLINE は Face Match を却下します。この領域から calibrated=true が報告されるまでは、このシグナルはシャドーのみで扱われます。 |
face_match_face_covered_action | string | 'NO_ACTION'|'REVIEW'|'DECLINE' | 調整済みの証拠により、自撮り画像で顔の領域が覆われていると判定された場合の判定です。NO_ACTION は Face Match を変更せずに証拠を記録し、REVIEW は Face Match を審査に回し、DECLINE は Face Match を却下します。この領域から calibrated=true が報告されるまでは、このシグナルはシャドーのみで扱われます。 |
face_match_max_attempts | integer | null | integer >=1 <=3 | |
face_match_mouth_covered_action | string | 'NO_ACTION'|'REVIEW'|'DECLINE' | 調整済みの証拠により、自撮り画像で口の領域が覆われていると判定された場合の判定です。NO_ACTION は Face Match を変更せずに証拠を記録し、REVIEW は Face Match を審査に回し、DECLINE は Face Match を却下します。この領域から calibrated=true が報告されるまでは、このシグナルはシャドーのみで扱われます。 |
face_match_not_computed_action | string | null | 'REVIEW'|'DECLINE' | 顔照合スコアを算出できなかった場合(顔写真または自撮り画像がない場合)の判定です。 |
face_match_score_decline_threshold | integer | null | integer >=0 <=100 | |
face_match_score_review_threshold | integer | null | integer >=0 <=100 | |
status_rules | array | array |
GEOLOCATION
Precise Location(GEOLOCATION)機能の設定です。すべてのしきい値はクライアントではなく、ここで制限されます。ブラウザーとネイティブ SDK が収集する内容は、この設定から生成されるステップデータで指定されます。また、サーバーが拒否する値を、デバイスでは満たせないリクエストとしてユーザーに提示してはなりません。アクションキーはすべて、デフォルトで却下ではなく審査に設定されます。権限の拒否、広い半径、古い位置情報は不正の証拠ではありません。これらを却下する設定をデフォルトにすると、ステップがコンバージョンを妨げる要因になってしまいます。
| キー | 型 | 受け入れる値 | 意味 |
|---|---|---|---|
geolocation_accuracy_mode | string | null | 'approximate_allowed'|'precise' | |
geolocation_allow_qr_handoff | boolean | null | boolean | |
geolocation_allow_skip | boolean | null | boolean | |
geolocation_approximate_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | geolocation_accuracy_mode で正確な位置情報を求めているときに、ユーザーが概算位置情報を許可した場合の判定です。 |
geolocation_deep_link_enabled | boolean | null | boolean | |
geolocation_document_distance_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | デバイスの位置が、書類の住所から geolocation_document_distance_km を超えて離れている場合の判定です。住所は粗い精度でジオコーディングされるため、弱いシグナルです。 |
geolocation_document_distance_km | integer | null | integer >=0 | |
geolocation_document_distance_unit | string | null | 'imperial'|'metric' | コンソールで geolocation_document_distance_km を表示する際の単位です。表示専用です。保存値は常にキロメートルで、この値に依存するルールはありません。 |
geolocation_geofence_undetermined_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 位置の不確実性の円が境界に達しているため、その位置がフェンスの内側か外側かを判定できない場合の判定です。不確実な位置が外側として報告されることはありません。 |
geolocation_geofencing_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | デバイスの位置と、その位置の不確実性の円全体が geolocation_geofencing_by_country の範囲外にある場合の判定です。 |
geolocation_geofencing_by_country | json | null | {"": {"allowed": true|false, "states"?: {"<ISO 3166-2 code>": {"allowed": true|false}} | null}} | デバイス自体の位置に適用する、国および地域の許可/拒否ルールです。is_geolocation_geofencing_enabled が true の場合にのみ適用されます。IP Analysis の ip_geofencing_by_country と同じ形式ですが、位置情報はプロバイダーの都市名ではなく行政区分に解決されるため、states のキーには州名ではなく ISO 3166-2 コード(US-NJ)を使用します。一覧にない国は許可されます。ISO 3166-2 の境界が公開されていない国に対する地域ルールの保存は、黙って無視されるのではなく拒否されます。 |
geolocation_integrity_missing_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ネイティブクライアントがデバイス認証トークンなしで位置を送信した場合の判定です。デフォルトは「何もしない」です。ブラウザでは認証できないため、Web クライアントは「欠落」ではなく「未対応」として記録されます。 |
geolocation_ip_distance_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 両方の不確実性半径を差し引いた後で、デバイスの位置とセッションの IP 位置が geolocation_ip_distance_km を超えて離れている場合の判定です。 |
geolocation_ip_distance_km | integer | null | integer >=0 | |
geolocation_ip_distance_unit | string | null | 'imperial'|'metric' | コンソールで geolocation_ip_distance_km を表示する際の単位です。表示専用です。保存値は常にキロメートルで、この値に依存するルールはありません。 |
geolocation_low_accuracy_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 必要な精度を満たす試行がなかった場合の判定です。最良の位置の不確実性半径が geolocation_max_accuracy_radius_m より大きいか、半径が報告されていない場合に該当します。半径のない位置が上限を満たすものとして扱われることはありません。 |
geolocation_max_accuracy_radius_m | integer | null | integer | |
geolocation_max_accuracy_radius_unit | string | null | 'imperial'|'metric' | コンソールで geolocation_max_accuracy_radius_m を表示する際の単位です。表示専用です。保存値は常にメートルで、この値に依存するルールはありません。また、クライアントが同じ単位を表示できるよう、ステップデータで転送されるだけです。 |
geolocation_max_age_seconds | integer | null | integer | |
geolocation_max_attempts | integer | null | integer | |
geolocation_mock_location_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | オペレーティングシステムが位置を測定値ではなくシミュレーション値として報告した場合の判定です(Android のモックプロバイダー、iOS のソフトウェアによるシミュレーション)。 |
geolocation_permission_denied_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ユーザーが許可されたすべての試行で位置情報のプロンプトを拒否または閉じた場合の判定です。デフォルトは「要確認」です。拒否はユーザーの選択であり、不正を示すシグナルではありません。 |
geolocation_stale_fix_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | サーバーが位置を受信する geolocation_max_age_seconds より前に、その位置が測定されていた場合の判定です。 |
geolocation_timeout_seconds | integer | null | integer | |
geolocation_unavailable_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 位置を取得できなかった場合の判定です。位置情報サービスがオフまたは制限されている、測位システムから結果が返されない、試行がタイムアウトした、ユーザーがステップをスキップした、またはクライアントが古くてこの機能に対応していない場合が該当します。 |
is_geolocation_geofencing_enabled | boolean | null | boolean | |
status_rules | array | array |
IP_ANALYSIS
デバイスと IP 分析機能の設定です。
| キー | 型 | 受け付ける値 | 説明 |
|---|---|---|---|
automation_detected_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | セッションが人ではなく自動化によって操作されているように見える場合の判定です。 |
cross_org_fraud_device_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | このデバイスがネットワーク内の別の組織によって不正としてフラグ付けされた場合の判定です。 |
cross_org_fraud_ip_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | この IP がネットワーク内の別の組織によって不正としてフラグ付けされた場合の判定です。 |
device_app_tampered_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ホストアプリケーションのバイナリが改ざんされているように見える場合の判定です。 |
device_blocklist_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | デバイスが組織のブロックリストに登録されている場合の判定です。 |
device_debugger_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ホストアプリケーションにデバッガーが接続されている場合の判定です。 |
device_emulator_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | デバイスが実機ではなくエミュレーターである場合の判定です。 |
device_hooking_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 実行時のフッキングまたはインストルメンテーションが検出された場合の判定です。 |
device_integrity_missing_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | プラットフォームのデバイス整合性証明が返されなかった場合の判定です。 |
device_rooted_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | デバイスがルート化またはジェイルブレイクされている場合の判定です。 |
duplicated_device_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | このデバイスがすでに別の認証済みユーザーによって使用されている場合の判定です。 |
duplicated_ip_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | この IP がすでに別の認証済みユーザーによって使用されている場合の判定です。 |
expected_ip_mismatch_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | IP がセッションで送信された想定 IP と一致しない場合の判定です。 |
ip_geofencing_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 接続元 IP の国が ip_geofencing_by_country で許可されていない場合の判定です。 |
ip_geofencing_by_country | json | null | {"": {"allowed": true|false, "states"?: {"<state_code>": {"allowed": true|false}} | null}} | 接続元 IP アドレスに適用する国別の許可/拒否ルールです。is_ip_geofencing_enabled が true の場合にのみ適用されます。allowed は必須で、実際のブール値である必要があります。国ごとの州ルールが不要な場合、states は省略可能で、null にします。有効な ISO3 ではない国は保存時に除外されます。 |
ip_location_not_determined_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | エンドユーザーを特定する IP アドレスが記録されず、セッションに IP 位置情報がまったくない場合の判定です。国、都市、ISP、座標、タイムゾーンが利用できず、ip_geofencing_by_country、書類の発行国との比較、VPN/データセンターのチェックも実行できません。デフォルトは No Action です。この場合、判定を変更せずにセッション上で IP_LOCATION_NOT_DETERMINED 警告を表示します。位置情報のないセッションを通過させてはならない場合は、Review または Decline に設定してください。 |
ip_mismatch_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | IP の国が書類の発行国と一致しない場合の判定です。 |
is_ip_geofencing_enabled | boolean | null | boolean | |
multiple_devices_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | セッションが複数のデバイスから操作された場合の判定です。 |
recovered_device_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | デバイスが復元またはリストアされた状態を報告した場合の判定です。 |
status_rules | array | array | |
vpn_detection_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | VPN、プロキシ、または Tor の出口ノードを経由して接続している場合の判定です。 |
KYB_DOCUMENTS
| キー | 型 | 受け入れる値 | 意味 |
|---|---|---|---|
kyb_document_age_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類が設定された有効期間を過ぎている場合の判定です。 |
kyb_document_critical_mismatch_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類の内容が、会社の重要な詳細事項について登記情報と矛盾する場合の判定です。 |
kyb_document_max_attempts_exceeded_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ユーザーが kyb_document_max_retry_attempts の上限に達した場合の判定です。 |
kyb_document_max_retry_attempts | integer | null | integer >=1 <=5 | |
kyb_document_non_critical_mismatch_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類の内容が、軽微な詳細事項について登記情報と矛盾する場合の判定です。 |
kyb_document_subtype_config | json | null | {"<KYB_DOCUMENT_GROUP|KYB_DOCUMENT_SUBTYPE>": {"enabled": true|false, "max_age_days": <0-3650>|-1|null}} | グループまたはサブタイプごとの有効・無効設定と有効期間です。キーには既知のKYB書類グループまたはサブタイプコードを指定する必要があります。max_age_days はデフォルトの有効期間を使用する場合はnull、無制限の場合は-1、または0~3650の整数を指定します。それ以外の値は拒否されます。 |
kyb_document_tampering_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 会社の書類が改ざんされているように見える場合の判定です。 |
kyb_required_document_groups | json | null | ["<KYB_DOCUMENT_GROUP>", ...] | 収集する会社書類を、書類グループコードのリストで指定します。各グループは、そのグループに含まれるいずれか1種類の書類で要件を満たします。KYB Documents 機能では、空のリストを保存できません。何も求めないノードは、ノードが存在しない場合と同じです。 |
status_rules | array | array |
KYB_KEY_PEOPLE
ここにあるワークフロー ID は、個別の KYC ワークフローを参照します。KYB グラフで会社を確認し、その会社に関わる人物は、リンクされた人物ワークフローで確認します。
| キー | 型 | 受け付ける値 | 意味 |
|---|---|---|---|
kyb_corporate_ubo_verification_workflow | uuid | null | uuid | |
kyb_key_people_company_fields | json | null | [{"key": "", "label": "", "type": "text"|"number"|"date"|"phone"|"email", "required": true|false, "custom": true|false}] | 法人の主要人物について収集する会社情報です。kyb_key_people_person_fields と同じ記述子リストの形式および同じルールを使用します。 |
kyb_key_people_document_mismatch_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 主要人物の書類の内容が、申告された詳細と一致しない場合の判定です。 |
kyb_key_people_ownership_required | boolean | null | boolean | |
kyb_key_people_person_fields | json | null | [{"key": "", "label": "", "type": "text"|"number"|"date"|"phone"|"email", "required": true|false, "custom": true|false}] | 個人の主要人物について収集する個人情報です。フィールド記述子の順序付きリストであり、マップではありません。key は必須で、空でない値にする必要があります。type は text、number、date、phone、email のいずれかである必要があります。custom は、フィールドが組み込みのものではなく、顧客が追加したものであることを示します。 |
kyb_key_people_prefill_from_registry | boolean | null | boolean | 会社登記情報の結果から主要人物のリストを事前入力します。これにより、顧客は役員や株主全員の情報を入力する代わりに、内容を確認して修正できます。 |
kyb_notify_parties_by_email | boolean | null | boolean | |
kyb_officer_verification_workflow | uuid | null | uuid | |
kyb_reject_if_ubo_rejected | boolean | null | boolean | |
kyb_require_corporate_ubo_kyb | boolean | null | boolean | |
kyb_require_officer_kyc | boolean | null | boolean | |
kyb_require_ubo_kyc | boolean | null | boolean | |
kyb_reuse_verified_individuals | boolean | null | boolean | |
kyb_role_config | json | null | {"<role_key>": {"enabled"?: true|false, "require_kyc"?: true|false, "verification_workflow"?: ""|null, "allow_skip"?: true|false}} | 会社に関わる人物の役割ごとのルールです。役割キーは既存の設定から取得してください。新たに作成してはいけません。require_kyc: true の役割には、別の KYC ワークフローの UUID を指定する verification_workflow も必ず設定する必要があります。設定しない場合、保存は拒否されます。マップの代わりに {"role": ..., ...} エントリのリストを指定することもできます。 |
kyb_shareholder_ownership_threshold | integer | null | integer >=0 <=100 | |
kyb_shareholder_verification_workflow | uuid | null | uuid | |
kyb_ubo_ownership_threshold | integer | null | integer >=0 <=100 | |
kyb_ubo_verification_workflow | uuid | null | uuid | |
kyb_wait_for_all_ubos | boolean | null | boolean | |
status_rules | array | array |
KYB_REGISTRY
| キー | 型 | 受け付ける値 | 意味 |
|---|---|---|---|
kyb_accepted_countries | json | null | ["", ...] | 会社を設立できる会社登記国のリストを ISO-2 コードで指定します(注:ここでは ISO-2 を使用します。OCR および IP の許可リストで使用する ISO-3 とは異なります)。空のリストまたは null の場合、サポート対象のすべての登記国が受け付けられます。 |
kyb_manual_company_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 会社が登記簿で見つからず、手動で入力された場合の判定です。 |
kyb_registry_countries_config | json | null | {"": {"enabled": true|false, "tier": "basic"|"shareholders"|"ubo"}} | 国ごとの登記先設定です。有効にした各国では、会社の選択時に請求されるデータティアを選択します。料金エンドポイントで利用可能と示されているティアのみ有効にできます。少なくとも1か国を有効にする必要があります。どこも検索しない登記確認は拒否されます。会社の手動入力にはこの設定は適用されず、会社1社あたり一律 USD 0.75 で請求されます。 |
kyb_registry_fields_config | json | null | {"<registry_field>": {"enabled"?: true|false, "required"?: true|false}} | 収集する会社情報と、そのうち必須とする項目を制御する、登記フィールドごとの上書き設定です。フィールドキーはバックエンドの設定可能なフィールドカタログから取得します(registration_number、incorporation_date、legal_address、vat_number、alternative_names、tax_number、company_type、legal_entity_identifier、location_of_registration、nature_of_business、registered_capital_amount、registered_capital_currency、website、email、phone、...)。不明なキー、または enabled/required 以外のサブキーは拒否されます。 |
kyb_registry_monitoring_enabled | boolean | null | boolean | Shareholders または UBO の結果が出た後も、COMPANY の登記記録を継続的に監視します。ステータス、役員、所有権または住所に変更があると、セッションはレビューに戻り、Webhook が送信されます。登記プロバイダーが監視を提供している場合に限り利用できます。会社1社あたり年間 USD 2.00 で、いつでもキャンセルできます。デフォルトではオフです。 |
kyb_vat_invalid_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | VAT 番号が税務当局に拒否された場合の判定です。 |
kyb_vat_unverified_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | VAT 番号をまったく確認できなかった場合の判定です。 |
status_rules | array | array |
LIVENESS
Liveness 機能の設定です。
| キー | 型 | 受け付ける値 | 意味 |
|---|---|---|---|
cross_org_fraud_face_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 非推奨であり、現在は適用されません。顔そのものに不正の判定が付いているかのように扱っていました。cross_org_identity_claim_pattern_action を使用してください。 |
cross_org_identity_claim_pattern_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ネットワーク内の他の組織で、申告された身元が一致しない本人確認イベントがこの人物について記録されている場合の判定です。レビューまたは対応なしのみが有効です。ここで拒否を設定しても、レビューに引き下げられます。 |
external_capture_device_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 外部の撮影デバイスが検出された場合の判定です。 |
face_audio_recording_enabled | boolean | null | boolean | セルフィー撮影中にマイクの音声を録音し、審査担当者がセッションを聞けるようにします。デフォルトではオフです。 |
face_liveness_duplicated_face_document_mismatch_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 生年月日が異なるユーザーで、重複する顔が見つかった場合の判定です。同一人物の別の書類(IDカードの後に取得したパスポート、更新書類、別の国の書類)はフラグ付けされません。 |
face_liveness_duplicated_face_name_mismatch_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 異なる名前で重複する顔が見つかった場合の判定です。 |
face_liveness_flash_mode | string | null | string | |
face_liveness_max_attempts | integer | null | integer >=1 <=3 | |
face_liveness_method | string | null | 'ACTIVE_3D'|'FLASHING'|'PASSIVE' | |
face_liveness_mode | string | null | string | |
face_liveness_multiple_faces_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 撮影映像に複数の顔が含まれている場合の判定です。 |
face_liveness_possible_duplicated_face_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | この顔が以前に確認されたユーザーと一致する場合の判定です。 |
face_liveness_score_decline_threshold | integer | null | integer >=0 <=100 | |
face_liveness_score_review_threshold | integer | null | integer >=0 <=100 | |
face_liveness_uncertain_retry_enabled | boolean | null | boolean | ネイティブ SDK のアクティブなライブネス検出のみが対象です。有効にすると、ライブネススコアが face_liveness_score_decline_threshold と face_liveness_score_review_threshold の間に厳密に収まる撮影は、エンジンがどの判定を付けたかにかかわらず、判定されません。毎回、結果が不明瞭だったことを本人に伝え、撮り直しを求めます。この再撮影は face_liveness_max_attempts の上限には含まれません(エンジンがスコアを算出できなかった撮影には、引き続き上限が適用されます)。デフォルトではオフです。ウェブフローでは無視されます。 |
face_liveness_video_anomaly_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 保存されたライブネス録画に、ループ動画フィードと一致する繰り返しの動きのシーケンスが含まれている場合の判定です。ライブネススコアとは独立して、動画自体からサーバー側で測定します。意図的に、静止した撮影や動きがほとんどない撮影にはフラグを付けません。フレーム統計では、挿入された静止画と本物の撮影(被写体が静止している場合や、フラッシュで露出が白飛びする場合)を区別できないため、これに基づいて処理すると正規のユーザーを拒否することになります。静止画や事前録画を挿入したフィードは、代わりに厳格なフラッシュライブネス検出で防止します(厳格モードにするには face_liveness_flash_mode を "1" に設定します)。これにより撮影は、録画では再現できないセッションごとの色シーケンスチャレンジに紐付けられます。デフォルトは NO_ACTION です(証拠は記録されますが、判定は変更されません)。 |
face_luminance_max_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | セルフィーが face_luminance_max_threshold より明るい場合の判定です。 |
face_luminance_max_threshold | integer | null | integer >=0 <=100 | |
face_luminance_min_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | セルフィーが face_luminance_min_threshold より暗い場合の判定です。 |
face_luminance_min_threshold | integer | null | integer >=0 <=100 | |
face_privacy_mode_enabled | boolean | null | boolean | |
face_quality_decline_threshold | integer | null | integer >=0 <=100 | |
face_quality_review_threshold | integer | null | integer >=0 <=100 | |
face_search_enabled | boolean | null | boolean | セルフィーに対して 1:N 顔検索を実行します。以前に認証されたユーザー、顔のブロックリスト、許可リストと照合し、後で照合できるよう生体テンプレートを保存します。デフォルトではオンです。オフにすると検索がスキップされ、顔テンプレートは保存されず、重複顔のアクションは実行対象がなくなります。 |
frame_injection_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 挿入された動画フレームが検出された場合の判定です。 |
race_map_similarity_thresholds | json | {"": {"possible": 0-100, "high": 0-100}} | 顔の類似度の区分に対する、属性グループ別の上書き設定です。許可リストや重複顔セットとの照合に適用し、グループ間で一致率を均等に保ちます。possible は下限の区分(デフォルトは 62)、high は上限の区分(68)です。エントリーのないグループには、これらのデフォルト値が適用されます。 |
screen_capture_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | セルフィーが画面を撮影した写真である場合の判定です。 |
status_rules | array | array | |
virtual_camera_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 仮想カメラのフィードが検出された場合の判定です。 |
NFC
NFC/ePassport 機能の設定です。
| キー | 型 | 受け付ける値 | 意味 |
|---|---|---|---|
allow_nfc_skip | boolean | null | boolean | |
skip_nfc_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ユーザーが NFC チップの読み取りをスキップした場合の判定です(allow_nfc_skip が有効な場合のみ到達できます)。 |
status_rules | array | array | |
trust_anchor_missing_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | チップのデータグループのハッシュは正常ですが、発行国の CSCA 信頼アンカーが読み込まれていないため証明書チェーンを検証できない場合の判定です。 |
unverified_chip_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | チップは読み取れたものの、その署名を検証できない場合の判定です。 |
OCR
OCR/ID Verification 機能の設定です。
documents_allowedを省略すると、国/書類のカタログ全体が保存され、ノードはすべてを受け付けます。書類から本人確認データを読み取る機能(FACE_MATCH、NFC、DATABASE_VALIDATION)の前に OCR を配置してください。 | キー | 型 | 受け付ける値 | 意味 | | --- | --- | --- | --- | |age_restrictions_by_country| json | null | {"": {"minimum_age": 1-120, "maximum_age": 1-120|null, "states"?: {"<STATE_CODE>": {"minimum_age": 1-120, "maximum_age": 1-120|null}}}} | 国ごと(および任意で州ごと)の年齢制限です。指定した各国でminimum_ageは必須です。maximum_ageは null にできます。 | |critical_field_occlusion_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 撮影した書類の本人確認番号、氏名、生年月日、有効期限などの重要な印字項目が物理的に覆われていた場合の判定です。デフォルトは REVIEW です。 | |cross_org_fraud_document_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | この書類がネットワーク内の別の組織によって不正と判定された場合の判定です。 | |document_audio_recording_enabled| boolean | null | boolean | 書類の撮影中にマイクの音声を録音し、審査担当者がセッションを聞けるようにします。デフォルトではオフです。 | |document_blur_fields_by_country| json | null | {"": ["<blur_field_name>", ...]} | 国ごとに、保存する書類画像上でぼかす項目です。その国の書類レイアウトでサポートされている項目のみ指定できます。 | |document_liveness_portrait_replace_decline_threshold| integer | null | integer >=0 <=100 | | |document_liveness_portrait_replace_review_threshold| integer | null | integer >=0 <=100 | | |document_liveness_printed_copy_decline_threshold| integer | null | integer >=0 <=100 | | |document_liveness_printed_copy_review_threshold| integer | null | integer >=0 <=100 | | |document_liveness_screen_replay_decline_threshold| integer | null | integer >=0 <=100 | | |document_liveness_screen_replay_review_threshold| integer | null | integer >=0 <=100 | | |document_or_personal_number_format_mismatch_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類番号または個人番号が、その国で想定される形式と一致しない場合の判定です。 | |document_selfie_duplicated_face_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類撮影時の自撮り写真が、このアプリケーションですでに認証済みのユーザーの顔と一致する、または一致する可能性がある場合の判定です。 | |document_selfie_duplicated_face_document_mismatch_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類撮影時の自撮り写真が、異なる生年月日で認証済みのユーザーと一致する場合の判定です。同一人物の別の書類(ID カードの後のパスポート、更新書類、別の国の書類)はフラグ付けされません。document_selfie_duplicated_face_actionの判定をより厳しくする場合にのみ指定できます。 | |document_selfie_duplicated_face_name_mismatch_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類撮影時の自撮り写真が、異なる氏名で認証済みのユーザーと一致する場合の判定です。document_selfie_duplicated_face_actionの判定をより厳しくする場合にのみ指定できます。 | |document_selfie_face_search_enabled| boolean | null | boolean | 書類撮影時に撮影した自撮り写真で 1:N 顔検索を実行します(is_document_selfie_portrait_match_enabledが必要です)。顔ブロックリストおよび以前に認証されたユーザーと照合します。自撮り写真は検索用のプローブとしてのみ使用され、そのテンプレートが保存されることはありません。デフォルトではオンです。オフにすると検索が省略され、書類撮影時の自撮り写真による重複顔の判定アクションは実行対象がなくなります。LIVENESS ステップでface_search_enabledがオフの場合も、セッション中のすべての自撮り写真に対するオプトアウトとなるため検索は省略されます。 | |document_selfie_portrait_match_decline_threshold| integer | null | integer >=0 <=100 | | |document_selfie_portrait_match_review_threshold| integer | null | integer >=0 <=100 | | |document_without_portrait_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | スキャンした書類の種類に、どの面にも顔写真がない場合の判定です。ノード設定のみです。アカウントレベルの設定はなく、実行時のデフォルトは REVIEW です。 | |documents_allowed| json | null | {"": {"<DOC_CODE>": {"enabled": 0|1, "sides"?: 1|2, "subtypes"?: ["<SUBTYPE_CODE>", ...]}}} | 発行国ごとに受け付ける本人確認書類を指定します。カタログ全体を受け付けるにはキーを省略してください。空のオブジェクトも同じ意味です。有効な書類が少なくとも 1 つ残らない場合、保存は拒否されます。 | |duplicated_user_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | このアプリケーションですでに本人確認が済んでいる場合の判定です。 | |expected_details_mismatch_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 抽出された本人確認情報が、セッションとともに送信されたexpected_detailsと矛盾する場合の判定です。 | |expiration_date_not_detected_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類から有効期限を読み取れなかった場合の判定です。 | |id_document_quality_threshold| integer | null | integer >=0 <=100 | | |id_verification_max_retry_attempts| integer | null | integer >=2 <=5 | | |id_verification_name_match_score_threshold| integer | null | integer >=0 <=100 | | |image_capture_methods_allowed| array | null | ["CAMERA_SCAN" | "UPLOAD", ...] | エンドユーザーが書類写真の撮影に使用できる方法です。自由文字列のリストとして指定されるため、使用できる値はこのフィールド自体では定義されていません。CAMERA_SCAN(その場で撮影)と UPLOAD(既存のファイルを選択)があります。空のリストの場合はアカウントのデフォルト設定に戻ります。 | |image_quality_too_low_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類画像全体の品質が基準を下回る場合の判定です。 | |image_too_blurry_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 撮影した書類画像が信頼できないほどぼやけている場合の判定です。 | |image_too_bright_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 撮影した書類画像が露出過多の場合の判定です。 | |image_too_dark_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 撮影した書類画像が露出不足の場合の判定です。 | |inconsistent_data_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類内の項目同士が矛盾する場合の判定です。 | |invalid_code_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類のチェックデジットまたはバーコードの検証に失敗した場合の判定です。 | |invalid_mrz_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 機械読取領域がない、または内容に矛盾がある場合の判定です。 | |invalid_validation_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類の真正性検証に失敗した場合の判定です。 | |is_age_restrictions_enabled| boolean | null | boolean | | |is_document_selfie_portrait_match_enabled| boolean | null | boolean | | |is_image_capture_review_screen_enabled| boolean | null | boolean | 書類を撮影するたびに、送信前に写真を撮り直せる確認画面をユーザーに表示します。デフォルトではオフです。 | |is_ocr_id_verification_data_review_enabled| boolean | null | boolean | ステップの完了前に、ユーザーが抽出された本人確認情報を確認、修正できるようにします。デフォルトではオフです。修正内容はocr_id_verification_data_review_critical_fieldsに基づいて判定され、不一致がある場合は重要項目用または通常項目用のアクションが適用されます。ワークフローに NFC が含まれている場合も確認は実行され、後続のチップ読み取りによって確認結果が置き換えられます。 | |maximum_age| integer | null | integer >=1 <=120 | | |maximum_age_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 保持者がmaximum_ageを超える年齢の場合の判定です。 | |methods| json | null | {"": {"document": {"enabled": bool}, "id_lookup": {"enabled": bool, "source"?: "<source_id>"|null, "max_attempts": 1-5, "skip_liveness_and_face_match": bool, "on_partial_match": "fallback_to_document"|"decline", "on_no_match": "fallback_to_document"|"decline", "on_provider_error": "fallback_to_document"|"decline", "response_fields"?: ["<field_key>", ...]}, "wallet": {"enabled": bool, "providers": ["<wallet_id>", ...], "on_failure": "fallback_to_document"|"decline"}}} | 国ごとに利用できる本人確認方法を指定します。書類撮影(現在の動作)、政府機関などの権威ある情報源への書類を使用しない照会、デジタル ID ウォレットがあります。このキー、国、または方法を省略すると、その国では書類のみが使用されます。各方法は、機能カタログ(GET workflow-graph/id-verification-methods-catalog/)でその国に対して利用可能である必要があります。ウォレットは順序なしの許可リストです。各フォールバックにはfallback_to_documentまたはdeclineを指定します。max_attempts(1~5、デフォルトは 1)で数えるのは、レジストリから応答があった照会のみです。カタログに国の照会sourcesが複数掲載されている場合、sourceには ID で 1 つだけ指定します。省略すると、その国のデフォルト(最初に掲載されているもの)が使用されます。 | |minimum_age| integer | null | integer >=1 <=120 | | |minimum_age_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 保持者がminimum_age未満の場合の判定です。 | |ocr_id_verification_data_review_critical_fields| array | null | ["first_name" | "last_name" | "date_of_birth" | ...] | ユーザーが OCR 結果を編集した際に重要項目として扱う抽出済み本人確認情報の項目を指定します。不一致がある場合、通常項目用ではなく重要項目用のアクションが適用されます。 | |ocr_id_verification_data_review_critical_mismatch_action| string | null | 'REVIEW'|'DECLINE' | ユーザーの修正内容が重要項目について OCR 結果と一致しない場合の判定です。 | |ocr_id_verification_data_review_minor_mismatch_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ユーザーの修正内容が重要項目以外について OCR 結果と一致しない場合の判定です。 | |status_rules| array | array | | |unparsed_address_action| string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類の住所を構成要素に分解できなかった場合の判定です。 |
PHONE_VERIFICATION
電話認証機能の設定です。
| キー | 型 | 許容値 | 意味 |
|---|---|---|---|
code_size | integer | null | integer >=4 <=8 | |
cross_org_fraud_phone_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ネットワーク内の別の組織が、この番号を不正としてフラグ付けした場合の判定です。 |
disposable_number_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | この番号が使い捨て番号プロバイダーに属する場合の判定です。 |
duplicated_phone_number_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | この番号がこのアプリケーションですでに認証済みの場合の判定です。 |
fallback_to_native | boolean | null | boolean | |
high_risk_phone_action | string | null | 'REVIEW'|'DECLINE' | この番号に高リスクのシグナルがある場合の判定です。 |
low_phone_trust_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 信頼インデックスが phone_trust_index_threshold を下回る場合の判定です。 |
phone_enrichment_enabled | boolean | null | boolean | |
phone_intelligence_score_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | エンリッチメントスコアが phone_intelligence_score_threshold より低い場合の判定です。 |
phone_intelligence_score_threshold | integer | null | integer >=0 <=100 | |
phone_max_check_attempts | integer | null | integer >=1 <=5 | |
phone_max_retries | integer | null | integer >=1 <=5 | |
phone_no_social_presence_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ソーシャルフットプリントのチェック(phone_social_enabled)で、この番号が対象プラットフォームのいずれにも登録されていないと判定された場合の判定です。 |
phone_shared_device_mode | boolean | null | boolean | |
phone_social_enabled | boolean | null | boolean | |
phone_trust_index_threshold | integer | null | integer >=0 <=100 | |
phone_type_risk_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 回線の種類自体がリスクありと見なされる場合の判定です。 |
phone_verification_countries | json | null | {"": {"<channel: sms|whatsapp|telegram|rcs|viber|zalo>": {"enabled": true|false, "max_retries": } | true|false}} | ワンタイムコードの送信先として許可する国と配信チャネルです。これはホワイトリストです。マップにない国は一切表示されず、リストにある国で指定されていないチャネルはスキップされます。max_retries は、そのチャネルに限りノードレベルの再試行上限を上書きします。単一のブール値は従来の形式で、引き続きノードレベルの上限に従って有効/無効を指定します。 |
provider_key | string | null | string | |
recent_port_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | この番号が最近、新しい通信事業者に移転された場合の判定です。 |
status_rules | array | array | |
voip_number_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | この番号が実際の加入者回線ではなく、VoIP 番号である場合の判定です。 |
PROOF_OF_ADDRESS
Proof of Address 機能の設定です。
| Key | Type | Accepts | Meaning |
|---|---|---|---|
poa_document_authenticity_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類が真正性チェックに失敗した場合の判定です。 |
poa_document_issues_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類が破損している、切り抜かれている、またはその他の理由で使用できない場合の判定です。 |
poa_documents_allowed | json | null | {"": {"<DOC_CODE>": {"enabled": 0|1, "sides"?: 1|2, "subtypes"?: ["<SUBTYPE_CODE>", ...]}}} | 発行国ごとに受け付ける住所証明書類です。OCR の documents_allowed と同じ形式です。省略すると、カタログ内のすべての書類を受け付けます。 |
poa_issue_date_not_detected_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類から発行日を読み取れなかった場合の判定です。 |
poa_issuer_not_identified_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 発行元の企業または機関を特定できない場合の判定です。 |
poa_languages_allowed | json | null | {"<language_code>": 0|1} | 住所証明書類に使用できる言語です。言語コードごとにフラグを指定します。省略すると、サポートされているすべての言語を受け付けます。 |
poa_max_attempts_exceeded_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | ユーザーが poa_max_retry_attempts の上限に達した場合の判定です。 |
poa_max_retry_attempts | integer | null | integer >=2 <=5 | |
poa_name_match_score_threshold | integer | null | integer >=0 <=100 | |
poa_name_or_address_mismatch_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類上の氏名または住所が、確認済みの本人情報と一致しない場合の判定です。 |
poa_unparsable_or_invalid_address_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類上の住所を解析できない、または実在する住所ではない場合の判定です。 |
poa_unsupported_document_type_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | アップロードされた書類が poa_documents_allowed に含まれていない場合の判定です。 |
poa_unsupported_language_action | string | null | 'NO_ACTION'|'REVIEW'|'DECLINE' | 書類の言語が poa_languages_allowed に含まれていない場合の判定です。 |
status_rules | array | array |
QUESTIONNAIRE
Questionnaire 機能の設定です。
| Key | Type | Accepts | Meaning |
|---|---|---|---|
questionnaire_uuid | uuid | null | uuid | |
review_questionnaire_manually | boolean | null | boolean | |
status_rules | array | array |
貢献
上記の feature-config コントラクトは自動生成されます。ツールの説明に設定キーを手書きで追加しないでください。生成ワークフローと、それを徹底するチェックについては CONTRIBUTING.md を参照してください。
Issue や PR を歓迎します。詳しくは CONTRIBUTING.md をご覧ください。ホスト型サーバーは mcp.didit.me/mcp で実行できます。また、このリポジトリからセルフホストすることもできます(Docker / Node)。詳しくは自分で実行するをご覧ください。
ライセンス
MIT © Didit Protocol
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。