メインコンテンツへスキップ
Diditが750万ドルを調達、本人確認と不正対策のインフラを構築
Didit
リセラーとプラットフォーム

検証を
あなたの製品として販売。

検証フローをブランディングし、クライアントアプリケーションを設定し、結果を製品経由でルーティングします。ホワイトラベルは、使用されるモジュールにチェックあたり$0.20を追加します。

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

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

1つの連携で、すべてのクライアントに対応

顧客にサービスを提供し、
貴社ブランドを活用

クライアントと環境ごとにアプリケーションを設定します。チェック項目とブランディングを選択し、結果を製品経由でルーティングします。検証ジャーニーには、必要なプロバイダー開示を含めてください。

仕組み

4つのステップでクライアントフローを立ち上げます。

ステップ 01 / 04

ワークフローを作成

ワークフロービルダーで、各クライアントに必要なチェックを選択します。ルールを設定し、ドラフトを作成し、準備ができたら公開します。新しいセッションはすべて、そのワークフローの公開バージョンを使用します。

プラットフォーム向けに構築 · マージンを最大化 · オープンな設計

クライアントの検証を設定します。

製品内で、検証サービスのブランディング、ワークフロー、アクセス、結果配信を設定できます。
01 · あなたのブランド

ロゴ、色、ドメインを適用できます。

色、タイポグラフィ、ロゴ、角の丸みを設定します。対応する画面テキストを上書きし、独自のサブドメインを使用できます。ワークフローごとにカスタムスタイルを有効にし、Diditを検証プロバイダーとして識別する通知は保持されます。
ドキュメントを読む
02 · クリーンな分離

クライアント用とテスト用のアプリケーションを分離します。

クライアントごと、サンドボックステスト用、ライブチェック用に個別のアプリケーションを作成します。各リクエストには適切なアプリケーションキーを選択してください。リソース権限でチームのアクセスを制御し、ご自身の製品内でクライアントのアクセスを強制できます。
ドキュメントを読む
03 · クライアントごとのチェック

クライアントごとに異なるフローを構築します。

個人向けには本人確認とライブネスチェック、企業向けにはビジネスワークフローを選択します。必要に応じて制裁スクリーニングを追加します。各検証を開始する際に、クライアントが設定したワークフローを選択してください。
ドキュメントを読む
04 · 必要な場所で結果を

チームが必要とする場所で結果を受け取れます。

検証を開始する際に、独自の参照情報を送信してください。セッションの更新時に結果とともに返されるため、システムは正しいクライアントとユーザーを特定できます。更新を処理する前に、署名と配信時刻を確認してください。
ドキュメントを読む
05 · 全カタログ

クライアントワークフローにチェック項目を追加します。

クライアントのワークフローのドラフトを編集し、必要なチェックを追加して公開します。新しいセッションにはそのバージョンが適用されます。既存のセッションは開始時のバージョンを維持し、他のワークフローはそれぞれの設定を保持します。
カタログを見る
06 · あなたの価格

公開されているモジュールコストから価格を設定できます。

組み込む各モジュールの公開価格と請求単位を確認します。ご自身の製品がクライアントに請求する価格を設定してください。ホワイトラベルは、使用される検証モジュールのコストにチェックあたり$0.20を追加します。
料金を見る
連携

フローを開始し、結果を受け取ります。

クライアントの検証を開始し、署名付きの更新を受け取り、結果を適切なユーザーにルーティングします。
POST /v3/session/クライアントごと
$ curl -X POST https://verification.didit.me/v3/session/ \
  -H "x-api-key: $CLIENT_APP_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workflow_id": "YOUR_CLIENT_WORKFLOW_UUID",
    "vendor_data": "client_01:user_42"
  }'
201作成済み{ "url": "https://verify.yourbrand.com/…" }
クライアントのキー、クライアントのフロー、あなたの識別子。docs
POST /webhooks/didit/:clientIdあなたのエンドポイント
app.post("/webhooks/didit/:clientId", (req, res) => {
  const secret = clientSecrets.get(req.params.clientId);
  const expected = crypto.createHmac("sha256", secret)
    .update(req.rawBody).digest();
  const sig = Buffer.from(req.get("X-Signature"), "hex");
  if (!crypto.timingSafeEqual(sig, expected)) return res.sendStatus(401);

  const { vendor_data, status } = req.body;
  routeToClient(req.params.clientId, vendor_data, status);
  res.sendStatus(200);
});
200OKOK
署名チェック、タイムスタンプ検証、クライアントルーティングを含む完全な検証機能をコピーします。docs
エージェント対応統合

1つのプロンプトでマルチクライアント統合をデプロイ。

