ネイティブSDK 4.0のモジュール型バリアント
今年最大のネイティブSDKリリースです。iOS、Android、React Native、Flutterのすべてで4.0系がリリースされました。SDKが独立したバリアントに分かれたため、実際に必要なバイナリだけを組み込めます。- 4つのバリアント:
Core(NFCなし、自動撮影なし)、AutoDetection(自動撮影あり、NFCなし)、NFC(NFC読み取りあり、自動撮影なし)、All(全機能) - iOS Coreでバイナリを84%削減:MediaPipeベースの自動撮影を必要としないアプリでは、3.xの約40MBから、ディスク上で約6MB、IPA内の圧縮サイズで3MBになりました
- 後方互換性:既存の
pod 'DiditSDK'やGradleによる連携は変更なしでそのまま動作します。デフォルトはAllです - プラットフォームごとの選択方法:iOSではCocoaPodsのsubspecとSPMのライブラリプロダクト、Androidでは個別のアーティファクト、React NativeではExpo config pluginのフラグ、Flutterでは
DIDIT_SDK_IOS_VARIANT/$DiditSdkIosVariantで選択します - 移行ガイド:各SDKのREADMEに新しい表を追加し、インストールの組み合わせと3.xからの移行方法を説明しています

書類ライブネスの設定に対応
書類ライブネスは、承認か却下かを切り替えるだけの単一の設定から、不正の種類ごとに細かく設定できる仕組みに変わりました。この設定はAPIと、ワークフローエディターに新設された「偽造」タブの両方で利用できます。- 不正の種類ごとのしきい値:画面リプレイ、印刷コピー、顔写真の差し替えのそれぞれに、却下とレビューのスコアを個別に設定できます
- Consoleに新しい「偽造」タブ:従来の承認/レビュー/却下のチップに代わり3つのスライダーを用意しました。サポート対象のすべての言語に完全にローカライズされています
- すべての警告に根拠を表示:セッションのツールチップに、実際のライブネススコア、適用中のしきい値、判定区分、結果の元になった書類の面が表示されるようになりました
- アップロード時の判定を改善:正規の身分証明書をスキャンまたは撮影した画像で発生していた「印刷コピー」の誤検知警告をなくしました。画面リプレイと顔写真の改ざんは、アップロード時も引き続き検知されます

表面と裏面の整合性チェック
ある身分証明書の表面と別の身分証明書の裏面をアップロードするユーザーを検知する新しいチェックです。本番環境では、ボリビアのcedulaで初めて検知されました。- 新しいリスク
DATA_INCONSISTENT:表面のOCRデータが裏面と一致しない場合に発生します - ワークフローアクション:既存の
inconsistent_data_action設定を使い、整合性のない提出を却下、レビュー、承認のいずれかに振り分けます - 正しく保存:OCRが最初に表面と裏面のラベルを取り違えた場合でも、保存される表面の画像は常に表面のステップのものになります
南アフリカのデータベース検証を拡充
南アフリカの対象範囲は、国民IDのチェック1つから、データソース一式へと広がりました。すべて同じデータベース検証APIから呼び出せます。- 内務省(Department of Home Affairs):指紋照合とDHAの顔写真照会
- 車両データ:所有者情報とVINによる照会
- 企業データ:法人登記、会社の取締役、個人の取締役就任状況
- 銀行・消費者に関するシグナル:銀行口座名義人の確認と連絡可能性の確認
- 不正対策とAML:不正防止チェック、難民の確認、顔による犯罪歴スクリーニング
- 国民IDの検証コストを削減:南アフリカの国民ID検証を新しい連携に移行し、1回の呼び出しあたりのコストを大幅に下げました

メキシコINE有権者カードの有効性確認
メキシコのINE/IFE有権者カードを、公式の登録簿とリアルタイムで照合して検証できるようになりました。- 書類の有効性:カードのモデル(
modelo)、有効期限(vigencia)、身分証明書として有効かどうかを確認します - 投票権:所持者の投票権の状態を確認します
AMLスクリーニングの最適化
本人情報が変わっていない再提出では、AMLスクリーニングが重複排除されるようになりました。同じ人物に対するスクリーニングの繰り返しで請求されることはなくなります。- 同一内容の再提出ではスキップ:氏名、生年月日、国籍、書類番号がすべて前回のスクリーニングから変わっていない場合、新しいスクリーニングは実行されません(新たな請求も発生しません)
- 次の場合は動作に変更なし:本人情報が実際に変わった場合、初回のスクリーニング、サンドボックスのセッション、単体のAMLエンドポイント
- KYBにも適用:再提出時に企業の情報が変わっていない場合、企業のAMLスクリーニングも同じように重複排除されます
ユーザーの顔画像のアップロード
Upload User Faceエンドポイントでインポートした顔画像が、検証セッションで撮影した顔画像と同じように扱われるようになりました。- ユーザープロフィールに表示:顔写真が、通常の撮影と同じようにConsoleのユーザー詳細ページに表示されます
- 重複検出の対象に追加:インポートした顔画像が1:N検索インデックスに含まれるようになり、別のvendor data識別子での再登録も正しくフラグが付けられます
- 既存データの取り込みに便利:既存の本人確認データベースをDiditへ移行する際に役立ちます
ホワイトラベルのカスタムドメインのエラー表示
DNSプロバイダーのCAAレコードが実際には証明書の発行をブロックしている場合に、カスタム検証ドメインが知らないうちに「Verified」に切り替わることはなくなりました。- 実際のエラーを表示:Consoleに正確な原因(一般的には、CAAレコードがAWSによるSSL証明書の発行をブロックしている)が表示されるようになりました
- 5ステップの復旧手順:追加する必要のあるDNSレコードが、Customizationページに具体的に記載されます
- 見えない障害をなくす:検証済みに見えても読み込めないドメインを、エンドユーザーに届く前に検出します

