メインコンテンツへスキップ
Diditが750万ドルを調達、本人確認と不正対策のインフラを構築
Didit
Face Search 1:N

あらゆるを検索。
全ユーザーを対象に。

認証済みユーザー全体から顔を検索。重複アカウント、ブラックリスト登録された顔、不正グループを2秒未満で検出します。すべてのプランで永続的に無料です。

支援元
Y CombinatorRobinhood Ventures
Firecrawl
Slash
Crnogorski Telekom
UCSF Neuroscape
Bit2Me
Shiply

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

Didit Face Search 1:N, 候補グリッドに対してスキャンされたソースポートレート。

重複検出

数百万のテンプレートを
数秒で検索。

ユーザーベース全体で繰り返される不正行為者を捕捉します。KYCバンドルの一部として無料で提供。 生体認証テンプレートのベクターインデックス、数百万件に対する2秒未満でのマッチング。

仕組み

登録から本人確認完了まで、わずか4ステップ。

  1. ステップ 01

    ワークフローを作成

    本人確認、生体認証、顔照合、制裁リスト、住所、年齢、電話番号、メールアドレス、カスタム質問など、必要なチェック項目を選択します。ダッシュボードでフローにドラッグ&ドロップするか、API経由で同じフローを投稿します。条件分岐やA/Bテストもコード不要で設定可能です。

  2. ステップ 02

    連携

    Web、iOS、Android、React Native、Flutter SDKでネイティブに組み込むか、ホストされたページにリダイレクトします。または、メール、SMS、WhatsAppなど、どこからでもユーザーにリンクを送信するだけです。お使いのスタックに合った方法をお選びください。

  3. ステップ 03

    ユーザーがフローを完了

    Diditがカメラ、照明の指示、モバイル連携、アクセシビリティをホストします。ユーザーがフローを実行中に、200以上の不正信号をリアルタイムでスコアリングし、すべてのフィールドを信頼できるデータソースと照合して検証します。結果は2秒以内に返されます。

  4. ステップ 04

    結果を受け取る

    リアルタイムの署名付きWebhookにより、ユーザーが承認、拒否、またはレビューに送られた瞬間にデータベースが同期されます。必要に応じてAPIをポーリングすることも可能です。または、コンソールを開いてすべてのセッション、すべての信号を検査し、ケースを自由に管理できます。

開発者のために構築 · 不正対策のために構築 · オープンな設計

6つの機能。1つの機能フラグ。FACE_SEARCH

以下のすべての機能は、同じモジュール内のトグルで切り替え可能です。アップセルティア、個別のSKU、追加の呼び出しは不要です。ワークフローごとにオンにするか、スタンドアロンエンドポイントを呼び出す際にインラインで渡すことができます。
01 · すべての生体認証に組み込み

すべての認証で自動1:N。設定不要。

Face Searchは、ユーザーが生体認証チェックを完了するたびに自動的に実行されます。ユーザーの顔は、以前に認証されたすべてのユーザーと比較され、重複は警告として表示され、ブロックリストに登録された顔は自動的に拒否されます。追加のエンドポイント、個別の請求、統合のためのコードパスは不要です。
02 · ウォッチリスト&ブロックリスト

既知の不正利用者を再試行時にブロック。

一度顔をブロックリストに登録すると、すべてのアプリケーションでの今後の認証がそれと照合されます。一致した場合、セッションは自動的に拒否されます。Diditはワークフロー設定に関わらずこれを強制します。APIまたはコンソールから直接ブロックリストのエントリを追加および削除できます。
03 · 2秒未満で大規模対応

100万顔。p99が2秒未満。

ベクトルインデックスとエッジで提供される推論。100万顔のインデックスでp99が2秒未満という実績があります。エンタープライズ版では、同じアーキテクチャで専用のコンピューティングにより、より大規模なインデックスも利用可能です。SDKのバンドルやモデルのダウンロードは不要です。
04 · 調整可能な閾値

登録時は厳格に。レビュー時は柔軟に。

アプリケーションごとの類似度閾値(デフォルト70)。3つの明確なバンド, 90以上は強い一致、70〜89は可能性のある一致、70未満は別人, ワークフローごとに拒否/レビュー/承認を設定できます。パイプラインで複数の人物が正当に検出される可能性がある場合は、複数顔キャプチャを有効にしてください。
05 · 永年無料

呼び出しごとの料金はゼロ。すべてのプランで。

