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


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

メールや電話では防げない不正を検知
メールエイリアスや使い捨てSIMは安価に入手できますが、人間の顔はシビルアタッカーが変更できない唯一の識別子です。以前の自撮り画像ギャラリーに対してFace Search 1:Nを実行することで、同一人物が隠れることは不可能になります。検索ごとの費用は無料で、毎月500件の認証が無料です。
本人確認、ライブネス、顔照合、制裁リスト、住所、年齢、電話番号、メールアドレス、カスタム質問など、必要なチェック項目を選択します。ダッシュボードでフローにドラッグ&ドロップするか、同じフローをAPIにPOSTします。条件分岐やA/Bテストもコード不要で実行できます。
Web、iOS、Android、React Native、Flutter SDKでネイティブに組み込むか、ホストされたページにリダイレクトします。または、メール、SMS、WhatsAppなど、どこからでもユーザーにリンクを送信するだけです。お使いのスタックに最適な方法を選択してください。
Diditは、カメラ、照明の指示、モバイル連携、アクセシビリティをホストします。ユーザーがフローを実行している間、200以上の不正信号をリアルタイムでスコアリングし、すべてのフィールドを信頼できるデータソースと照合して検証します。結果は2秒以内に返されます。
リアルタイムの署名付きWebhookにより、ユーザーが承認、拒否、またはレビューに送られた瞬間にデータベースが同期されます。必要に応じてAPIをポーリングすることも可能です。または、コンソールを開いてすべてのセッション、すべての信号を検査し、ケースを自由に管理できます。
Didit · Sybilパターン
Didit · 顔検索 1:N
サインアップ · 2 / 2
ギャラリーを検索中
Didit · 顔検索判定
Didit · クロスアカウントリンク
Didit · 再利用可能なKYC
初回KYC
アンカー
Didit · Webhook · X-Signature-V2
{
"session_id": "new-abc",
"vendor_data": "signup-A4",
"status": "Declined",
"face_search": {
"matches": [
{ "session_id": "sess-9182",
"similarity": 0.96 }
]
}
}$ 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_sybil_gate",
"vendor_data": "signup-A4",
"metadata": { "surface": "airdrop_claim" }
}'{ "session_url": "verify.didit.me/..." }// X-Signature-V2 verified upstream
if (payload.status === "Declined") {
logCluster(payload.face_search.matches);
blockSignup(payload.vendor_data);
} else if (payload.status === 「審査中」) {
queueForAnalyst(payload);
}ステータス:承認済み・却下済み・審査中・未完了You are integrating Didit Face Search 1:N to catch the same human opening many accounts on your platform — sybil airdrops, referral payout cycles, sign-up bonus stacking, iGaming multi-accounting that bypasses self-exclusion, marketplace fake-review clusters. One API call. One signed webhook. One decision.
WHY THIS SHAPE
- Email, phone, device, IP can all be rotated cheaply. A human face cannot.
- Every new sign-up captures one Passive Liveness selfie. Didit searches that selfie against the gallery of prior approved selfies under your account. A high-similarity match means the same person already has an account.
- Face Search 1:N itself is FREE on every session — no per-search fee. Only the surrounding bundle (ID + Passive Liveness + AML) carries the usual cost. Use the full Know Your Customer (KYC) bundle on sign-up or the Passive Liveness + Face Search subset, depending on what the product needs.
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 that contains the Face Search 1:N module. Compose it with Passive Liveness so an attacker cannot upload a still photo of the target.
- Define what a "match" means for your product. Default: similarity ≥ 0.85 = Declined. 0.75–0.85 = In Review. < 0.75 = Approved.
STEP 1 — Open the sign-up 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 Face Search 1:N + Passive Liveness>",
"vendor_data": "<your new-account id, max 256 chars>",
"callback": "https://<your-app>/sybil-gate/callback",
"metadata": {
"surface": "airdrop_claim",
"campaign": "<your campaign id>"
}
}
Response: 201 Created with a hosted session URL. Redirect inline (web) or open in a Software Development Kit (SDK) webview (mobile). The new account stays UNCREATED on your side until the signed webhook lands.
STEP 2 — 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, match case):
{
"session_id": "<uuid>",
"vendor_data": "<your new-account id>",
"status": "Declined",
"face_search": {
"matches": [
{ "session_id": "sess-9182", "similarity": 0.96, "vendor_data": "user-A1" },
{ "session_id": "sess-7733", "similarity": 0.94, "vendor_data": "user-A2" }
]
}
}
Session status enum (exact case, Title Case With Spaces): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
STEP 3 — Branch the sign-up
Approved → no gallery match. Create the account.
In Review → soft match (similarity in your grey-zone band). Queue for human review.
Declined → hard match (similarity above your hard threshold). Block, log the matched session_id list as the audit trail.
STEP 4 — Cross-account link signals (optional but cheap)
Compose Device & IP Analysis ($0.03 / call) in the same workflow. The decision payload surfaces device fingerprint, IP, Autonomous System Number (ASN), country, and city. Combine with your own payment-instrument hash and you can cluster sybils even before the face search confirms.
STEP 5 — Reusable KYC for legitimate cross-product re-entry
If the user is supposed to reuse one identity across multiple products you own, Reusable KYC lets them replay a previously verified credential at no cost. That is different from sybil abuse — reuse is intentional and you control the issuance.
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
- Sybil airdrop / token claims (one person · many wallets)
- Self-referral payout cycles (sign-up bonus farms)
- iGaming multi-accounting that bypasses self-exclusion
- Marketplace fake-review clusters from a single human
- DAO and community-vote stuffing
- Welcome-bonus stacking on neobank / brokerage sign-ups
CONSTRAINTS
- Session statuses use Title Case With Spaces. Never UPPER_SNAKE_CASE for session verdicts — that's the Transactions API.
- Face Search 1:N WITHOUT Passive Liveness lets an attacker upload a still photo of the target. Always compose them together.
- Thresholds are tunable per workflow. Start at 0.85 hard / 0.75 soft and adjust based on your false-positive tolerance.
- The gallery is scoped to your account — no cross-customer leakage by design.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/core-technology/face-search/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は、本人確認と不正対策のためのインフラです。私たちが自社製品を開発していた時に「こんなプラットフォームがあれば」と願ったものを形にしました。オープンで柔軟、そして開発者に優しいため、単なるブラックボックスとしてではなく、お客様のスタックの真の構成要素として機能します。
単一のAPIで、個人の本人確認(KYC、顧客確認)、企業の本人確認(KYB、企業確認)、仮想通貨ウォレットのスクリーニング(KYT、取引確認)、およびリアルタイムでの取引監視をカバーします。このスタックは、以下の特長を備えています。
その基盤となるのは、14,000以上のドキュメントタイプ、48以上の言語、1,000以上のデータソース、そして全セッションにおける200以上の不正シグナルです。Diditのインフラは、すべてのセッションから動的に学習し、日々進化しています。
シビル攻撃とは、一人の人間が多数のアカウントを作成し、あたかも複数の人間であるかのように装う行為です。この名称は、解離性同一性障害の患者に関する1973年のケーススタディに由来します。製品の文脈では、一人の人物がエアドロップを10回請求したり、サインアップボーナスを10個獲得したり、リーダーボードを10個の「異なる」勝利で埋め尽くしたりする形で現れます。
この攻撃が成立するのは、メール、電話、デバイス、IP(Internet Protocol)アドレスといった他のあらゆる識別子が、わずかな費用で変更可能だからです。安価に偽装できない唯一の識別子は、攻撃者自身の顔です。
2026年のシビルファーマーは、以下を安価に購入できます。
シビル攻撃によるエアドロップやボーナスが1回でもキットの費用を上回れば、このオペレーション全体が採算に乗ります。Face Search 1:Nは、ファーマーが安価に複製できない唯一のもの、つまり「顔」をユニークなキーに変えます。
通常、全フローはエンドツーエンドで30秒未満で完了します, 身分証明書を手に取り、書類を撮影し、セルフィーを撮影すれば完了です。これは市場最速です。従来のKYCプロバイダーでは、同じフローに90秒以上かかることが一般的です。
バックエンドでは、Diditはユーザーがセルフィーを完了した瞬間から、お客様のWebhookが発火するまでの時間を計測し、p99で2秒未満で結果を返します。モバイルでのキャプチャは、低速なスマートフォンやネットワーク向けに最適化されており、プログレッシブ画像圧縮、遅延SDKロード、そしてユーザーがWebから開始した場合でもQRコードを介してデスクトップからスマートフォンへのワンタップ連携が可能です。
質問も計算も異なります。
1:1のチェックは1マッチあたり0.05ドルです。Face Search 1:Nは検索あたり無料で、周辺のバンドル(ID Verification、Passive Liveness)のみに費用が発生します。
すべてのセッションは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で保護されます。生体認証データは、個別のCustomer Master Keyで暗号化されます。
保持期間はお客様が管理できます。デフォルトの保持期間は無期限(無制限)ですが、アプリケーションごとに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をご覧ください。
Face Search 1:Nは、マッチごとに0から1の類似度スコアを返します。ワークフローごとに2つのしきい値を設定します。
Declined。サインアップを自動ブロックします。In Review。アナリストのキューに入れます。Approved。重複は見つかりませんでした。まずはデフォルト値から始めてください。誤検知(本物の双子、非常に強い家族の類似性)が多すぎる場合は、ハードしきい値を上げてください。重複が見逃される場合は、下げてください。ワークフロービルダーで調整でき、再デプロイは不要です。
新規サインアップごとに2つの項目が発生します。
保護されたサインアップ1件あたり約0.10ドルです。クラスタリングのためのデバイス+IPリンクシグナルが必要な場合は、Device & IP Analysisを0.03ドルで追加できます。すべてのアカウントで、毎月最初の500件の本人確認は無料です。
最低利用料金、年間契約、シートごとの料金は一切ありません。
アカウントの多重化に経済的価値があるあらゆる場所で利用されています。
一つの連携で、あらゆる場面に対応します。