署名レベル
AESはPAdESのみで署名します。
signature_formatの値xadesとcadesは、AESではsignature_format_not_supportedで拒否されます。
仕組み
1
ワークフローがまず署名者を検証する
署名ステップは、署名者が誰かを確定するステップの後に実行されます。本人確認と、コードの送信先となる連絡先のメールアドレスまたは電話番号の認証です。開始する前にを参照してください。
2
Diditが書類を準備する
署名者がこのステップに到達すると、Diditは書類とそのフィールドをセッションにコピーし、各書類のSHA-256を記録します。その後にワークフローを変更しても、この署名者に表示される内容は変わりません。
3
署名者が各書類を確認する
フィールドのある書類では、署名者はフィールドからフィールドへ案内されます。署名は一度採用すれば、すべての署名フィールドとイニシャルフィールドに適用され、テキストとチェックボックスのフィールドには入力します。検証済みの本人情報、セッション、または御社のシステムからDiditが取得した値は、すでにページに入力されています。フィールドのない書類では、署名者は内容を読んで同意します。
4
署名者がコードで確定する
いずれかの書類にフィールドがある場合、署名者はまず書類に電子的に署名することに同意します。その後Diditは、セッションの前半で検証したメールアドレスまたは電話番号に、6桁のコードを送信します。コードを入力すると、そのステップのすべての書類への署名が承認されます。
5
Diditが署名して封印する
Diditは署名日を入力し、すべてのフィールド値を各PDFに刻印し、証拠ページを追加してから、PAdES署名とタイムスタンプを適用します。そのため、署名はページ上のすべての内容を対象にします。
6
結果を受け取る
判定結果とセッションのWebhookには、署名者、確定情報、証明書、タイムスタンプ、各書類のハッシュ、すべてのフィールドの値を含む
signatures[]が含まれます。署名済みPDFと証拠PDFをダウンロードでき、Diditは署名者にコピーをメールで送ることもできます。開始する前に
署名者は、署名する前に検証されている必要があります。Diditは、御社や署名者が入力した内容ではなく、セッション自身の検証済みの記録から、氏名と連絡先を取得します。 ユーザー認証(KYC)の場合は、ワークフローで電子署名の前に次のステップを置きます。- 判読可能な氏名を持つ、承認済みの本人確認。これがないと、このステップは
SIGNATURE_IDENTITY_NOT_VERIFIEDを記録します。 - コードをメールで送る場合(既定)はメールアドレス認証、SMSで送る場合は電話番号検証。コードは、同じセッションで検証済みの連絡先にのみ送信されます。
- ワークフローにライブネス検知もある場合は、承認されている必要があります。
KYBのステップには1〜20人の署名者がおり、各署名者は署名する時点で承認済みのKYCが必要です。各署名者は自分用の書類のコピーに署名し、自身のKYCセッションで検証された連絡先に届くコードで確定します。主要関係者として申告された氏名は、大文字小文字とスペースを無視して検証済みの氏名と一致する必要があり、一致しないとステップは
SIGNATURE_NAME_MISMATCHを記録します。ステップは、すべての署名者が署名または辞退した時点で完了します。
書類
書類の取得元
signature_documents_sourceは、ステップが書類をどこから取得するかを設定します。
セッションごとの書類を使うと、氏名、金額、条件を御社のシステムであらかじめ入力した契約書に、本人が署名できます。
対応ファイル
Word文書をアップロードすると、Diditはアップロード中に最大60秒でPDFに変換します。署名者が見て署名するのは変換後のページなので、フィールドを配置する前に確認してください。改行位置がWordとわずかに異なる場合があります。WordファイルとそのPDFは同じ書類に属し、書類とともに削除されます。証拠PDFには、変換の記録と両ファイルのSHA-256が記載されます。
署名対象が曖昧になる場合、DiditはWordファイルを
signature_document_not_supportedとreasonで拒否します。マクロ(macros)、未承諾の変更履歴(tracked_changes)、外部コンテンツへのリンク(external_links)、埋め込みオブジェクト(embedded_objects)がある場合です。アップロード前に変更履歴を承諾または却下して、PDFに合意した文面が表示されるようにしてください。
変換できないファイルは、signature_document_conversion_failedと次のいずれかの理由で拒否されます。
書類上のフィールド
フィールドを使うと、デスクトップの署名ツールで封筒を準備するのと同じように、書類を署名者が入力するテンプレートにできます。フィールドのない書類では、署名者が読んで同意するだけの、より簡単なフローになります。
このバージョンには日付ピッカーはありません。署名者が入力する日付には
textフィールドを使ってください。
フィールドには次のプロパティがあります。
role_not_usedで拒否されます。書類にフィールドがあるロールには、そこにsignatureまたはinitialsのフィールドが少なくとも1つ必要で、ないとワークフローのバージョンを公開できません(signature_field_missing)。
検証
validationはtextフィールドに適用されます。
kind:any、letters(任意の文字体系の文字、スペース、ハイフン、アポストロフィ)、number(任意の小数点記号付きの数字)、email、またはpattern。min_length:0からmax_lengthまで。max_length:1から500まで。既定は120。pattern:kind: "pattern"では必須。値全体が一致する必要がある、最大200文字の正規表現。先読み・後読みと後方参照はサポートされません。message: 最大120文字。既定のエラーの代わりに表示されます。
事前入力される値
prefillは、フィールドの値の取得元を指定します。
dataフィールドにはprefillが必須です。full_nameフィールドは常にidentity.full_nameを、emailフィールドはcontact.emailを使い、textフィールドにも設定できます。data、full_name、検証済みemailの各フィールドの値は、署名者が署名を開始した時点で固定され、その後にセッションを変更しても変わりません。事前入力されたtextまたはemailフィールドは、editable_when_prefilledを設定しない限り読み取り専用です。
必須フィールドの取得元に、その時点で値がない場合(例えば住所のないセッション)、フィールドは空のまま表示されません。ステップはSIGNATURE_FIELD_DATA_MISSINGを発生させ、signature_field_data_missing_action(既定はREVIEW)を適用します。NO_ACTIONの場合、署名者は署名でき、フィールドは空のままになります。
コンソールで設定する
- ワークフローに移動してワークフローを開き、署名者を検証するステップの後に電子署名ステップを追加します。
- 書類でアップロードを選択してPDFまたはWordファイルを追加し、署名者に表示される順にドラッグして並べます。WordファイルはPDFに変換されるため、フィールドを配置する前に変換後のページを確認してください。置き換えは、書類のファイルを差し替え、新しいファイルにないページ上のフィールドを除いて、フィールドを保持します。
- 書類にフィールドを配置で、エディターを開くを選択します。パレットからフィールドをページにドラッグするか、フィールドを選択して配置したい場所をクリックし、移動とサイズ変更をします。各フィールドについて、入力する人、ラベル、必須かどうか、受け付ける内容、値の取得元、API キー(フィールドの
key)を設定します。署名者としてプレビューでは、署名者がスマートフォンまたはデスクトップで見る書類の表示を確認できます。エディターは操作のたびに保存され(ドラフトに保存済み)、完了を選択する前に修正すべき項目が一覧表示されます。 - 引き続き書類で、書類の取得元としてこのワークフロー、各セッション、両方のいずれかを選びます。フィールドのない書類では、署名者が署名前に最後まで読む必要があるかどうかを選び、書類ごとの同意を設定します。
- 署名で、署名者、レベル(高度(AES))、形式、コードの送信先(ワンタイムコードの送信方法)を選びます。
- ルールで、各警告が判定に与える影響を設定します。
- 高度で、署名済みコピーをメール送信するか、証拠ページを追加するか、署名リンクが有効な日数を選びます。カスタムのステータスルールも追加できます。
- ワークフローを保存します。
署名の体験
署名ステップは、ホスト型の検証ページ、Web SDK、ネイティブSDKで、デスクトップでもスマートフォンでも実行されます。署名用のUIを構築する必要はありません。- イントロ。 署名者は、署名する書類を確認します。
- 各書類を順番に。 フィールドのある書類では、署名者は
positionの順にフィールドを案内されます。最初の署名またはイニシャルのフィールドで、署名を採用するシートが開きます。任意のフィールドには任意と表示されます。Diditが入力した値はロックアイコン付きでページに表示され、操作は不要です。ページ上のフィールドをタップすると、そのフィールドに移動します。スマートフォンでは、キーボードの上に固定されたパネルに、1つずつフィールドが表示されます。幅1200 px以上の画面では、ページがフィールドの一覧の横に表示されます。必須フィールドが空のまま書類を終えようとすると、残りの数が表示され、最初のフィールドに移動します。フィールドのない書類は、設定どおりに読んで同意します。 - 確認。 署名者は書類をもう一度確認し、いずれかにフィールドがある場合は、電子的に署名することに同意します。
- コード。 署名者がコードを要求します。コードは5分間有効で、60秒後に新しいコードを送信でき、署名者は最大5回のコード送信と3回の入力ミスまで可能です。上限に達すると
SIGNATURE_OTP_FAILEDが記録されます。 - 署名済み。 署名後、署名者は署名済みの書類をダウンロードできます。有効にしている場合は、Diditがコピーをメールで送信します。
- 辞退。 署名者は、署名する代わりに辞退できます。この場合
SIGNATURE_DECLINEDが記録されます。辞退は署名リンクが有効な間は再開できるため、署名者が考えを変えれば署名できます。
signature_link_validity_days(1〜30、既定は7)の間、セッション作成時から数えて有効です。セッションは少なくともその期間は開いたままです。
ネイティブSDKでは、署名ステップが追加されたリリース以降で署名ステップが表示されます。リリースが公開されたら、ネイティブSDKの概要に記載されます。フィールド付きの書類には、フィールドに対応したリリースが必要です。古いリリースでは表示できず、ステップにエラーが表示されます。フィールドのない書類は、署名ステップのあるすべてのリリースで動作します。アプリがワークフローで使う機能に対応したリリースで動作するまでは、ホスト型ページまたはWeb SDKへ誘導してください。
署名の採用
署名者は、書類が初めて署名またはイニシャルを求めた時点で、1つのシートで署名とイニシャルを一度だけ採用します。- 入力: 検証済みの氏名を、選んだ筆記体スタイルで表示し、From your IDと表示されます。別の氏名は入力できません。入力のイニシャルは、その氏名の頭文字です。
- 手書き: 指またはマウスで、署名とイニシャルの両方を手書きします。
結果
各署名者の結果は、セッションの判定結果とセッションWebhookのdecisionにあるsignatures[]の項目です。署名専用のWebhookはありません。判定結果を取得するタイミングは、セッションのstatus.updatedイベントで分かります。
すべての書類の署名済みPDF、署名者ごとの証拠PDF、すべての元ファイルと署名済みファイルのSHA-256が提供されるため、後から何も変更されていないことを証明できます。フィールド付きの書類では、すべてのフィールドの値、その取得元、入力された時刻に加え、採用された署名と、署名者が電子的な署名に同意した時刻も得られます。すべてのフィールド、ダウンロード、署名の再検証方法については、電子署名レポートを参照してください。
コンソールでは、セッションの署名タブに書類が表示され、続いてFieldsブロックに、各ページのプレビュー、採用された署名とイニシャル、すべてのフィールドの値、時刻、取得元が表示されます。PDFレポートには署名セクションが含まれ、書類にフィールドがある場合はElectronic signature · fieldsページも含まれます。
料金
電子署名は、書類、署名者、署名ステップの数にかかわらず、署名済みセッションごとに1回課金されます。辞退、失敗、期限切れになった署名は課金されません。署名データの削除
セッションを削除すると、その署名データも一緒に削除されます。セッションとともに送信された書類とWordの元ファイル、署名者ごとに準備されたコピー、署名済みPDF、証拠PDF、採用された署名とイニシャルの画像、すべてのフィールド値が対象です。ダウンロードリンクは使えなくなります。データ保持期間の終了時にセッションが削除される場合も同様です。削除は元に戻せないため、保管が必要なものは先にダウンロードしてください。- 法人確認の署名済み書類は、法人のセッションに属します。そのセッションを削除すると、書類も削除されます。
- ワークフローから書類を削除すると、そのフィールドとWordの元ファイルとともに削除されます。すでに署名を開始した署名者は、セッションの一部として、表示されたコピーを、そのセッションを削除するまで保持します。署名待ちのセッションがないワークフローでのみ、書類を削除してください。
- Diditがすでに署名者にメールで送信したコピーは、署名者のメールボックスにあり、影響を受けません。
関連ページ
- 電子署名レポート:
signatures[]、署名済みPDF、証拠PDF、ダウンロード。 - 電子署名の警告: すべての警告と、それを制御するルール。
- セッションの作成: セッションごとに書類、フィールド、フィールド値を送信します。
- ワークフローの機能設定: ステップのすべての設定。