このプロンプトをコーディングエージェントにコピーし、アプリについて記述してください。クライアントアプリケーション、ブランディング、ワークフロー、検証済み結果のルーティングをカバーします。ローンチ前にアカウント設定を構成し、確認してください。
didit-integration-prompt.md
# Integrate Didit for multiple clients

Integrate Didit into <my_stack> for a product serving multiple clients.
Use each client's configured application and workflow, apply their branding,
and route authenticated results through your product.

## Public module prices
- ID Verification: $0.15 per check
- Passive Liveness: $0.10 per check
- Face Match 1:1: $0.05 per check
- IP Analysis: $0.03 per check
- Full identity bundle (the four above): $0.33 per check
- AML (anti-money laundering) Screening: $0.20 per check
- Ongoing AML Monitoring: $0.07 per user per year
- Business Verification: Variable per registry check;
  person screening, document checks, and linked identity checks are billed separately
- White Label: $0.20 per check on top of the modules used
- 500 free monthly workflow checks; standalone requests are outside that allowance

Use these published costs when setting your product's client pricing.
Review commercial requirements with Didit; do not infer partner rates.

## 1. Configure client applications
Create an account at https://business.didit.me. Use separate applications
for each client and environment: live and sandbox are separate applications,
not two environments inside one application. Sandbox outcomes are simulated.
Store application keys and workflow UUIDs in your server-side configuration,
indexed by client and environment. Never expose keys to end users.
Enforce client authorization in your own product. Resource permissions do
not establish a client-specific boundary, and an application is not a
promise of isolation from every organization-level resource.

## 2. Brand the verification flow
Configure colours, typography, square and rectangular logos, corner radius,
and the login-screen option in the Style Editor. The Texts tab overrides
supported strings, one locale at a time; it does not expose arbitrary text
on every screen. Choose the completion-screen mode where needed.

For a custom domain:
- Use an unused subdomain such as verify.yourbrand.com, not a root or www. domain.
- Enable White Label on the account and grant write access to Customization.
- Add both generated CNAME records: ownership/certificate verification and routing.
- Verify ownership in the console once the records resolve.
- A custom domain prevents re-enabling the Didit login screen until removed.

Enable Workflow → Settings → Options → Include custom style for every
workflow that should use the branding. Otherwise it retains default branding.

White Label changes visual branding. Retain the required provider disclosures:
identify your company as requesting verification and Didit as powering it,
link your privacy notice and applicable terms, and link Didit's Verification
Privacy Notice and End User Terms for Identity Verification. Collect affirmative
consent where required and retain the necessary proof in your own systems.
These responsibilities also apply when you build your own verification UI.

## 3. Publish each client's workflow
Build a workflow in the Console or with
POST https://verification.didit.me/v3/workflows/.
Use a KYC (know your customer) workflow for people or a KYB (know your
business) workflow for companies. Configure the relevant checks and publish
the draft. Existing sessions retain their original workflow version.

## 4. Create the session for the correct client
Resolve the application key and workflow UUID from trusted server-side
configuration for this client and environment:

  curl -X POST https://verification.didit.me/v3/session/ \
    -H "x-api-key: <client-application-key>" \
    -H "Content-Type: application/json" \
    -d '{
      "workflow_id": "<client-workflow-uuid>",
      "vendor_data": "<client-id>:<end-user-id>"
    }'

vendor_data contains your references and is returned on session events and
decision reads. Do not assume unrelated entity or transaction events have
this same session envelope. Open the returned url or embed the hosted flow.

## 5. Receive authenticated results
Register a destination for status.updated and data.updated and store its
secret_shared_key, scoped to the client and environment in your configuration.
Verify before reading a decision or changing a client's data:
- X-Signature-V2: HMAC-SHA256 over recursively sorted, compact JSON with
  Unicode preserved. This header does not sign raw bytes.
- X-Signature: supported HMAC-SHA256 over the exact raw request bytes,
  captured before JSON middleware. The terminal example uses this variant.
- Check signature format and length before a constant-time comparison.
- Validate X-Timestamp and reject a difference greater than 300 seconds.
  Require it to match the timestamp in the authenticated payload.
- Resolve the destination secret from trusted route configuration, not from
  an unverified vendor_data value. Confirm the authenticated reference
  belongs to that client before routing the result.
- Dispatch on webhook_type, handle duplicate deliveries, and durably queue
  work before acknowledging. Return 2xx promptly, within the 5-second timeout.