トランザクションメールのデザインを刷新
認証と組織に関する11種類のメールすべてを、Consoleのデザインシステムに合わせて作り直しました。すっきりした白基調のレイアウト、全幅のピル型CTA、hello@didit.meを記載したテキスト中心のフッターを採用しています。ホワイトラベルの顧客には、引き続き検証メールに独自のロゴとテーマが適用されます。
複合氏名の照合
データベース検証の照会で、消費者記録サービス全体にわたり複合ファーストネームを正しく処理できるようになりました。- 米国:「Jorge Luis」「Miguel Angel Jr」など、スペイン語圏で見られる二重名のパターンが正しく照合されるようになりました
- 英国:「Lukasz Marcin」のような複合ファーストネームは、単一のトークンとして扱われるのではなく、ファーストネームとミドルネームとして解析されるようになりました
新たに対応した書類
- Tax Cardの書類タイプ:税務上の居住地の確認のため、iOS、Android、Flutter、React NativeのSDK全体に新しい書類サブタイプを追加しました
- オランダの2025年版運転免許証:新デザインにエンドツーエンドで対応しました
- ブラジルのデジタル運転免許証:「Side C」/「Page B」マーカー付きの両面撮影で、正しい表面写真と裏面画像が保存されるようになりました
- スペインの難民条約旅行証明書:D / DV / TIのMRZプレフィックスと
XXA国籍を使用する同様の無国籍者向け旅行書類も、正しく解析されるようになりました - 新たに対応した11種類の書類:実際の提出データをもとに本番環境のレジストリへ同期しました
モンゴル語
検証フローと4つのネイティブSDKすべてがモンゴル語(mn)に対応し、対応言語は合計54になりました。ネイティブSDKのリリース
4.0のモジュール型バリアントに加え、すべてのネイティブSDKで5月を通じて安定性の修正を継続的にリリースしました。- Android SDK 3.5.3 – 4.0.2:書類写真の品質と顔撮影イントロのスタイル調整、曖昧なネットワーク障害後の復旧、完了時のホワイトラベルテーマのちらつきの修正、書類とライブネスの両方における状態リセットを伴うカメラ切り替え、動画セグメント欠落時のアップロードガード、利用規約と翻訳の更新、フロントカメラでのセルフィー撮影の修正、戻るボタンとアンケートの改善、モンゴル語対応、そしてデフォルトカメラと切り替えボタンの表示を設定できる4.0系
- iOS SDK 3.3.3 – 4.0.2:書類撮影の品質向上と再生可能なMP4 / H.264のアップロード、中断されたバックエンドレスポンス後のステップ復旧、NFCなしのオプションビルド、podspecへのライセンスのインライン記載、3.5 / 3.6の定期リリース、Swift 6ランタイムシンボルに起因するiOS 13–17での
EXC_BAD_ACCESSクラッシュの重大な修正、モンゴル語対応、そしてモジュール型バリアントへの分割とTax Card対応を含む4.0 - React Native SDK 3.2.11 – 4.0.1:各サイクルで最新のネイティブiOS・Androidリリースに更新し、利用者がNFCなしのバリアントを選べるようExpo設定プラグインに
iosNfcEnabled/androidNfcEnabledフラグを追加し、さらに全バリアントの組み合わせに対応した4.0をリリースしました - Flutter SDK 3.5.0 – 4.0.2:最新のネイティブiOS・Androidリリースを取り込み、AndroidのNFCなしビルドオプションを追加し、ネイティブの設定項目一式(
showCloseButton、showExitConfirmation、closeOnComplete)を公開し、さらにネイティブバリアントの選択とTax Card対応を含む4.0をリリースしました
デバイスインテリジェンス
サーバー側のデバイスフィンガープリンティングの精度が向上し、欺かれにくくなりました。- 決定論的アンカーの必須化:あいまいなフィンガープリント一致で2つのセッションを関連付けるには、ハードウェアに根ざした識別子(AndroidのSSAIDまたはWidevine、iOSの
identifierForVendor)が必要になり、誤検知を排除しました - TLS / JA4による裏付け:WebフィンガープリントをTLSフィンガープリントのシグナルと照合して裏付けることで、決定論的な一致の分類をより確実にしました
改善点
- 許容される最後の試行でユーザーが書類の再撮影に成功した場合、古い「画像がぼやけすぎています」という警告が承認済みのセッションに付与されなくなりました
- 顔撮影アルゴリズムは正規化された範囲ではなく実際のバウンディングボックスの形状を使用するようになり、「離れてください」「近づいてください」という新しい指示と、デバイスごとの安定性調整が加わりました
- カメラ権限のエラーは検証フロー全体で一貫して分類されるようになり、権限のタイムアウトとカメラアクセスの失敗を区別した、よりわかりやすいメッセージを表示します
- 未認証のアカウントがメールアドレスを恒久的に占有することはできなくなりました。再登録はブロックされず、未認証のレコードを引き継ぎます
- ワークフローグラフとアンケートエディターの全画面切り替えがSafariで動作するようになりました
- オーストラリアのImmiCardと旅行書類のフィールド、ニュージーランドのパスポートの有効期限、構造化住所の解決について、住所を扱う約35のデータベース検証サービス全体で修正しました
修正
- OCR中に表面と裏面が入れ替わった場合(アルゼンチンの2019年版・2020年版ID)に、本人確認APIが返す
front_imageの切り抜きが破損する問題を修正しました - 再提出されたセッションで
FILE_UPLOADEDイベントが欠落し、再提出された書類がConsole上でファイルなしと表示されていた問題を修正しました - 検証Webフローにおける翻訳とホワイトラベルのカスタマイズに関する問題を修正しました