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


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

ほとんどのチェックアウトで摩擦が不要な理由
注文の90%は、信頼できるデバイスを使用する日常的な購入者によるもので、スムーズに 処理されるべきです。リスクが急増する10%のケースでは、スクリーンが適用されます。安価なケースでは$0.03のIP+デバイスチェック、高額なケースでは$0.10の生体認証ステップアップ。毎月500件の認証が無料です。
ID、生体認証、顔照合、制裁リスト、住所、年齢、電話番号、メールアドレス、カスタム質問など、必要なチェックを選択します。ダッシュボードでフローにドラッグ&ドロップするか、同じフローをAPIにポストします。条件分岐やA/Bテストもコード不要で実行できます。
Web、iOS、Android、React Native、Flutter SDKでネイティブに組み込むか、ホストされたページにリダイレクトします。または、メール、SMS、WhatsAppなど、どこからでもユーザーにリンクを送信するだけです。お使いのスタックに合った方法をお選びください。
Diditは、カメラ、照明の指示、モバイル連携、アクセシビリティをホストします。ユーザーがフローを実行中に、200以上の不正信号をリアルタイムでスコアリングし、すべてのフィールドを信頼できるデータソースと照合して検証します。2秒以内に結果が出ます。
リアルタイムの署名付きWebhookにより、ユーザーが承認、拒否、またはレビューに送られた瞬間にデータベースが同期されます。必要に応じてAPIをポーリングすることも可能です。または、コンソールを開いてすべてのセッション、すべての信号を検査し、ケースを独自の方法で管理できます。
Didit · リスクトリガーポリシー
Didit · デバイス&IP分析
Didit · 生体認証
確認 · 1/1
チェックのため静止してください
Didit · チャージバック証拠
注文-A4421 · 証拠パック
Didit · 再利用可能なKYC
初回パス
チェックアウト
Didit · Webhook · X-Signature-V2
{
"session_id": "order-A4421",
"vendor_data": "order-A4421",
"status": "Approved",
"ip_analysis": { "score": 11 },
"liveness": { "status": "Approved" }
}$ 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_buyer_screen",
"vendor_data": "order-A4421",
"metadata": { "cart_total_cents": 78500 }
}'{ "session_url": "verify.didit.me/..." }// X-Signature-V2 verified upstream
if (payload.status === "Approved") {
shipOrder(payload.vendor_data);
} else if (payload.status === "Declined") {
cancelAndRefund(payload.vendor_data);
}{ ステータス: 承認済み・拒否・審査中・未完了 }You are integrating a Didit buyer-side fraud screen on a marketplace / e-commerce checkout. Goal: catch stolen-card use, account takeover, gift-card stack abuse, geo-mismatch friendly fraud, and bot scalping on high-value carts. Two stages — cheap signals first, biometric step-up only when signals aren't enough.
WHY THIS SHAPE
- Most checkouts don't need any friction. Day-to-day buyers on trusted devices from residential networks should sail through.
- A small percentage are high-value or high-risk — cart over a threshold, gift-card stack, payout to a new card, geo mismatch, new device, velocity anomaly. On those, run a screen.
- Two stages keep the cost and the friction proportional to the risk. Cheap IP + device check ($0.03) is decisive on the obvious cases. Biometric step-up ($0.10) only fires when the cheap signals are inconclusive AND the order is high-value.
- 500 verifications free every month. The screen runs inside the free tier for most teams while they tune the thresholds.
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60 seconds, no credit card).
- A webhook endpoint with HMAC SHA-256 verification of the X-Signature-V2 header using your webhook secret.
- A Workflow Builder workflow with Device & IP Analysis and optionally Passive Liveness + Face Match 1:1 against the stored buyer portrait.
- A server-side cart-gate that defaults to BLOCK on the high-risk path and only unblocks on a verified webhook with status: Approved.
STEP 1 — Decide WHEN to screen (your code, not Didit's)
Run your usual checkout signals. Default triggers worth a screen:
- Cart total above your account-level tier (e.g. > $500)
- Gift-card stack of three or more cards in one order
- Shipping country that doesn't match the billing-card country
- First buy from a new device
- Velocity anomaly — N orders within window W from the same buyer
- Payout / refund destination changed mid-flow
Day-to-day reads from trusted-device + residential-network buyers do NOT need a screen.
STEP 2 — Open the screen 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 Device & IP Analysis + optional Passive Liveness + Face Match 1:1>",
"vendor_data": "<your order id, max 256 chars>",
"callback": "https://<your-app>/checkout/screen/callback",
"metadata": {
"cart_total_cents": 78500,
"currency": "EUR",
"trigger": "high_value_cart"
}
}
Response: 201 Created with a hosted session URL. Show inline at checkout (web), or open in a Software Development Kit (SDK) webview (mobile). The order stays in HOLD on your side until the signed webhook lands.
STEP 3 — Read the signed webhook
Didit POSTs the verdict. Verify X-Signature-V2 (HMAC SHA-256 of the raw body) BEFORE reading the JSON.
Payload (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your order id>",
"status": "Approved",
"ip_analysis": { "status": "Approved", "score": 11 },
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.93 }
}
Session status enum (exact case, Title Case With Spaces): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
STEP 4 — Branch the cart action
Approved → ship the order, capture the auth, send the confirmation.
In Review → hold the order. Route to manual review with the per-module signals as the case file.
Declined → cancel the order, refund the auth, log warnings (liveness / face-match / ip flags), throttle the source IP.
Not Finished → invite the buyer to retry the screen with a fresh session URL. Don't ship.
STEP 5 — (Optional) Reusable Know Your Customer (KYC) for returning trusted buyers
Once a buyer has passed identity once on the platform, the credential can replay on future checkouts at no cost via Reusable KYC. Look up the buyer's prior session_id; if the credential is valid and recent, skip the live screen.
That keeps the friction on the unknown traffic only. Free forever.
STEP 6 — Use the decision payload as the chargeback evidence pack
When a dispute lands, pull the full decision payload via:
GET https://verification.didit.me/v3/session/{session_id}/decision/
Headers:
x-api-key: <your api key>
Pairs naturally with:
- 3-D Secure 2.x (3DS2) liability shift on EU cards
- Visa Compelling Evidence 3.0 (CE3.0) — biometric + IP + device fingerprint + prior-order history meets the "trusted customer" bar
- Mastercard Identity Check chargeback dispute kit
WEBHOOK EVENT NAMES
- Sessions: standard session webhook. One endpoint, status field tells you the lifecycle.
- Verify X-Signature-V2 (HMAC SHA-256) on every payload.
WHAT IT BLOCKS
- Stolen-card use on first-time-buy + geo mismatch
- Account takeover on a previously-verified buyer (the step-up is the second-factor)
- Friendly fraud where the cardholder disputes a charge they actually authorised
- Bot scalpers running multi-item carts from datacenter Internet Protocol (IP) addresses
- Gift-card stack drains funded by a stolen card
- Reshipper / mule patterns (ship-to address inconsistent with prior orders)
CONSTRAINTS
- Session statuses use Title Case With Spaces. Never UPPER_SNAKE_CASE — that's the Transactions API.
- Start with IP-only on the cheap cases. Add the biometric step-up only on high-value carts or when IP alone is inconclusive — keeps cost down and friction proportional.
- 200+ fraud signals are evaluated on every session at no extra cost — read them off the decision payload, don't re-query.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/core-technology/ip-analysis/overview
- https://docs.didit.me/core-technology/biometric-auth/overview
- https://docs.didit.me/core-technology/reusable-kyc/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は、本人確認と不正対策のためのインフラです。私たちが自社でプロダクトを開発していた時に「こんなプラットフォームがあれば」と願ったものを形にしました。オープンで柔軟、そして開発者に優しい設計なので、ブラックボックスのように統合するのではなく、お客様のスタックの真の構成要素として機能します。
単一のAPIで、個人の確認(KYC、顧客確認)、企業の確認(KYB、企業確認)、暗号資産ウォレットのスクリーニング(KYT、取引確認)、リアルタイムのトランザクション監視をカバーします。このスタックは、以下の特長を備えています。
基盤となるフットプリントは、14,000種類以上のドキュメントタイプ、48以上の言語、1,000以上のデータソース、そして全セッションで200以上の不正シグナルをカバーします。Diditのインフラは、すべてのセッションから動的に学習し、日々進化しています。
支払いを行う人物がその決済手段を使用する権利を持たない、または後でチャージバックを誘発するように取引が構成されているパターン全般を指します。
一般的な例:
摩擦にはコストがかかります。チェックアウトのステップが増えるごとに、コンバージョン率は目に見えて低下します。ほとんどの購入者(既知のデバイス、居住用ネットワーク、通常のカート合計)は、スクリーニングなしでスムーズに進むべきです。
2段階にすることで、摩擦をリスクに比例させます。
$0.03), デバイス&IP分析は安価でサイレントに実行されます。明らかなケース(VPN + データセンターのインターネットプロトコル (IP) + ヘッドレスブラウザ = 即ブロック、信頼できるデバイス + 居住用ISP = 即パス)で決定的な判断を下します。$0.10), パッシブ・ライブネスのステップアップは、ステージ1で判断がつきにくい、かつカート合計が実施する価値のあるしきい値を超えている、ごく一部のケースでのみ発動します。結果として、ほとんどのチェックアウトでは摩擦がゼロになり、高リスクのケースでは決定的なチェックが行われます。
フルフローは通常、エンドツーエンドで30秒未満で完了します, 身分証明書を手に取り、書類を撮影し、セルフィーを撮影すれば完了です。これは市場最速です。従来のKYCプロバイダーでは、同じフローで90秒以上かかることが一般的です。
バックエンドでは、Diditはユーザーがセルフィーを完了した瞬間からお客様のWebhookが発火するまでの時間を測定し、p99で2秒未満で結果を返します。モバイルでのキャプチャは、低速なスマートフォンやネットワーク向けに最適化されています。プログレッシブ画像圧縮、遅延ソフトウェア開発キットのロード、そしてユーザーがウェブから開始した場合のQRコードによるデスクトップからスマートフォンへのワンタップハンドオフなどです。
ステージ1で判断がつかず、かつ注文が高額で摩擦を正当化できる場合にのみ発動します。例:
ステップアップは\$0.10のパッシブ・ライブネスで、オプションとして追加\$0.05で保存された購入者の顔写真との顔照合1:1も可能です。エントリーレベルのAndroidでも2秒未満で判定が出ます。
すべてのセッションは7つの明確なステータスのいずれかに分類されるため、お客様のコードは常に何をすべきかを知ることができます。
Approved, すべてのチェックに合格しました。ユーザーを次に進めてください。Declined, 1つ以上のチェックに失敗しました。ユーザーに特定の失敗したステップ(例:セルフィーの再撮影)を再提出させることができ、フロー全体を再実行する必要はありません。In Review, コンプライアンスレビューのためにフラグが立てられました。コンソールでケースを開き、すべてのシグナルを確認し、承認または拒否を決定してください。In Progress, ユーザーはフローの途中にいます。Not Started, リンクは送信されましたが、ユーザーはまだ開いていません。長時間放置されている場合はリマインダーを送信してください。Abandoned, ユーザーはリンクを開きましたが、時間内に完了しませんでした。再エンゲージするか、期限切れにしてください。Expired, セッションリンクの有効期限が切れました。新しいセッションを作成してください。すべてのステータス変更時に署名付きWebhookが発火するため、お客様のデータベースは常に同期されます。放棄されたセッションと拒否されたセッションは無料です。
本番データは、デフォルトで欧州連合内のAmazon Web Servicesで処理・保存されます。規制当局が別の地域を要求する管轄区域の場合、エンタープライズ契約で代替地域をリクエストできます。
あらゆる場所で暗号化。すべてのデータベース、オブジェクトストレージ、バックアップにおいて、保存データはAES-256で暗号化されます。すべてのAPIコール、Webhook、ビジネスコンソールセッションにおいて、転送データはTransport Layer Security 1.3で暗号化されます。生体認証データは、個別のカスタマーマスターキーで暗号化されます。
保持期間はお客様が管理できます。デフォルトの保持期間は無期限(無制限)ですが、アプリケーションごとに30日から10年の間で短縮設定することも可能です。また、ダッシュボードまたはAPIからいつでも個々のセッションを削除できます。
認証:SOC 2 Type 1(Type 2監査進行中)、ISO/IEC 27001:2022、iBeta Level 1 PAD、およびスペインのTesoro / SEPBLAC / CNMVによる、Diditのリモート本人確認が対面確認よりも安全であるという公式認定。詳細レポートは/security-complianceをご覧ください。
Diditは、本人確認インフラにとって重要な規制にデフォルトで準拠しています。
詳細なメモ、すべての証明書、すべての規制当局からの書簡は/security-complianceをご覧ください。
3つの統合パスがあります, お客様のスタックに合うものをお選びください。
どのパスを選んでも、同じダッシュボード、同じ請求、成功ごとの同じ料金です。ステップバイステップガイドはdocs.didit.me/integration/integration-promptをご覧ください。
はい。同じPOST /v3/session/が両方を動かします。ウェブでは、返されたsession_urlをチェックアウト時にインラインでレンダリングします。モバイルでは、Diditのソフトウェア開発キット (SDK)ウェブビューで開きます, Web、iOS、Android、React Native、Flutterの5つのSDKが提供されており、すべて無料です。
判定結果は、プラットフォームに関わらず同じ署名付きWebhookを通じて通知されます。1つの統合で、すべてのプラットフォームに対応します。
最悪の場合でも、2つの項目です。
両方のステージが必要な、保護されたチェックアウトの中央値は約\$0.13です。ほとんどのチェックアウトはステージ1のみで\$0.03です。再利用可能なKYCを介した信頼できるリピーターは永年無料です。
すべてのアカウントで、毎月最初の500回の本人確認は無料です。
盗難カードによる購入が大きな損害となる、あらゆる高額取引で利用されています。
1つのワークフローで、あらゆるカートの形状に対応します。