Session statuses: Approved, Declined, In Review, In Progress, Not Started,
Abandoned, Expired, Kyc Expired, Resubmitted, Awaiting User. Entity and
transaction events have different status enums; do not feed them into the
session dispatcher.
Session events include session_id, status, webhook_type, created_at,
timestamp, workflow_id, workflow_version, vendor_data, metadata; decision
is present for Approved, Declined, In Review, and Abandoned.
Business sessions also include business_session_id and session_kind: "business".
For reconciliation read
GET https://verification.didit.me/v3/session/{sessionId}/decision/
using the same client's application key. Your authorized team can also
review results in the Console.

## 6. Control team permissions
Assign each member one role. Five built-in roles are available; organization
owners can create custom roles. Allowed actions differ by resource:
- sessions: read, list, create, write, delete
- users: read, list
- businesses: read, list, write
- workflows and questionnaires: read, write, create, delete
- customization: read, write
- api-keys: read, write
Use a dedicated custom role for support access. Do not grant access to all
applications merely because a support agent needs to review sessions.

## 7. Add checks and verify the integration
Edit and publish a draft of one client's workflow. New sessions use that
version; other workflows and existing sessions retain their configuration.
Review the published costs of the added checks.

1. Configure two example clients with distinct application keys, workflows,
   and webhook secrets. Test your own authorization against cross-client access.
2. Confirm sandbox and live traffic use separate applications.
3. Check each workflow's custom-style setting, domain, and required disclosures.
4. Reject malformed or invalid signatures, stale timestamps, and a reference
   that belongs to another client. Include Unicode in signature fixtures.
5. Confirm vendor_data returns unchanged on session updates and decision reads.
6. Confirm changes to one workflow affect only new sessions using that workflow.

References:
- https://docs.didit.me/console/white-label
- https://docs.didit.me/console/custom-domain
- https://docs.didit.me/console/roles-permissions
- https://docs.didit.me/console/workflows
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/integration/webhooks
- https://docs.didit.me/integration/sandbox-testing

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

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

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

実績データ

実績データ
  • 25+
    単一連携で利用可能なモジュール数
  • 220+
    対応国・地域
  • $0.20
    ホワイトラベル1チェックあたり、モジュール費用別途
  • 500
    毎月の無料ワークフローチェック
3つのティア、1つの料金表

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

毎月500件まで永年無料。それ以降はモジュール実行時のみ課金されます。エンタープライズプランでは、カスタム契約、データレジデンシー、サービス品質保証契約(SLA)をご利用いただけます。

無料

$0/月・カード情報不要

開発、テスト、そして最初のユーザー向け。

スタートに必要なすべて:
  • 毎月500件のフルKYC認証
  • 本人確認、生体認証、顔照合、デバイス&IP
  • 200以上の不正検知シグナル、ブロックリスト、重複チェック
  • Diditネットワーク全体でKYCを再利用可能
  • ワークフロービルダー、ケース管理、SDK
  • AIサポート コンソール内AIエージェント、ドキュメント、コミュニティ。
最も人気

従量課金制

$0.33フルKYCあたり

25以上のモジュールを公開価格で提供。自動ボリュームディスカウントあり。

無料の全機能に加え、以下が含まれます。
  • AMLスクリーニングとモニタリングは$0.07から
  • 国およびデータティア別の商業登記料金
  • トランザクションモニタリング $0.02 /件
  • ウォレットスクリーニング $0.15 /チェック
  • 貴社ブランドでのホワイトラベルフロー
  • AIサポート コンソール内AIエージェント、ドキュメント、コミュニティ。

エンタープライズ

カスタム年間契約

大量利用や規制対象プログラム向け。

従量課金制の全機能に加え、以下が含まれます。
  • 年間契約、コミットメント量に応じた価格設定
  • カスタム法務条件、99.99%の稼働率SLA
  • データレジデンシー、保持、セキュリティレビュー
  • オンデマンドでの手動レビュー担当者
  • リセラーおよびホワイトラベル契約
  • 優先ヒューマンサポート 24時間年中無休の共有Slackチャンネル、専任のサクセスマネージャー

利用量の増加に応じて割引が自動適用されます。交渉や営業担当とのやり取りは不要です。

FAQ

よくある質問

Diditとは何ですか?

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

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

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

基盤となるのは、48以上の言語に対応した14,000以上のドキュメントタイプ1,000以上のデータソース、そしてすべてのセッションで200以上の不正シグナルです。Diditのインフラは、すべてのセッションから動的に学習し、日々進化しています。

