メインコンテンツにスキップ
Diditが200万ドルを調達し、Y Combinator (W26)に参加
Didit
アカウント乗っ取り防止

顔認証でアカウント乗っ取りを阻止します。リスクが急増した瞬間にステップアップします。

攻撃者が狙う正確な瞬間(送金、パスワードリセット、新しいデバイスでのログイン)に生体認証ステップアップ。2秒未満の判定、イベントあたり約$0.13。毎月500回の認証が無料。

支援元
Y Combinator
GBTC Finance
Bondex
Crnogorski Telekom
UCSF Neuroscape
Shiply
Adelantos

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

暗い抽象的なアカウント乗っ取りスタック — 純粋な黒の上に3Dパースペクティブで浮かぶ4枚の半透明のダークガラスパネルが、光るDidit Blueの垂直線で結ばれ、4つの光るスキャナーブラケットで囲まれています。各パネルには、ステップアップレシピの小さな淡い白色の抽象的なモチーフが描かれています。

攻撃者はどのように攻撃するか

盗まれたパスワード。盗まれたセッション。代わりに顔を選択してください。

クレデンシャルスタッフィング、SIMスワップ、盗まれたセッションクッキー攻撃はすべて、 パスワードやワンタイムコードをすり抜けます。これらの攻撃を、アクションの瞬間にDiditのステップアップに 置き換えてください — 1コールあたり$0.10、2秒未満の判定、毎月500回無料。

仕組み

サインアップから認証済みユーザーまで4ステップ。

  1. ステップ 01

    ワークフローを作成する

    ID、ライブネス、顔照合、制裁、住所、年齢、電話番号、メールアドレス、カスタム質問など、必要なチェックを選択します。ダッシュボードでフローにドラッグするか、同じフローを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つのステップアップ。イベントあたり~$0.13

ATO防御は単一のチェックではなく、構成です。ワークフロービルダーでワークフローごとに各機能を切り替えるか、APIを通じてインラインで構成します。
01 · ステップアップトリガー

あなたがタイミングを選びます。Diditがチェックを実行します。

ステップアップポリシーはワークフロービルダーに存在します — 高額送金、パスワードリセット、新しい宛先への支払い、新しいデバイスでのログイン、地理的異常。ネットワーク信号が危険に見える場合にのみ顔認証を行いたい場合は、デバイス&IP分析で事前ゲートします。ルールを変更するために再デプロイする必要はありません。
ワークフローオーケストレーターモジュール
02 · 生体認証ステップアップ

1回のステップアップ。2秒未満の判定。

ユーザーがサインアップ時に通過したのと同じ生体認証エンジン — iBetaレベル1のプレゼンテーション攻撃検出(PAD)と、保存されたポートレートとの1:1顔照合。セッションあたり$0.10。フィッシング耐性、SIMスワップ耐性。エントリーレベルのAndroidで2秒未満のエンドツーエンド。
生体認証モジュール
03 · 顔照合 1:1 vs サインアップ

比較対象はユーザーの保存されたポートレートです。

顔照合1:1は、すべてのステップアップ自撮り画像をユーザーの保存されたサインアップ時のポートレートと比較します。0〜1.0の類似度スコアと警告を返します。しきい値はワークフローごとに調整可能です。盗まれた自撮り画像は通過できません — ターゲットは元の登録にロックされており、新しくキャプチャされた画像ではありません。
顔照合1:1モジュール
04 · ディープフェイク防御

印刷。リプレイ。マスク。ディープフェイク。すべてブロックされます。

iBetaで独立してテストされ、ISO/IEC 30107-3の全カタログに対してレベル1 PADで認定されています。印刷された写真、画面のリプレイ、紙/シリコン/ラテックスマスク、モーフィング攻撃、アカウント所有者のAI生成ディープフェイクをブロックします。毎年再テストされます。
ライブネスモジュール
05 · IP + デバイス事前チェック

VPN、データセンター、Tor — 顔認証の前にフラグが立てられます。

ステップアップが発動する前に、ユーザーのIP(インターネットプロトコル)アドレスとデバイスフィンガープリントをスコアリングします。0〜100のリスクスコアと、VPN、プロキシ、Tor、データセンター、国、ASNのフラグを返します。チェックあたり$0.03、100ms未満。信頼できるデバイスと低リスクネットワークではステップアップをスキップします。
デバイス&IP分析モジュール
06 · Webhookによる決定

1つのWebhook。3つの分岐。完了。

