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




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

遠隔医療プラットフォームが負うもの
臨床上の安全性と薬局の不正流用防止は、信頼できる患者IDに依存しています。 Diditは、オンボーディングKYCと補充ごとの生体認証再認証を、2つの短いホスト型フローとして提供します。 オンボーディングは$0.33、補充ごとに$0.10です。毎月500回の検証が無料で、SOC 2 Type 1およびISO/IEC 27001の認証を受けており、 生体認証テンプレートのみを使用しています。
ID、ライブネス、顔照合、制裁、住所、年齢、電話、メール、カスタム質問など、必要なチェックを選択します。ダッシュボードでフローにドラッグするか、同じフローをAPIに投稿します。条件に基づいて分岐したり、A/Bテストを実行したりできます。コードは不要です。
当社のWeb、iOS、Android、React Native、またはFlutter SDKを使用してネイティブに埋め込みます。ホストされたページにリダイレクトします。または、メール、SMS、WhatsAppなど、どこでもユーザーにリンクを送信するだけです。スタックに合ったものを選んでください。
Diditは、カメラ、照明キュー、モバイルハンドオフ、アクセシビリティをホストします。ユーザーがフロー中に、200以上の不正信号をリアルタイムでスコアリングし、すべてのフィールドを信頼できるデータソースと照合して検証します。2秒以内に結果が出ます。
リアルタイム署名付きWebhookにより、ユーザーが承認、拒否、またはレビューに送られた瞬間にデータベースが同期されます。必要に応じてAPIをポーリングできます。または、コンソールを開いてすべてのセッション、すべての信号を検査し、ケースを独自の方法で管理できます。
Didit · 患者KYC
ステップ 3 / 5
ライブネスのために静止してください
Didit · 年齢推定
Didit · データベース検証
Didit · DEA / スケジュールIIポリシー
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_patient_onboarding",
"vendor_data": "patient-42"
}'$ curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-d '{
"workflow_id": "wf_biometric_reauth",
"vendor_data": "patient-42",
"metadata": { "context": "controlled_substance_refill" },
// base64 enrolment selfie, ≤ 1MB
"portrait_image": "/9j/4AAQSkZJRgABAQE..."
}'You are integrating Didit into a telehealth platform (Doctolib / Teladoc / Hims & Hers / Ro / Tessa Health archetype). You owe the clinical and pharmacy layers a trustworthy patient identity at onboarding and at every refill of a controlled prescription.
Three obligations at onboarding:
1. Verify the patient's identity — government ID + liveness + face match.
2. Confirm age — adult, adolescent, or pediatric — to route to the correct clinical pathway without surfacing date of birth on every downstream call.
3. Capture consent — HIPAA Notice of Privacy Practices acknowledgement, clinical consent (telemedicine + electronic health record + e-prescription), intake history.
One obligation at every refill or new appointment:
4. Biometric reauthentication — a 1-second selfie matched to the binding template established at onboarding. Anti-diversion control for US Drug Enforcement Administration (DEA) Schedule II-V medications.
Optional but recommended:
5. Insurance card capture + payer validation — OCR the card, look up the payer, ping eligibility if your stack supports 270/271 EDI.
Pricing (verified live):
- Onboarding Know Your Customer (KYC) bundle (ID + Liveness + Face Match + IP + AML): $0.33 per patient
- Age Estimation: $0.10 per patient
- Custom Questionnaire (HIPAA + clinical consent): $0.10 per submission
- Biometric Authentication (refill / new visit): $0.10 per auth
- First 500 KYC 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.
- A workflow_id for patient onboarding that bundles ID Verification + Passive Liveness + Face Match 1:1 + Age Estimation + Custom Questionnaire.
- A workflow_id for biometric reauthentication (selfie + liveness + 1:1 face match against the binding template).
STEP 1 — Create the patient onboarding session
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<your patient onboarding workflow id>",
"vendor_data": "<your patient id, max 256 chars>",
"callback_url": "https://<your-app>/patients/kyc/callback",
"metadata": {
"patient_id": "<your internal id>",
"scheduling_context": "new_visit"
}
}
Response: 201 Created with the hosted session URL. Send it to the patient through your booking flow; they complete identity + consent on their phone in under five minutes.
STEP 2 — Read the signed webhook on onboarding completion
Didit POSTs to your callback. Session statuses are Title Case With Spaces:
Body (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your patient id>",
"status": "Approved",
"id_verification": { "status": "Approved", "document_type": "drivers_license", "country_code": "US" },
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.94 },
"age_estimation": { "status": "Approved", "estimated_age_bucket": "ADULT" },
"questionnaire": { "status": "Approved", "responses": { "hipaa_ack": true, "telehealth_consent": true } }
}
Session 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 3 — Persist the binding biometric template
When the onboarding session is Approved, Didit stores a biometric template under the patient's vendor_data automatically. You don't need to fetch or store the raw selfie — it's discarded after the template is generated. The template lives in EU data centres and is used for every future face-match against this patient.
STEP 4 — Biometric reauthentication at refill / new appointment
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<your biometric reauth workflow id>",
"vendor_data": "<the same patient id as onboarding>",
"callback_url": "https://<your-app>/patients/reauth/callback",
"metadata": {
"context": "controlled_substance_refill",
"prescription_id": "<your rx reference>"
}
}
The reauth workflow runs Passive Liveness + Face Match 1:1 against the binding template. Sub-1-second median verdict. $0.10 per auth. Use this BEFORE every controlled-substance e-prescription fires.
STEP 5 — Decide
Branch logic on the parent session status:
Approved → onboard the patient, allow scheduling.
In Review → hold the visit, wait for analyst webhook update.
Declined → refuse onboarding, log the decline reason.
Resubmitted → patient updated something; re-read the decision.
On the reauth session:
Approved → fire the e-prescription / book the visit.
Declined → refuse the refill, require in-person identity check.
STEP 6 — Insurance card capture (optional)
Add a Database Validation node to your onboarding workflow against the US payer database (Aetna, BCBS, UnitedHealthcare, Cigna, Kaiser) or the EU national health-insurance system (ES Seguridad Social, DE GKV, FR CPAM, IT SSN). The patient uploads the card; Didit OCRs the member id, group, and payer name, then validates against the payer database. The card image is discarded after parse — only the validated payload is retained.
WEBHOOK EVENT NAMES
- status.updated — session status changed.
- data.updated — session data changed (resubmission, consent re-collection).
Verify X-Signature-V2 on every payload. The webhook secret is per-environment — sandbox key is separate from production.
CONSTRAINTS
- Session statuses use Title Case With Spaces (Approved, In Review).
- The biometric template is the binding identity — once a patient is onboarded, every future reauth references it. If you delete the patient, delete the template too via the Business Console (GDPR / HIPAA right-to-deletion compliance).
- HIPAA-protected information (PHI) and biometric templates are stored in EU data centres for EU patients; US-specific deployments can request a US tenant.
- For controlled-substance dispense, run a fresh biometric reauth on every refill — this is the anti-diversion control US DEA Schedule II / III requires under the SUPPORT Act.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/sessions-api/retrieve-session
- https://docs.didit.me/core-technology/face-match/overview
- https://docs.didit.me/core-technology/age-estimation/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、またはデータレジデンシーのためにエンタープライズをアンロック。