Diditのリセールは具体的にどのようなものですか?
Diditのワークフローを使用して、お客様のプロダクト内で本人確認を提供します。クライアントごとにアプリケーションを設定し、サンドボックスと本番環境で別々のアプリケーションを使用します。お客様のブランディングを適用し、各クライアントのチェック項目を選択し、独自の参照情報を使用してセッション結果をルーティングできます。ホワイトラベルは視覚的なブランディングを変更しますが、必要な通知にはDiditが本人確認プロバイダーであることを明記する必要があります。
クライアントがDiditを目にすることはありますか?
本人確認画面を、お客様のブランドカラー、タイポグラフィ、ロゴ、カスタムサブドメインでブランディングできます。サポートされているテキスト文字列を上書きし、各ワークフローでカスタムスタイルを含めるを有効にしてください。これにより、Diditの視覚的なブランディングは削除されますが、プロバイダー開示義務は残ります。お客様の会社が本人確認を要求し、Diditがそれを実行していることをユーザーに伝え、必要なプライバシーおよび本人確認に関する規約リンクを含めてください。
エンドユーザーにとって本人確認はどのくらい速いですか?
完了時間は、設定するチェック項目とユーザーの進捗状況によって異なります。各クライアントが必要とするワークフローを公開し、署名付きセッション更新を使用してその結果を追跡します。Document AIはドキュメントごとに数秒を追加し、必要なすべてのアップロードが完了した後に完了を報告します。すべてのチェック項目の組み合わせにおいて、フローの完了時間は固定ではありません。
あるクライアントのデータを別のクライアントからどのように保護しますか?
クライアントと環境ごとに別々のアプリケーションとキーを使用し、お客様のプロダクトでクライアントアクセスを強制します。コンソールロールはリソースに対するアクションを制御し、利用可能なアクションはリソースによって異なります。例えば、ユーザーは読み取りとリストをサポートしますが、ワークフローは読み取り、書き込み、作成、削除をサポートします。ロール自体は、クライアント間の分離境界を確立するものではありません。
ユーザーが失敗、中断、または期限切れになった場合はどうなりますか?
署名付きセッション更新を購読し、お客様のプロダクトで各結果を処理してください。セッションは、承認済み、拒否済み、審査中、中断、期限切れ、またはユーザーアクション待ちの状態になることがあります。期限切れは中断とは異なります。記録を更新する前に配信を確認し、見逃した更新を調整する際には現在の決定を取得してください。イベントガイドをご覧ください。
チームのデータアクセスをどのように制御しますか?
各チームメンバーにコンソールロールを割り当てます。Diditは5つの組み込みロールを提供しており、組織のオーナーはカスタムロールを作成できます。ロールが必要とするリソースアクションのみを付与してください。例えば、ワークフローを変更すべきではないレビュー担当者には、セッションに対する読み取りとリストの権限のみを付与します。ロールと権限をご覧ください。
Diditはクライアントの業界規制に準拠していますか?
クライアントの本人確認プログラムが必要とするチェック項目を設定してください。ホワイトラベルはブランディングを変更しますが、本人確認を要求する会社は、ユーザー体験に対して引き続き責任を負います。要求元の会社とDiditを特定し、必要なプライバシー通知と規約をリンクし、必要に応じて肯定的な同意を得てください。クライアントのコンプライアンスチームとホワイトラベルの責任を確認してください。
複数のクライアントの本人確認を統合するにはどうすればよいですか?
クライアントのアプリケーション、ブランディング、ワークフローを設定し、正しいクライアントキーとワークフローでセッションを作成します。署名付きセッション更新を使用して結果を受け取ります。統合プロンプトには、これらの手順とお客様のプロダクトが必要とするルーティングロジックが含まれています。ローンチ前に各クライアントと環境をテストしてください。カスタムドメインの設定には、両方のドメインレコードが解決されることも必要です。
結果を適切なクライアントにルーティングするにはどうすればよいですか?
セッションを作成する際に、クライアントとユーザーの参照情報を含めてください。署名付きセッション更新と決定の読み取りは、その参照情報を返します。両方の情報を使用して正しいレコードを見つけ、宛先のシークレットで配信を確認し、その参照情報がそのクライアントに属していることを確認してからデータを変更してください。
特定のクライアントのチェック項目を個別に変更できますか?
そのクライアントのワークフローのドラフトを編集し、必要なチェック項目を追加して、バージョンを公開します。新しいセッションは新しく公開されたバージョンを使用し、すでに進行中のセッションは開始時のバージョンを保持します。他のワークフローはそれぞれの設定を維持します。追加するモジュールの価格は料金ページでご確認ください。
商用面はどのように機能しますか?
公開されているモジュール価格を使用して、本人確認コストを計算します。フル本人確認は$0.33、アンチマネーロンダリング(AML)スクリーニングは$0.20、企業登録チェックは$2.00です。ホワイトラベルは、使用するモジュールに加えてチェックあたり$0.20が追加されます。お客様のプロダクトのクライアント料金は別途設定してください。リセラー要件については、お問い合わせください

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

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

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