DiditとTemporal.ioで適応型摩擦をオーケストレーション (JA)
TypeScript開発者向けに、DiditのAPIとTemporal.ioを使用して、堅牢で適応性の高い本人確認ワークフローを構築する方法をご紹介します。このガイドでは、多段階のKYC、ライブネス、AMLチェックの統合について解説し、シームレスなユーザーエクスペリエンスを保証します。.

動的な検証フローリアルタイムのリスク評価に基づいて摩擦を動的に調整することで、セキュリティとユーザーエクスペリエンスのバランスの取れたアプローチを確保し、適応型本人確認を実装します。
状態管理のためのTemporal.ioTemporal.ioの耐久性のある実行を活用して、複雑で長期間にわたる本人確認ワークフローを管理し、分散システム全体でリトライ、タイムアウト、および人間の介入をシームレスに処理します。
コアな本人確認のためのDiditのAPIID検証、ライブネス、AMLスクリーニングを含むDiditの包括的な本人確認製品スイートを、クリーンなAPIを通じて統合し、適応型ワークフローのコアコンポーネントを強化します。
モジュラー&AIネイティブな利点DiditのモジュラーでAIネイティブなアーキテクチャとノーコードのビジネスコンソールにより、ワークフローの迅速な展開とカスタマイズが可能になり、スケーラブルな本人確認ソリューションのためにFree Core KYCと設定費用なしで提供されます。
本人確認における適応型摩擦の課題
今日のデジタル環境では、ユーザーエクスペリエンスと堅牢なセキュリティのバランスを取ることが最も重要です。従来の静的な本人確認プロセスは、さまざまなリスクプロファイルに適応できず、低リスクユーザーにとっては過度な摩擦を引き起こしたり、高リスクユーザーにとっては不十分なセキュリティになったりすることがよくあります。理想的なソリューションは、コンテキスト要因とリアルタイムのリスク評価に基づいて検証の労力が動的に調整される適応型摩擦モデルです。これには、多段階プロセス、潜在的な人間によるレビュー、非同期データフローを管理する洗練されたオーケストレーションが必要です。
このようなシステムをゼロから構築することは、特に分散環境で作業するTypeScript開発者にとって、大きな課題を提示します。長期間にわたるプロセス全体で状態を管理し、障害を適切に処理し、リトライを実装し、さまざまな本人確認をシームレスに統合する必要があります。ここに、DiditのAIネイティブなIDプラットフォームとTemporal.ioの耐久性のある実行という強力な組み合わせが役立ちます。
Temporal.io:複雑なワークフローのためのオーケストレーションレイヤー
Temporal.ioは、フォールトトレラントでスケーラブルな分散アプリケーションを構築および運用するための強力なオープンソースプラットフォームです。本人確認の場合、それは完璧なオーケストレーションレイヤーとして機能し、開発者が複雑で長期間にわたるワークフローをコードとして定義できるようにします。次のようなユーザーオンボーディングジャーニーを想像してみてください。
- 初期ID検証(DiditのOCR、MRZ、バーコード)
- 詐欺防止のためのパッシブ&アクティブライブネスチェック
- 文書写真に対する1:1顔照合
- 初期リスクスコアに基づく条件付きAMLスクリーニング
- オプションの住所証明または電話&メール検証
- 自動チェックで異常が検出された場合の、エージェントによる潜在的な手動レビュー
これらの各ステップは、Temporalワークフローのアクティビティとなり得ます。Temporalは、サービスがクラッシュしたり、ネットワークリクエストが失敗したり、外部APIが一時的に利用できなくなったりしても、ワークフローの状態が保持され、実行が中断した場所から正確に再開されることを保証します。これは、スムーズなユーザー体験を維持し、特に人間による介入により数分、数時間、あるいは数日かかる可能性のあるプロセスにおいて、コンプライアンスを確保するために不可欠です。
TypeScriptを使用すると、Temporalワークフローとアクティビティを強力な型付けで定義でき、コード品質と保守性を向上させます。これにより、適応型摩擦ロジックをワークフロー定義内で直接モデル化でき、条件分岐や検証ステップの動的な調整を実装しやすくなります。
コアな本人確認のためのDiditのAPIの統合
Diditは、すべての本人確認ニーズの基礎となるビルディングブロックを、クリーンなAPIを介して提供します。DiditをTemporalワークフローに統合するのは簡単です。たとえば、ユーザーが検証セッションを開始すると、TemporalワークフローはDiditのAPIを呼び出して、特定のワークフローIDのセッションを作成できます。Diditのビジネスコンソールを使用すると、ID検証、パッシブ&アクティブライブネス、AMLスクリーニング&モニタリングなどの機能を組み合わせて、これらのワークフローを簡単に作成できます。年齢制限のあるサービス向けにDiditの年齢推定を使用したり、セキュリティ強化のためにNFC検証を使用したりすることもできます。
DiditのAPIは、セッション作成時にworkflow_idパラメータを提供し、事前設定された検証フローをトリガーできます。その後、TemporalワークフローはDiditからのWebhookをリッスンし、各検証ステップまたはセッション全体の完了ステータスと結果をシステムに通知します。この非同期通信は、Temporalのイベント駆動型アーキテクチャによって完璧に処理され、複雑なポーリングロジックは不要になります。
たとえば、TemporalアクティビティはDiditセッションの開始と特定のWebhookイベントの待機を担当できます。WebhookがID検証の成功を示すが、ライブネススコアが低い場合、ワークフローは手動レビューアクティビティや追加の証拠の要求など、追加のステップを条件付きでトリガーし、真の適応型摩擦を示すことができます。
TypeScriptで適応型摩擦ワークフローを構築する
実用的な例を考えてみましょう。新しいユーザーが金融サービスにサインアップします。一律のKYCプロセスではなく、適応させたいとします。低リスクのユーザー(例:信頼できるIPアドレスからのユーザー、低額の取引)は、基本的なID検証とパッシブライブネスのみが必要な場合があります。高リスクのユーザー(例:疑わしいIPアドレスからのユーザー、高額の取引、または以前の詐欺フラグ)は、NFC検証、アクティブライブネス、AMLスクリーニング、および強制的な手動レビューが必要な場合があります。
TemporalとTypeScriptを使用すると、ユーザーコンテキストを入力として受け取るメインワークフローを定義できます。このワークフローは、条件付きロジックを使用して、リスク評価に基づいて異なるDiditワークフローIDを選択したり、複数のDidit API呼び出しを連鎖させたりできます。たとえば:
// Example Temporal Workflow snippet
import { proxyActivities } from '@temporalio/workflow';
import type * as activities from './activities';
const { initiateDiditSession, waitForDiditWebhook, performManualReview } = proxyActivities<typeof activities>({ startToCloseTimeout: '5 minutes' });
export async function onboardingWorkflow(userId: string, riskScore: number): Promise<string> {
let diditWorkflowId: string;
if (riskScore < 30) {
// Low risk: Basic KYC with passive liveness
diditWorkflowId = 'uuid-for-basic-kyc-workflow';
} else if (riskScore < 70) {
// Medium risk: Standard KYC with active liveness and face match
diditWorkflowId = 'uuid-for-standard-kyc-workflow';
} else {
// High risk: Enhanced KYC with NFC, AML, and manual review
diditWorkflowId = 'uuid-for-enhanced-kyc-workflow';
}
const sessionId = await initiateDiditSession(userId, diditWorkflowId);
const verificationResult = await waitForDiditWebhook(sessionId);
if (verificationResult.status === 'PENDING_MANUAL_REVIEW') {
await performManualReview(sessionId);
}
return `Verification for user ${userId} completed with status: ${verificationResult.status}`;
}
このスニペットは、Temporalがフローをオーケストレーションし、Diditが実際の本人確認を処理する方法を示しています。initiateDiditSessionとwaitForDiditWebhookは、Didit API呼び出しとWebhookリスナーロジックをラップするTemporalアクティビティになります。performManualReviewアクティビティは、サポートチーム向けの内部ツールをトリガーする可能性があり、Temporalはその完了を待機し、プロセス全体が堅牢で追跡可能であることを保証します。
Diditがどのように役立つか
Diditは、適応型摩擦ワークフローをオーケストレーションするための強力なビルディングブロックを提供する、AIネイティブで開発者優先のIDプラットフォームです。当社のモジュラーアーキテクチャにより、ID検証(OCR、MRZ、バーコード)、パッシブ&アクティブライブネス、1:1顔照合&顔検索、AMLスクリーニング&モニタリングなどの本人確認を、Temporalワークフローに簡単にプラグアンドプレイできます。Diditのノーコードビジネスコンソールを使用すると、コードを1行も書くことなく、さまざまな機能を組み合わせてしきい値を定義する包括的なワークフローを設計できます。これらの事前設定されたワークフローは、当社のクリーンなAPIを介してトリガーでき、統合を簡素化します。
Diditの利点には、Free Core KYC、柔軟な成功チェックごとの支払いモデル、および設定費用なしが含まれており、あらゆる規模の企業にとってアクセスしやすいものとなっています。当社のAIネイティブなアプローチは、高い精度と詐欺検出機能を提供し、グローバルな設計は多数の国と文書タイプにわたる検証をサポートします。Diditを活用することで、お客様はTemporal内のコアビジネスロジックに集中でき、基盤となる本人確認が主要で堅牢なプラットフォームによって処理されるという自信を持つことができます。
始める準備はできましたか?
Diditの動作をご覧になりませんか?今すぐ無料デモを入手してください。
Diditの無料ティアで無料で本人確認を開始してください。