Face Searchは、すべてのDiditプランで無制限に利用でき、すべての生体認証チェックに自動的にバンドルされ、スタンドアロンエンドポイントも無料です。コミットメント、最低料金、エンタープライズのペイウォールは一切ありません。調達サイクルを立ち上げることなく、全ユーザーに対して1:N防御を実行できます。
06 · プライバシー・バイ・デザイン

ハッシュ化されたテンプレート。署名付きURLの有効期限。デフォルトでEU。

生体認証インデックスには、生の写真ではなくハッシュ化された顔テンプレートが保存されます。データは保存時に暗号化されます。デフォルトでEUに居住し、エンタープライズ版では特定の地域または国内に配置可能です。一致した画像URLは署名され、60分後に期限切れとなるため、リンクが漏洩してもすぐに無効になります。GDPRおよびEU AI Actに準拠しています。
連携

2つのエンドポイント。同じJSON。どちらも無料。

すべての生体認証チェック内でFace Searchを自動実行したい場合はセッションを作成するか、オンデマンドで参照顔を検索するためにスタンドアロンエンドポイントを呼び出します。どちらも同じ`face_search`レポートを返し、どちらも無料です。
POST /v3/session/自動
$ 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_liveness_dedupe",
    "vendor_data": "user-42"
  }'
201作成済み{ "session_url": "verify.didit.me/..." }
Face Search 1:Nは、すべてのLIVENESSチェック内で自動的に実行されます。ドキュメント →
POST /v3/face-search/サーバー間
$ curl -X POST https://verification.didit.me/v3/face-search/ \
  -H "x-api-key: $DIDIT_API_KEY" \
  -F "image=@reference.jpg" \
  -F "similarity_threshold=80"
200OK{ "total_matches": 3, "status": "承認済み" }
スタンドアロン、オンデマンド、無制限, すべての呼び出しが無料です。ドキュメント →
エージェント対応統合

Face Search 1:N をプロンプト一つでデプロイ。

以下のブロックをClaude Code、Cursor、Codex、Devin、Aider、またはReplit Agentに貼り付けてください。my_stackプレースホルダーをあなたのフレームワーク、言語、ユースケースで埋めます。エージェントがDiditをプロビジョニングし、Face Searchを有効にしたワークフローを構築し、Webhookを接続してデプロイします。
didit-integration-prompt.md
# Didit Face Search 1:N — integrate in 5 minutes

You are integrating Didit's Face Search 1:N (one-to-many biometric search)
module into my_stack. Follow these steps exactly. Every URL, header, and
enum value below is canonical — do not paraphrase or "improve" them.

Face Search 1:N searches a reference face against your entire database of
previously verified users to detect duplicate accounts, blocklisted faces,
and fraud rings. Free forever on every plan — no per-call fee, no minimum.

## 1. Provision an account
- Sign up: https://business.didit.me (no credit card required).
- Or provision programmatically: POST https://apx.didit.me/auth/v2/programmatic/register/
  (returns an API key bound to the workspace + application).

## 2. Two integration paths — pick one

### Path A — Workflow Builder (automatic, inside every liveness check)
Best when you want Face Search to run automatically every time a user
verifies. Face Search 1:N is automatically performed during liveness
checks in verification sessions to detect duplicate users and check
against blocklisted faces. No extra wiring needed.

1. Create a workflow that contains the LIVENESS feature:
   POST https://verification.didit.me/v3/workflows/
   Authorization header:  x-api-key: your-api-key
   Body: workflow_label, features array with the single entry
         the JSON object containing feature equal to "LIVENESS"
         (UPPERCASE — strict enum). Face Search runs automatically.

2. Create a verification session for an end user:
   POST https://verification.didit.me/v3/session/
   Body: workflow_id (from step 1), vendor_data (your own user id).
   Response: session_url — redirect the user to it.

3. Listen for the session webhook (see "Webhooks" below). The face_search
   block is included in the session report under decision.face_search.

### Path B — Standalone server-to-server API
Best when you want to search a face on demand — fraud investigation,
manual review tooling, watchlist scan, identity re-auth.

POST https://verification.didit.me/v3/face-search/
Content-Type: multipart/form-data
Body fields:
  - image                  (required, file — single reference face)
  - vendor_data            (optional string, your search id)
  - similarity_threshold   (optional int 0-100, default 70)
  - allow_multiple_faces   (optional bool, default false)

Response: JSON report with matches array, similarity percentages,
blocklist flags, and the standard warnings array.

