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


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

無人店舗が負うべきもの
無人コンビニエンスストア、自動販売機、スマート冷蔵庫、無人給油所, これらはすべて、有人店舗と同じコンプライアンスを負います。すなわち、実在するID、正確な年齢、そして監査証跡です。 Diditはこれらを1つのワークフローとして提供します。初回訪問は$0.33、再来店は$0.10、平均2秒未満の判定時間、220以上の国と地域で14,000以上のドキュメントに対応しています。
ID、生体認証、顔照合、制裁リスト、住所、年齢、電話番号、メールアドレス、カスタム質問など、必要なチェックを選択します。ダッシュボードでフローにドラッグ&ドロップするか、同じフローをAPIにPOSTします。条件分岐やA/Bテストもコード不要で実行できます。
当社のWeb、iOS、Android、React Native、またはFlutter SDKを使用してネイティブに組み込みます。ホストされたページにリダイレクトすることも可能です。または、メール、SMS、WhatsAppなど、どこからでもユーザーにリンクを送信するだけです。お客様のスタックに合った方法をお選びください。
Diditはカメラ、照明の指示、モバイル連携、アクセシビリティをホストします。ユーザーがフローを実行している間、200以上の不正信号をリアルタイムでスコアリングし、すべてのフィールドを信頼できるデータソースと照合して検証します。結果は2秒未満で得られます。
リアルタイムの署名付きWebhookにより、ユーザーが承認、拒否、またはレビューに送られた瞬間にデータベースが同期されます。必要に応じてAPIをポーリングすることも可能です。または、コンソールを開いてすべてのセッション、すべての信号を検査し、ケースを独自の方法で管理することもできます。
Didit · エントリーフロー
ステップ 3 / 4
ドアのロックを解除中…
Didit · 年齢認証
Didit · 生体認証
Didit · 試行ログ
購入者
エントリー
Didit · カテゴリーポリシー
Didit · エコシステム
$ curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-d '{
"workflow_id": "wf_store_entry_kyc",
"vendor_data": "shopper-42",
"metadata": { "store_id": "store_sf_12" }
}'ホストされたセッションURLを返します。$ curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-d '{
"workflow_id": "wf_store_entry_biometric",
"vendor_data": "shopper-42",
// base64 first-visit selfie, ≤ 1MB (omit for liveness-only)
"portrait_image": "/9j/4AAQSkZJRgABAQE..."
}'生体認証は$0.10。ドアは〜1.4秒で開きます。You are integrating Didit into an autonomous-retail surface — an unstaffed convenience store, an age-gated vending machine, a smart fridge, an autonomous fuel station, or a self-checkout that handles restricted SKUs. The recipe verifies identity + age at entry and authenticates returning shoppers via face only.
Three pillars:
1. First visit — verify the shopper's identity and age with one POST /v3/session/ ($0.33 bundle).
2. Returning visit — Biometric Authentication at $0.10 per entry. Shopper holds their face to the door camera; door unlocks.
3. Per-SKU enforcement — block restricted categories (alcohol, tobacco, vapes, energy drinks, RX) at scan or checkout based on the verified age and the store's local rules.
Cost:
- First visit KYC bundle: $0.33 per shopper (Sessions API)
- Returning visit Biometric Auth: $0.10 per entry
- First 500 verifications free every month, forever
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 and your webhook secret.
- Two workflows in the Workflow Builder:
wf_store_entry_kyc — ID Verification + Passive Liveness + Face Match 1:1 + age rules (first visit)
wf_store_entry_biometric — Biometric Auth-only (returning visit)
- A store-id + local-rule lookup so age thresholds vary per region (EU 18 vs US 21 for alcohol; state-by-state tobacco; dry counties; etc.).
STEP 1 — First visit: verify the shopper
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<wf_store_entry_kyc>",
"vendor_data": "<your shopper id, max 256 chars>",
"callback": "https://<your-app>/store/entry/callback",
"metadata": {
"purpose": "autonomous_store_entry",
"store_id": "<your store id>",
"region": "<US-CA | EU-ES | etc.>"
}
}
Response: 201 Created with the hosted session URL. Encode that URL in the QR sticker on the door (or push it to the shopper's phone via SMS / WhatsApp). Sub-2-second median verdict on completion.
STEP 2 — Read the signed webhook on entry-flow completion
Didit POSTs to your callback. Session statuses are Title Case With Spaces:
Body (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your shopper id>",
"status": "Approved",
"id_verification": {
"status": "Approved",
"date_of_birth": "1991-04-22",
"country": "US"
},
"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.
Compute the age from date_of_birth, look up the region's age thresholds (per category), and store the (shopper_id, age_band, region, kyc_status) tuple in your data layer.
STEP 3 — Open the door
When status is Approved, signal your store-OS / door-controller to unlock. Median wall-clock from QR scan to door open is around 1.4 seconds on entry-level Android, sub-2 seconds end to end.
Failure modes to handle:
Declined / In Review / Resubmitted — show a friendly UI on the kiosk and offer staff hand-off.
Expired / Abandoned — shopper walked away; do nothing, the session expires.
STEP 4 — Returning visit: Biometric Authentication
POST https://verification.didit.me/v3/session/
Body:
{
"workflow_id": "<wf_store_entry_biometric>",
"vendor_data": "<your shopper id>",
"metadata": {
"purpose": "autonomous_store_entry_return",
"store_id": "<your store id>"
}
}
The shopper just holds their face to the door camera. Cost is $0.10 per entry. Same webhook flow.
STEP 5 — Read the decision on demand
GET https://verification.didit.me/v3/session/{sessionId}/decision/
Headers:
x-api-key: <your api key>
Returns the full decision JSON. Use this from the POS / self-checkout when the shopper picks up a restricted SKU — confirm age + region match the SKU's rules before letting the basket close.
STEP 6 — Per-SKU enforcement at checkout
Inside your POS / store-OS, every restricted SKU carries a category tag (alcohol, tobacco, vape, energy-drink, sharp-tool, RX). Look up the shopper's verified age band + the store's region rules. Examples:
Alcohol US-21 / EU-18, blocked in dry counties, time-of-day windows
Tobacco / vapes US-21 (state by state) / EU-18, store-licence flag required
Energy drinks EU-16 in some regions, no restriction elsewhere
Sharp tools ≥ 18 in most regions
Prescription Pharmacy hand-off only (DEA Schedule II–V)
Tune the policy in the no-code Workflow Builder — no redeploy of your store-OS.
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). Don't transform them.
- Don't store the raw document image in your store-OS — Didit holds it, the store-OS holds the shopper PID + age band only.
- Compute the age band server-side, not in the kiosk — kiosks can be tampered with.
- Log every entry attempt (Approved + Declined) signed with X-Signature-V2 for the loss-prevention dashboard. Default retention 5 years.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/sessions-api/retrieve-session
- https://docs.didit.me/integration/webhooks
- https://docs.didit.me/console/workflows
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、取引確認)、およびリアルタイムでの取引監視をカバーします。このスタックは以下の特徴を備えています。
基盤となるフットプリントは、48以上の言語で14,000以上のドキュメントタイプ、1,000以上のデータソース、そして全セッションで200以上の不正シグナルを処理します。Diditのインフラは、すべてのセッションから動的に学習し、日々改善されています。
これは、無人店舗が、本物の適格な買い物客にドアを開放し、それ以外のすべての人を拒否するための本人確認と年齢確認です。人間の店員は介在しません。
このパターンは、小売業が無人化するあらゆる場所で活用されています。
買い物客はQRコードをスキャンするか、ドアカメラに顔を向けます。Diditが本人確認と年齢確認を行い、ドアが開きます。バスケットが開始され、購入が許可されていない商品はPOSでブロックされます。
どちらも、実在する人間と実際の年齢を証明できないからです。
アルコール、タバコ、VAPEの未成年者による購入は、すべての先進国で規制されています。米国(州ごとに厳格な責任を伴う)、EU(タバコ製品指令+各国のアルコール法)、英国(2003年免許法)、カナダ、オーストラリア、日本、シンガポールなどです。違反した場合の罰則は、店舗ごとの罰金から免許取り消しまで多岐にわたります。本物のIDと顔認証による確認が、唯一の確実な防御策となります。
通常、エンドツーエンドの全フローは30秒未満で完了します, IDを手に取り、書類を撮影し、セルフィーを撮影すれば完了です。これは市場で最速です。従来のKYCプロバイダーでは、同じフローで通常90秒以上かかります。
バックエンドでは、Diditはユーザーがセルフィーを完了した瞬間から、お客様のWebhookが発火するまでの時間をp99で2秒未満で結果を返します。モバイルキャプチャは、低速な電話やネットワーク向けに最適化されています。プログレッシブ画像圧縮、遅延SDKロード、そしてユーザーがウェブから開始した場合でもQRコードを介してデスクトップから電話へのワンタップハンドオフが可能です。
ルールをキオスクではなくサーバーサイドに置くことで対応しています。認証された生年月日は/v3/session/から返され、ルールテーブルはWorkflow Builderに存在します。
対象となる一般的なしきい値は以下の通りです。
ノーコードのWorkflow Builderで、店舗ごと、SKUごと、時間帯ごとにルールを編集できます。店舗OSの再デプロイは不要です。POSはスキャン時に最新のポリシーを読み取ります。
すべてのセッションは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つの統合パス, お客様のスタックに合うものをお選びください。
同じダッシュボード、同じ請求、3つすべてで成功ごとの同じ料金。ステップバイステップガイドはdocs.didit.me/integration/integration-promptをご覧ください。
すべての入店試行(承認、拒否、レビュー中)は、署名付きログ行を生成します。
session_id, 試行のDidit検証可能識別子shopper_pid, お客様の仮名化された買い物客IDstore_id, 店舗/ポッド/冷蔵庫の識別子timestamp, UTCでの入店時刻age_decision, 判定と一致したしきい値(例:Approved · 21+)signature, ペイロードのX-Signature-V2 HMAC SHA-256損失防止ダッシュボード、州規制当局ポータル(タバコ/アルコール監査用)、およびSIEM(セキュリティ情報イベント管理)にパイプライン接続できます。デフォルトの保持期間は、関係終了後5年間ですが、地域の監査規則に従って延長可能です。米国のABC(Alcoholic Beverage Control)委員会検査およびEUの同等の国内機関に対応しています。
ドアに2つ、レジに1つです。
Diditブランドのハードウェアは不要です。独自のキオスクも不要です。既存のカメラと端末でレシピを実行できます。
4つの接続ポイントがあります。
POST /v3/session/から返すホストされたセッションURLをエンコードします。X-Signature-V2、HMAC SHA-256)を受信します。status: Approvedの場合、ドアコントローラーにロック解除コマンドを送信します。GET /v3/session/'{'sessionId'}'/decision/を呼び出し、年齢と地域を確認します。Didit MCP (Model Context Protocol) サーバーは無料で含まれています。上記の統合プロンプトをClaude Code、Cursor、Codex、Replit Agent、Devin、またはAiderに貼り付けると、エージェントがライブの/v3/ APIに対して全体をスキャフォールドします。