無料
月額$0。クレジットカード不要。
- 無料KYCバンドル(本人確認 + パッシブ・ライブネス + 顔照合 + デバイス&IP分析) — 毎月500回まで
- ブロックリストユーザー
- 重複検出
- すべてのセッションで200以上の不正シグナル
- Diditネットワーク全体でのKYC再利用
- ケース管理プラットフォーム
- ワークフロービルダー
- 公開ドキュメント、サンドボックス、SDK、MCP (Model Context Protocol) サーバー
- コミュニティサポート




世界中の2,000以上の組織から信頼されています。

顔認証がSMSより優れている理由
SIMスワップはSMSワンタイムコードを無効化し、フィッシングはセキュリティ質問を突破します。 プレッシャー下ではサポート担当者もミスを犯しがちです。しかし、登録時のセルフィーとのライブ顔照合は、これら3つ全てを阻止します。 1回の復元につき$0.15、2秒未満で判定、毎月500回まで無料です。
ID、ライブネス、顔照合、制裁リスト、住所、年齢、電話番号、メールアドレス、カスタム質問など、必要なチェック項目を選択します。ダッシュボードでフローにドラッグ&ドロップするか、同じフローをAPIにポストします。条件分岐やA/Bテストも、コード不要で実行できます。
Web、iOS、Android、React Native、Flutter SDKでネイティブに組み込むか、ホストされたページにリダイレクトします。または、メール、SMS、WhatsAppなど、どこからでもユーザーにリンクを送信するだけです。お使いのスタックに合った方法をお選びください。
Diditは、カメラ、照明の指示、モバイル連携、アクセシビリティをホストします。ユーザーがフローを実行している間、200以上の不正信号をリアルタイムでスコアリングし、すべてのフィールドを信頼できるデータソースと照合して検証します。結果は2秒未満で得られます。
リアルタイムの署名付きWebhookにより、ユーザーが承認、拒否、またはレビューに送られた瞬間にデータベースが同期されます。必要に応じてAPIをポーリングすることも可能です。または、コンソールを開いてすべてのセッション、すべての信号を検査し、ケースを管理することもできます。
Didit · 顔照合 1:1
登録
リカバリー
Didit · パッシブライブネス
Didit · ステップアップポリシー
Didit · フォールバック
Didit · 監査ログ
Didit · セッションポリシー
$ curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow_id": "wf_account_recovery",
"vendor_data": "user-7382",
"metadata": { "trigger": "forgot_password" },
// base64 enrolment selfie, ≤ 1MB
"portrait_image": "/9j/4AAQSkZJRgABAQE..."
}'status: Approvedを返すまで、リカバリーをブロックします。ドキュメント →// X-Signature-V2 verified upstream
if (payload.status === "Approved") {
sendPasswordResetEmail(payload.vendor_data);
registerNewDevice(payload.metadata);
} else if (payload.status === "Declined") {
security.logRecoveryAttack(payload);
}X-Signature-V2を検証してください。ドキュメント →You are integrating Didit into an account-recovery flow. Replace knowledge-based recovery (security questions, SMS OTP, support-rep verification) with a biometric re-match against the user's enrolment selfie. ONE Didit session, two checks:
- Passive Liveness — make sure the recovery selfie is a real human, not a print / screen / mask / deepfake.
- Face Match 1:1 — match the recovery selfie against the user's enrolment selfie. If similarity is above your threshold, the recovery is approved.
Bundle pricing (verified live, 2026-05-16):
- Passive Liveness: $0.10 per recovery
- Face Match 1:1: $0.05 per recovery
- Total: ~$0.15 per recovery — public price, no minimums
- First 500 verifications free every month, forever
- SMS / WhatsApp One-Time Passcode (OTP) fallback: $0.03 per OTP (when biometric isn't possible)
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60s, no card).
- Webhook endpoint with HMAC SHA-256 verification using the X-Signature-V2 header.
- User's enrolment selfie on file — captured during initial KYC via a previous /v3/session/. Stored under your tenant in encrypted form.
- A workflow_id from the Workflow Builder that runs Passive Liveness + Face Match 1:1 against the stored reference.
STEP 1 — Trigger recovery on the right signal
Recovery is gated by your risk policy. Typical triggers:
- User clicks "Forgot password" — always.
- Sign-in from a new device + new IP country at the same time.
- Sign-in after account dormancy (e.g. 180+ days).
- Sensitive action: large withdrawal, payout to a new beneficiary, account-settings change.
Each trigger opens a Didit session.
STEP 2 — Open the recovery session
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<wf id with Passive Liveness + Face Match against enrolment selfie>",
"vendor_data": "<your user id, max 256 chars>",
"callback": "https://<your-app>/account/recovery/callback",
"metadata": {
"trigger": "forgot_password",
"device_fingerprint": "<your device fingerprint>",
"ip_country": "ES"
},
"portrait_image": "<base64 JPEG of the user's enrolment selfie, ≤ 1 MB — REQUIRED when the workflow has FACE_MATCH active; the recovery flow matches the new live selfie against this stored reference>"
}
Response: 201 Created with a hosted session URL. Redirect the user (web or in-app webview) to the URL. Sub-2-second median verdict on completion.
STEP 3 — Read the signed webhook on the verdict
Didit POSTs to your callback. Session statuses are Title Case With Spaces:
Body (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your user id>",
"status": "Approved",
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.94 }
}
Status enum (exact case): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
Verify the X-Signature-V2 header BEFORE reading the body — HMAC SHA-256 of the raw bytes with your webhook secret.
STEP 4 — Branch on the verdict
Approved → unlock recovery: send the password-reset email, register the new device, complete the sensitive action.
In Review → soft-fail the recovery, route to support for human review.
Declined → block the recovery; log the hit. Could be a printed-photo or screen-replay attack — surface to security.
Resubmitted → user retried after a soft rejection — re-read.
Kyc Expired → reference selfie has aged out (per your retention policy) — fall back to documented recovery flow.
STEP 5 — Fallback for users who can't take a selfie
Camera missing, low light, hardware refused permission. Two graceful fallbacks:
- SMS / WhatsApp / Telegram One-Time Passcode (OTP) via Didit Phone Verification, $0.03 per OTP.
- Email magic link via your existing transactional email provider, $0.03 per email.
- Authenticator app — Time-based One-Time Password (TOTP) or FIDO2 hardware key, free.
Configure the fallback chain in the Workflow Builder. Selfie always tried first.
WEBHOOK EVENT NAMES
- Sessions: status changes flow through the standard session webhook.
Verify X-Signature-V2 on every payload.
CONSTRAINTS
- Session statuses use Title Case With Spaces (Approved, In Review). Do not lowercase or snake_case them.
- The recovery similarity threshold is configurable per app — start at 0.85, tune up for high-assurance apps (banks, brokerages) and down for low-friction consumer apps.
- Liveness is a Presentation Attack Detection (PAD) Level 1 model — defeats prints, screens, masks, deepfakes on consumer cameras. Active liveness (head-tilt prompts) is available for higher-friction higher-assurance flows at $0.15.
- The user's enrolment selfie must have been captured by Didit (any prior /v3/session/ with face capture). Bring-your-own enrolment image is roadmap.
- Default audit retention is 5 years configurable in the Business Console.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/core-technology/face-match/overview
- https://docs.didit.me/core-technology/liveness/overview
- https://docs.didit.me/integration/webhooks
Start free at https://business.didit.me — sandbox key in 60 seconds, 500 verifications free every month, no credit card.月額$0。クレジットカード不要。
使った分だけお支払い。25以上のモジュール。モジュールごとの公開価格、月額最低料金なし。
カスタムMSA & SLA。大量利用や規制対象プログラム向け。
無料で開始 → チェック実行時のみ支払い → カスタム契約、SLA、データレジデンシーが必要な場合はエンタープライズプランへ。
Diditは本人確認と不正対策のためのインフラです。私たちが製品を開発していたときに「こんなプラットフォームがあればよかったのに」と願った、オープンで柔軟、そして開発者に優しいプラットフォームです。そのため、ブラックボックスとしてではなく、スタックの真の構成要素として機能します。
1つのAPIで、個人の確認(KYC、顧客確認)、企業の確認(KYB、企業確認)、暗号資産ウォレットのスクリーニング(KYT、取引確認)、およびリアルタイムでの取引監視をカバーします。このスタックは以下のように構築されています。
その基盤には、14,000以上の書類タイプ(48以上の言語)、1,000以上のデータソース、そしてすべてのセッションにおける200以上の不正シグナルがあります。Diditのインフラは、すべてのセッションから動的に学習し、日々改善されています。
復旧フローは、認証をバイパスする最も簡単な場所だからです。ユーザーはパスワードを忘れているため、定義上、パスワードを尋ねることはできません。ほとんどのアプリは以下に頼っています。
登録時のセルフィーとのライブ顔照合は、これら4つすべてを打ち破ります。
解消されない3つの構造的な問題があります。
米国の国立標準技術研究所(NIST)は、2017年以降、高保証の復旧にSMSを使用しないことを明示的に推奨しています(SP 800-63B)。
フルフローは通常、エンドツーエンドで30秒未満で完了します — IDを手に取り、書類を撮影し、セルフィーを撮影して完了です。これは市場で最速です。従来のKYCプロバイダーでは、同じフローで通常90秒以上かかります。
バックエンドでは、Diditはユーザーがセルフィーを完了した瞬間からWebhookが発火するまでの時間を測定し、p99で2秒未満で結果を返します。モバイルキャプチャは、低速な電話やネットワーク向けに調整されています。プログレッシブ画像圧縮、遅延ソフトウェア開発キットのロード、そしてユーザーがウェブで開始した場合のQRコードを介したデスクトップから電話へのワンタップハンドオフなどです。
2つのシナリオがあります。
/v3/session/を開き、検証済みのセルフィーをユーザーレコードに保存します。費用:$0.33(フルKYCバンドル)。既存のセルフィーコーパスを持ち込む機能は、ロードマップにあります。
すべてのセッションは7つの明確なステータスのいずれかに分類されるため、お客様のコードは常に何をすべきかを知っています。
Approved — すべてのチェックに合格しました。ユーザーを先に進めます。Declined — 1つ以上のチェックに失敗しました。ユーザーに特定の失敗したステップ(例:セルフィーの再撮影)を再提出させることができます。フロー全体を再実行する必要はありません。In Review — コンプライアンスレビューのためにフラグが立てられました。コンソールでケースを開き、すべてのシグナルを確認し、承認または拒否を決定します。In Progress — ユーザーはフローの途中にいます。Not Started — リンクは送信されましたが、ユーザーはまだ開いていません。長期間放置されている場合はリマインダーを送信します。Abandoned — ユーザーはリンクを開きましたが、時間内に完了しませんでした。再エンゲージするか、期限切れにします。Expired — セッションリンクの有効期限が切れました。新しいセッションを作成します。ステータスが変更されるたびに署名付きWebhookが発火するため、お客様のデータベースは常に同期されます。放棄されたセッションと拒否されたセッションは無料です。
本番データは、デフォルトで欧州連合内のAmazon Web Servicesに処理・保存されます。規制当局が要求する法域については、エンタープライズ契約で代替リージョンをリクエストできます。
あらゆる場所で暗号化。すべてのデータベース、オブジェクトストレージ、バックアップでAES-256による保存時暗号化。すべてのAPIコール、Webhook、Business ConsoleセッションでTransport Layer Security 1.3による転送時暗号化。生体認証データは、個別の顧客マスターキーで暗号化されます。
保持期間はお客様が管理できます。デフォルトの保持期間は無期限(unlimited)ですが、アプリケーションごとに30日から10年の範囲で短く設定することも可能です。また、ダッシュボードまたはAPIからいつでも個々のセッションを削除できます。
認証: SOC 2 Type 1(Type 2監査進行中)、ISO/IEC 27001:2022、iBeta Level 1 PAD、およびDiditのリモート本人確認が対面での確認よりも安全であることを示すスペインのTesoro / SEPBLAC / CNMVからの公式証明。詳細レポートは/security-complianceをご覧ください。
Diditは、本人確認インフラストラクチャにとって重要な規制当局に対し、デフォルトで準拠しています。
詳細なメモ、すべての証明書、すべての規制当局からの書簡は/security-complianceをご覧ください。
3つの連携パス — お客様のスタックに合うものをお選びください。
同じダッシュボード、同じ請求、成功ごとの同じ料金で、これら3つすべてに対応します。ステップバイステップガイドはdocs.didit.me/integration/integration-promptをご覧ください。
パッシブ・ライブネスは、今日のコンシューマー向けディープフェイクを阻止します。プレゼンテーション攻撃検出(PAD)モデルは、以下を検出します。
DiditのPADモデルはiBetaレベル1認証済みです。アクティブ・ライブネス($0.15)は、まれなプロフェッショナルグレードのリアルタイムディープフェイクに対して、より高い保証のためにヘッドチルトプロンプトを追加します。
ディープフェイク防御は軍拡競争です。Diditは、最新の攻撃コーパスに対して四半期ごとにPADモデルを再トレーニングしています。
はい、それは生体認証であり、繰り返し行われる再認証パターンです。認証ごとに$0.10です。
同じ/v3/session/契約ですが、workflow_idが異なります。暗号通貨取引所、バンキングアプリ、高保証のコンシューマー製品で一般的です。繰り返し認証パターンについては、/products/biometric-authenticationをご覧ください。
すべてのリカバリー試行は以下をログに記録します。
vendor_data(お客様のユーザー識別子)とDiditのsession_id。metadataで渡したtrigger(forgot_password / new_device / dormancy / sensitive_action)。ビジネスコンソールから検索可能で、ユーザーごとにエクスポートでき、5年間の保持期間を設定可能です。SOC 2 Type 1 + ISO 27001の管理体制がストレージを管理しています。