署名されたWebhookは、承認、拒否、審査中、未完了のいずれかの判定を伴って着信します。本文を読む前に、HMAC SHA-256でX-Signature-V2を検証してください。すべてのステップアップで同じペイロード。それに応じて元の操作を分岐させます。200以上の不正信号が追加費用なしで表面化されます。
Webhookリファレンス
統合する

1つのセッション。1つの署名済みWebhook。3つの分岐。

生体認証ワークフローに対してステップアップを開きます。署名された判定を読み取ります。アクションを分岐させます。
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_ato_step_up",
    "vendor_data": "user-42",
    "metadata": { "trigger": "high_value_transfer" },
    // base64 KYC enrolment selfie, ≤ 1MB
    "portrait_image": "/9j/4AAQSkZJRgABAQE..."
  }'
201作成済み{ "session_url": "verify.didit.me/..." }
Webhookがstatus: Approvedになるまでアクションをブロックします。ドキュメント →
POST /webhooks/didit判定
// X-Signature-V2 verified upstream
if (payload.status === "承認済み") {
  unblockAction(payload.vendor_data);
} else if (payload.status === "拒否済み") {
  logWarnings(payload.liveness.warnings);
  blockAndAlert(payload.vendor_data);
}
200OKステータス 承認済み · 拒否済み · レビュー中 · 未完了
ペイロードを読み取る前にX-Signature-V2を検証してください。ドキュメント →
エージェント対応統合

1つのプロンプトでアカウント乗っ取り対策を実装。

Claude Code、Cursor、Codex、Devin、Aider、またはReplit Agentに貼り付けます。スタックを入力します。エージェントがトリガーを接続し、ステップアップセッションを開き、ウェブフックを検証し、元のアクションを分岐させます。
didit-integration-prompt.md
You are integrating Didit account-takeover defence into an application that already has the user signed in. Your job: when a sensitive action fires (large transfer, password reset, payout to a new destination, new-device login, geo anomaly), gate it on a Didit biometric step-up. One API call. One signed webhook. Three branches.