## 3. Webhooks (Path A only — Path B returns synchronously)
- Register a webhook destination once via
  POST https://verification.didit.me/v3/webhook/destinations/
  Body: url, subscribed_events: ["session.verified", "session.review_started",
                                  "session.declined"]
- Response includes secret_shared_key — store it.
- Every webhook delivery carries an X-Signature-V2 header you MUST verify
  before trusting the payload.  HMAC-SHA256 verification MUST run against the raw body bytes (the raw payload as Didit sent it) BEFORE any JSON parsing — re-serialising the parsed body changes whitespace and key order, which invalidates the signature.Algorithm:
    1. sortKeys(payload) recursively
    2. shortenFloats (truncate trailing zeros after the decimal point)
    3. JSON.stringify the result
    4. HMAC-SHA256 with the secret_shared_key
    5. Hex-encode, compare to the X-Signature-V2 header.

## 4. Reading the report (both paths return the same shape)
The face_search object includes:
- status: "Approved" | "Declined" | "In Review"
- total_matches: integer (0 when no match crossed the threshold)
- matches: array of match objects, each with:
    - session_id              UUID of the matching session
    - session_number          integer
    - similarity_percentage   number 0-100
    - vendor_data             your reference data from the original verification
    - verification_date       ISO 8601 timestamp
    - user_details            name, document_type, document_number (masked)
    - match_image_url         signed URL, expires in 60 minutes
    - status                  "Approved" | "Declined" | "In Review"
    - is_blocklisted          boolean
- user_image:
    - entities array (bbox, confidence, age, gender per detected face)
    - best_angle (0 | 90 | 180 | 270) if rotate_image enabled
- warnings: Array of risk, log_type, short_description, long_description

Similarity bands documented:
  90+        Strong match — very likely the same person
  70 – 89    Possible match — may require manual review
  Below 70   Likely different individuals

Auto-decline risks (always enforced by Didit, not configurable):
- NO_FACE_DETECTED       no face in the reference image
- FACE_IN_BLOCKLIST      the reference face matches your face blocklist

Configurable warning:
- MULTIPLE_FACES_DETECTED   tune allow_multiple_faces per application

## 5. Hard rules — do not change
- Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
- Feature enum is UPPERCASE: FACE_SEARCH, LIVENESS, ID_VERIFICATION, FACE_MATCH.
- Auth header is x-api-key (lowercase, hyphenated).
- Webhook signature header is X-Signature-V2 (NOT X-Signature).
- Always verify webhook signatures before trusting payload data.
- Status casing matches exactly: "Approved", "Declined", "In Review"
  (title-cased, space-separated).
- match_image_url is signed and expires after 60 minutes — do not cache it,
  re-fetch from the session if you need it again.

## 6. Pricing reference (public)
- Face Search 1:N is FREE FOREVER on every Didit plan.
- No per-call fee for the standalone POST /v3/face-search/ endpoint.
- No surcharge when bundled inside a LIVENESS workflow.
- 500 free Didit verifications every month on top of that.
- Templates only — your biometric index stores hashed embeddings, never raw
  photos. Encrypted at rest in EU-region AWS.

## 7. Verify your integration
- Sandbox starts on signup at https://business.didit.me — no separate flag.
- Test images: deterministic synthetic faces returned in sandbox (Approved
  by default; trigger Declined by sending a known-blocklisted test face).
- Switch to live: flip the application's environment toggle in console.

When in doubt: https://docs.didit.me/core-technology/face-search/overview
さらに詳しい情報が必要ですか?モジュールの全ドキュメントをご覧ください。docs.didit.me →
設計段階からのコンプライアンス

ワンクリックで新しい国に進出。 面倒な作業は私たちにお任せください。

私たちは現地法人を設立し、ライセンスを取得し、ペネトレーションテストを実施し、認証を取得し、新しい規制すべてに準拠します。新しい国で認証を提供するには、トグルを切り替えるだけです。220以上の国で稼働しており、四半期ごとに監査とペネトレーションテストを実施しています。EU加盟国の政府が対面認証よりも安全だと正式に認めた唯一のIDプロバイダーです。
セキュリティ&コンプライアンス資料を読む
EU金融サンドボックス
Tesoro · SEPBLAC · BdE
Jugendschutz geprüft
FSM · JMStV §4(2) · 2026
ISO/IEC 27001
情報セキュリティ · 2026
SOC 2 · Type I
AICPA · 2026
iBeta Level 1 PAD
NIST / NIAP · 2026
GDPR
EU 2016/679
DORA
EU 2022/2554
MiCA
EU 2023/1114
AMLD6 · eIDAS 2.0
設計段階からのEU準拠

