ステップが表示されるタイミング
次の両方が当てはまる場合に、セッションで同意ステップが表示されます。- ワークフローが顔を撮影する。 ライブネスチェック、顔照合、年齢推定のいずれかのステップ、本人確認ステップが撮影するフロントカメラの自撮り(オフにしていない場合)、またはセッション全体の動画録画。
- アプリケーションの同意モードが要求している。 自動モードでは、以下のトリガーのいずれかに該当する場合です。常にモードでは、顔を撮影するすべてのセッションで求められます。
同意モード
モードは、コンソールのアプリケーションの設定 > データとプライバシー > 生体データの同意で選択します。変更はすべて監査ログに記録されます。自動モードでステップが表示されるトリガー
Diditは次のルールを順に確認し、最初に該当したものをbiometric_consent.triggerに記録します。
VPN、プロキシ、ホスティングネットワークだけで確認が求められることはありません。 DiditはそのIPを他のIPと同様に判定します。イリノイ、テキサス、コロラドのIPであればステップが表示され、それ以外の場所であれば表示されません。ステップが求められるのは、対象の州であることを示す明確な証拠(IP、IDを発行した州、申告された州)がある場合、または本人が州不明のまま米国にいると判断される場合(
ip_unknown)のみです。対象の州にいる人が、別の場所に出口を持つVPNを使い、対象の州が発行していないIDを提示した場合は、確認は求められません。そのケースを対象にする必要がある場合は、常にモードを使うか、user_stateを送信してください。
あと2つの値は、同意が求められた理由ではなく、セッションの同意がどう処理されたかを示します。
すでに把握している情報をDiditに伝える
セッションの作成には、このための任意のフィールドが2つあります。ステップを表示するアプリ
ステップは、それを表示できるアプリで必要になります。Diditは、アプリが行うリクエストごとにこれを判断します。4.10.0未満のネイティブSDK
4.10.0より前にリリースされたネイティブSDKは同意ステップを認識しないため、Diditがこれらに同意を求めることはありません。本人確認はこれまでとまったく同じように実行されます。自撮りやその他の顔撮影は受け付けられて処理され、セッションは通常どおり判定に進みます。 Diditは、与えられていない同意を記録することはありません。セッションで同意が必要だったのに、古いSDKが顔を撮影した場合、判定には次のように表示されます。reason: "BIOMETRIC_CONSENT_UNSUPPORTED_SDK"が残ります。
本人に表示される内容
ステップでは、何が収集され、なぜ収集され、誰が保有し、どれくらいの期間保管されるかが本人に示され、生体データポリシーへのリンクが表示されます。ボタンは同意して続行の1つだけで、本人が同意のチェックボックスをオンにするまで無効のままです。 Diditは回答を証拠として保存します。回答した日時、表示された文面のバージョンとハッシュ、言語、ワークフローのステップ、リクエストのIP、位置情報、ユーザーエージェントです。本人が同意すると、その回答は確定します。本人が同意しない場合
このステップには拒否ボタンがありません。同意したくない人はフローを離脱します。顔は撮影されず、セッションは、本人が完了しなかった他のセッションと同様にAbandonedで終了します(検証ステータスをご覧ください)。別の認証方法を案内してください。
APIでの同意の拒否
判定には、declinedステータスとBIOMETRIC_CONSENT_DECLINEDという理由がAPIの値として残ります。現在、Diditの画面に拒否を選べるものはないため、ホスト型フローとネイティブSDKが拒否を記録することはありません。拒否が記録されたセッションは次のようになります。
Declinedで終了し、他の拒否と同様にstatus.updatedWebhookが発火します。biometric_consent.statusがdeclined、reasonとdecline_reasonがBIOMETRIC_CONSENT_DECLINED、declined_atに時刻が入ります。- 拒否のあとは顔を撮影しません。セッションがすでに保持しているすべての顔画像と顔テンプレートが削除されます。自撮り、書類撮影時のフロントカメラの自撮り、書類の顔写真の顔の切り抜き、ライブネスとセッション全体の動画が対象です。
face_data_deleted_atに削除された時刻が記録されます。判定ではそれらが返されなくなり、削除は元に戻せません。 - 書類の画像と、そこから読み取ったデータは保持されます。拒否はこれらに影響しません。
判定とWebhookでの扱い
すべてのユーザー認証の判定には、セッションの取得と、セッションのWebhookのdecisionに、biometric_consentオブジェクトが含まれます。セッションが一度も評価されなかった場合(たとえば、顔撮影のないワークフロー)はnullです。
ホスト型フローで本人が同意したセッションの例です。
関連ドキュメント
- セッションの作成:
user_stateとbiometric_consent。 - セッションの取得:
biometric_consentを含む判定。 - ネイティブSDK: バージョンとアップグレード手順。
- セキュリティとコンプライアンス: 本人確認フローにおけるお客様の責任。