WHY THIS SHAPE
  - Credential stuffing, SIM-swap, and stolen-session-cookie attacks all walk past passwords and SMS one-time codes. A face check at the moment of the sensitive action does not.
  - Didit runs Passive Liveness (the user is alive, present, not a deepfake) plus 1:1 Face Match against the portrait captured at sign-up. A stolen selfie cannot pass — the comparison target is locked to the original enrollment.
  - $0.10 per step-up (Biometric Authentication module) + $0.03 IP pre-check (optional) = around $0.13 per event. Sub-two-second verdict on entry-level Android. 500 verifications free every month.

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.
 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.  - A Workflow Builder workflow that bundles Passive Liveness + Face Match 1:1 (with the user's stored sign-up portrait as the comparison target). Optionally compose Device & IP Analysis ahead of the step-up to pre-gate the check.
  - Persist the user's sign-up portrait — either base64 on your side, or rely on Didit's stored enrollment via vendor_data lookup.

STEP 1 — Decide WHEN to step up (your code, not Didit's)
  Run your usual fraud signals. Common triggers worth a biometric step-up:
    - Wire / crypto transfer above the user's daily limit
    - Password / email reset on a session less than 24h old
    - Payout to a bank account or wallet seen for the first time
    - Login from a new device or new country
    - Velocity anomaly — N actions of type T within window W

  Cheap pre-check (optional, ~100ms, $0.03):
    - Score the user's IP via Device & IP Analysis. If the IP is a residential trusted address with a low risk score AND the device fingerprint matches the user's trusted device, skip the step-up. Otherwise run Step 2.

STEP 2 — Create a biometric step-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 bundling Passive Liveness + Face Match 1:1>",
      "vendor_data": "<your user id, max 256 chars>",
      "callback": "https://<your-app>/ato/step-up/callback",
      "metadata": {
        "trigger": "high_value_transfer",
        "action_id": "<your internal action reference>"
      },
      "portrait_image": "<base64 JPEG of the user's stored sign-up portrait, ≤ 1 MB — REQUIRED when the workflow has FACE_MATCH active; the step-up matches the new live selfie against this stored reference>"
    }

  Response: 201 Created with a hosted session URL. Redirect the user there inline (or open it in a webview / Didit mobile SDK). The action stays BLOCKED on your side until the signed webhook lands.

STEP 3 — Read the signed webhook on completion
  Didit POSTs the decision to your callback. Verify X-Signature-V2 (HMAC SHA-256 of the raw request body using your webhook secret) BEFORE reading the JSON.

  Payload (excerpted):
    {
      "session_id": "<uuid>",
      "vendor_data": "<your user id>",
      "status": "Approved",
      "liveness": { "status": "Approved" },
      "face":     { "status": "Approved", "similarity_score": 0.94 },
      "ip_analysis": { "status": "Approved", "score": 11 }
    }

  Session status enum (exact case, Title Case With Spaces): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.

STEP 4 — Branch the original action on status
  Approved      → unblock the sensitive action. Log session_id + similarity score on the audit trail.
  In Review     → hold the action, route to a human review queue.
  Declined      → block the action, log liveness warnings (mask / deepfake / replay / morph), alert the user.
  Not Finished  → invite the user to retry with a fresh session URL.
  Expired       → resend the link; the original session has timed out.
  Abandoned     → the user closed the flow before completing; resend the link.

STEP 5 — (Optional) Pull the full decision payload
  GET https://verification.didit.me/v3/session/{session_id}/decision/
  Headers:
    x-api-key: <your api key>
  Returns the same payload as the webhook plus the structured signals (liveness warnings, face-match similarity, IP / device flags). Use for analyst review.

WEBHOOK EVENT NAMES
  - Sessions: standard session webhook (one endpoint, status field tells you where in the lifecycle).
  - Verify X-Signature-V2 (HMAC SHA-256) on every payload.

CONSTRAINTS
  - Session statuses use Title Case With Spaces (Approved, In Review). Never use UPPER_SNAKE_CASE for session verdicts — that's the Transactions API and lives in a different surface.
  - 1:1 face match's comparison target is the user's STORED sign-up portrait, not a freshly captured one. A stolen selfie cannot pass.
  - iBeta Level 1 Presentation Attack Detection (PAD) certified against the full ISO/IEC 30107-3 catalogue — print, replay, paper / silicone / latex mask, deepfake, morph.
  - The Workflow Builder is where you choose the modules in the step-up — change them in the console without redeploying.
  - 200+ fraud signals are surfaced on every session at no extra cost — read them off the decision payload, don't re-query.

Read the docs:
  - https://docs.didit.me/sessions-api/create-session
  - https://docs.didit.me/core-technology/biometric-auth/overview
  - https://docs.didit.me/core-technology/ip-analysis/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.
さらに詳しい情報が必要ですか?モジュールの全ドキュメントをご覧ください。docs.didit.me →
設計によるコンプライアンス

ワンクリックで新しい国を開拓。 私たちは大変な作業を行います。

私たちは現地の子会社を開設し、ライセンスを確保し、侵入テストを実施し、認証を取得し、すべての新しい規制に準拠します。新しい国で検証を出荷するには、トグルを切り替えるだけです。220以上の国が稼働しており、四半期ごとに監査と侵入テストが行われています — EU加盟国の政府が対面検証よりも安全だと正式に認めた唯一のIDプロバイダーです。
セキュリティ&コンプライアンスの書類を読む
EU金融サンドボックス
Tesoro · SEPBLAC · BdE
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に準拠

証明番号

証明番号
  • iBeta L1
    独立して認定されたプレゼンテーション攻撃検出 — 毎年再テストされます。
  • <0s
    エントリーレベルのAndroidでのエンドツーエンドのステップアップ判定。
  • ~$0.13
    イベントあたり — $0.10の生体認証ステップアップと$0.03のオプションのIP事前チェック。
  • 0
    毎月、すべてのアカウントで無料の検証。
3つのティア、1つの価格表

無料で開始。従量課金。エンタープライズへ拡張。

毎月500回の無料検証、永久に。本番環境では従量課金。エンタープライズではカスタム契約、データレジデンシー、SLA(サービスレベル契約)。
無料

無料

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

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

従量課金制

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

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

エンタープライズ

カスタムMSA & SLA。大量の取引と規制プログラム向け。

  • 年間契約
  • カスタムMSA、DPA、SLA
  • 専用のSlackおよびWhatsAppチャネル
  • オンデマンドの手動レビュー担当者
  • 再販業者およびホワイトラベルの条件
  • 独占的な機能とパートナー統合
  • 指名されたCSM、セキュリティレビュー、コンプライアンスサポート

無料で開始 → チェック実行時のみ支払い → カスタム契約、SLA、またはデータレジデンシーのためにエンタープライズをアンロック。

FAQ

よくある質問

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

KYC、KYB、取引モニタリング、ウォレットスクリーニングのための単一API。5分で統合。

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