実績データ

実績データ
  • Free
    Face Search呼び出しあたり。永続的に。すべてのプランで。
  • 1M+
    インデックスあたりの顔数。本番環境でp99が2秒未満でテスト済み。
  • <0s
    1:N検索あたりのエンドツーエンド推論。
  • 0
    生写真の保存, ハッシュ化されたテンプレートのみ、デフォルトでEU。
3つのティア、1つの料金表

無料で開始。従量課金。エンタープライズまで対応。

毎月500回まで無料認証を永続的に提供。本番環境では従量課金。エンタープライズプランではカスタム契約、データレジデンシー、SLA(サービスレベルアグリーメント)に対応します。
無料

無料

月額$0。クレジットカード不要。

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

従量課金

使った分だけお支払い。25以上のモジュール。モジュールごとの公開価格、月額最低料金なし。

  • フルKYC(本人確認 + 生体認証 + IP / デバイス)が$0.33
  • 10,000以上のAMLデータセット, 制裁、PEP、ネガティブ情報
  • データベース検証のための1,000以上の政府データソース
  • トランザクションモニタリングが1トランザクションあたり$0.02
  • ライブKYBが1企業あたり$2.00
  • ウォレットスクリーニングが1チェックあたり$0.15
  • ホワイトラベル検証フロー, あなたのブランド、私たちのインフラ
エンタープライズ

エンタープライズ

カスタムMSA & SLA。大量利用や規制対象プログラム向け。

  • 年間契約
  • カスタムMSA、DPA、SLA
  • 専用SlackおよびWhatsAppチャンネル
  • オンデマンドの手動レビュー担当者
  • リセラーおよびホワイトラベル条件
  • 限定機能とパートナー連携
  • 専任CSM、セキュリティレビュー、コンプライアンスサポート

無料で開始 → チェック実行時のみ支払い → カスタム契約、SLA、データレジデンシーが必要な場合はエンタープライズプランへ。

FAQ

よくある質問

Diditとは何ですか?

Diditは本人確認と不正対策のためのインフラです。私たちが自社でプロダクトを開発していたときに「こんなプラットフォームがあれば」と願ったものを実現しました。オープンで柔軟、そして開発者に優しいため、単なるブラックボックスとしてではなく、あなたのスタックの真の構成要素として機能します。

1つのAPIで、個人の本人確認(KYC顧客確認)、企業の本人確認(KYB企業確認)、暗号資産ウォレットのスクリーニング(KYT取引確認)、およびリアルタイムでの取引監視をカバーします。このスタックは以下の特徴を備えています。

  • 高速, すべてのセッションでp99が2秒未満
  • 信頼性, 220以上の国1,500以上の企業が本番環境で利用
  • 安全, SOC 2 Type 1、ISO 27001、GDPRネイティブ、スペインの金融規制当局から対面確認よりも安全であると正式に認定

基盤となるフットプリント: 48以上の言語14,000以上の書類タイプ1,000以上のデータソース、そしてすべてのセッションで200以上の不正シグナル。Diditのインフラは、すべてのセッションから動的に学習し、日々改善されています。

Face Search 1:Nはどのような入力を受け付けますか?
単一の参照顔画像(JPEGまたはPNG、適切な解像度であれば可)を受け付けます。スタンドアロンのエンドポイントは、imageマルチパートフィールドに加え、オプションでvendor_datasimilarity_threshold(0-100、デフォルト70)、allow_multiple_faces(デフォルトfalse)を受け入れます。Livenessワークフロー内では、入力は一切不要です。ユーザーが撮影したセルフィーは、検証済みユーザーインデックスに対して自動的に検索されるため、重複やブロックリストとの一致は、Livenessの判定と同じセッションで検出されます。
レスポンスの形式はどうなっていますか?
face_searchオブジェクトは、statusApprovedDeclinedIn Review)、total_matches、およびmatches配列を返します。各マッチには、session_idsession_numbersimilarity_percentage(0-100)、vendor_dataverification_dateuser_details(名前、document_type、document_number, マスク済み)、60分で期限切れになる署名付きmatch_image_url、マッチしたセッション自体のstatus、およびis_blocklistedが含まれます。user_imageブロックは、検出された顔のエンティティ(bbox、confidence、age、gender)と適用された回転を報告します。warnings配列は、発生したリスクを表面化します。
エンドユーザーにとっての認証速度はどのくらいですか?

通常、エンドツーエンドの全フローは30秒未満で完了します, 本人確認書類を手に取り、書類を撮影し、セルフィーを撮影すれば完了です。これは市場最速です。従来のKYCプロバイダーでは、同じフローに90秒以上かかることが一般的です。

バックエンドでは、Diditはユーザーがセルフィーを完了した瞬間からWebhookが発火するまでの時間を測定し、p99で2秒未満で結果を返します。モバイルキャプチャは、低速なスマートフォンやネットワーク向けに最適化されています。プログレッシブ画像圧縮、遅延SDKロード、ユーザーがWebから開始した場合のQRコードによるデスクトップからスマートフォンへのワンタップ連携などが含まれます。

Diditは重複アカウントや不正グループによる悪用をどのように防ぎますか?
すべてのサインアップで3つのレイヤーで防御します。生体認証1:N, 新規ユーザーの顔は、ブロックリストに登録された顔を含む、お客様のアカウントで以前に検証されたすべての顔と照合されます。設定可能な閾値, アプリケーションごとにsimilarity_thresholdを調整し、オンボーディングを厳格にしつつ、レビューキューを柔軟に保つことができます。ワークフローオーケストレーターの分岐, 1:Nの判定をデバイスインテリジェンス、デバイス&IP分析、Livenessと組み合わせることで、盗まれた写真、再利用されたSIM、共有されたデバイスフィンガープリントを使用する不正グループは、単一のシグナルだけでは通過してしまう場合でも、複合的なチェックで失敗させることができます。
ユーザーが失敗、中断、または期限切れになった場合はどうなりますか?

すべてのセッションは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:2022iBeta Level 1 PAD、およびスペインのTesoro / SEPBLAC / CNMVからの公式証明書により、Diditのリモート本人確認は対面での本人確認よりも安全であることが示されています。詳細レポートは/security-complianceをご覧ください。

Diditは私の業界の規制に準拠していますか?

Diditは、本人確認インフラストラクチャにとって重要な規制当局にデフォルトで準拠しています。

  • GDPR + UK GDPR, 管理者/処理者の分離、データ処理契約の完全公開、主要監督機関の指定(スペインAEPD)。
  • AMLD6 + EU AML Single Rulebook, 1,300以上の制裁、政治的要人、およびネガティブメディアリストをリアルタイムでスクリーニング。
  • eIDAS 2.0, EUデジタルIDウォレットに準拠。再利用可能なIDに対応。
  • MiCA (Markets in Crypto-Assets), 暗号資産のオンランプ、取引所、カストディアンに対応。
  • DORA, デジタルオペレーショナルレジリエンス法、EU金融サービスのオペレーショナルレジリエンス。
  • BIPA, CUBI, Washington HB 1493, CCPA / CPRA, 米国の生体認証プライバシー(イリノイ州、テキサス州、ワシントン州)およびカリフォルニア州の消費者プライバシー。
  • UK Online Safety Act, 年齢制限および児童保護義務。
  • FATF Travel Rule, 暗号資産送金における発信者および受取人データ、IVMS-101相互運用可能。

詳細なメモ、すべての証明書、すべての規制当局からの書簡は/security-complianceをご覧ください。

どのくらいの速さで統合し、ユーザーの認証を開始できますか?
  • business.didit.meでサンドボックスアカウントを60秒で作成できます, クレジットカードは不要です。
  • Claude Code、Cursor、またはModel Context Protocol (MCP) サーバーを介した任意のコーディングエージェントを使用して、5分で動作する認証を実装できます。
  • 署名付きWebhook認証、リトライ、ユーザーが拒否された場合の修復フローを含む、本番環境対応の統合を週末で完了できます。

3つの統合パスがあります, お客様のスタックに最適なものをお選びください。

  • 当社のWeb、iOS、Android、React Native、またはFlutter SDKを使用してネイティブに組み込む
  • ユーザーをホストされた認証ページにリダイレクトする, SDKは不要です。
  • メール、SMS、WhatsApp、または任意のチャネルでリンクを送信する, フロントエンド作業は不要です。

すべてのパスで同じダッシュボード、同じ請求、成功ごとの同じ料金体系です。ステップバイステップガイドはdocs.didit.me/integration/integration-promptをご覧ください。

本人確認と不正対策のインフラ。

KYC、KYB、取引監視、ウォレットスクリーニングを一つのAPIで。5分で統合できます。

AIにこのページの要約を依頼する