تجاوز إلى المحتوى الرئيسي
Didit تجمع 7.5 مليون دولار لبناء البنية التحتية للهوية والاحتيال
Didit
محافظ الهوية الرقمية

دع الأشخاص يسجلون الدخول باستخدام
الهوية التي يمتلكونها بالفعل.

تحقق من الأشخاص باستخدام هوية إلكترونية (eID) يستخدمونها بالفعل. اقبل Smart-ID وMobile-ID وFinnish Trust Network وMitID من خلال سير عمل واحد، مع الرجوع إلى المستندات عند الحاجة.

مدعوم من
Y CombinatorRobinhood Ventures
Firecrawl
Slash
Crnogorski Telekom
UCSF Neuroscape
Bit2Me

موثوق به من قبل أكثر من 2,000 مؤسسة حول العالم.

  • MitIDDenmark · Danish Agency for Digital GovernmentDenmarkمباشر
  • BankIDSweden · Finansiell ID-Teknik / bank consortiumSwedenمباشر
  • BankIDNorway · BankID BankAxept ASNorwayقريبًا
  • VippsNorway · Vipps MobilePay / BankID NONorwayقريبًا
  • Buypass IDNorway · Buypass ASNorwayقريبًا
  • itsmeBelgium, Luxembourg, Netherlands · Belgian Mobile IDBelgiumLuxembourgNetherlandsقريبًا
  • iDINNetherlands · Dutch banks (Currence iDIN)Netherlandsقريبًا
  • Finnish Trust NetworkFinland · Finnish banks and mobile operators (FTN)Finlandمباشر
  • PersonalausweisGermany · Bundesministerium des Innern (eID)Germanyقريبًا
  • Freja eIDSweden · Freja eID GroupSwedenقريبًا
  • UAE PASSUnited Arab Emirates · UAE Digital Government AuthorityUnited Arab Emiratesقريبًا
  • gov.brBrazil · Governo Federal do BrasilBrazilقريبًا
  • OneIDUnited Kingdom · OneID (UK bank-verified identity)United Kingdomقريبًا
  • GOV.UK WalletUnited Kingdom · UK Government Digital ServiceUnited Kingdomقريبًا
  • Smart-IDEstonia, Latvia, Lithuania, Belgium · SK ID SolutionsEstoniaLatviaLithuaniaBelgiumمباشر
  • Mobile-IDEstonia, Lithuania · SK ID Solutions with the national mobile operatorsEstoniaLithuaniaمباشر
  • Bank iDCzechia · Bankovní identita, a.s.Czechiaقريبًا
  • MojeIDCzechia · CZ.NICCzechiaقريبًا
  • DiiaUkraine · Ministry of Digital Transformation of UkraineUkraineقريبًا
  • FranceConnectFrance · DINUM (French state)Franceقريبًا
  • AuðkenniIceland · Auðkenni (Icelandic electronic ID)Icelandقريبًا
  • ConnectIDAustralia · Australian Payments PlusAustraliaقريبًا
  • EUDI Wallet30 دولة من الاتحاد الأوروبي والمنطقة الاقتصادية الأوروبية · The user's own member state; the issuer differs per countryAustriaBelgiumBulgariaCroatia+26قريبًا

تميز الحالات بين توفر الإنتاج واختبار التكامل. تصف التغطية القطرية مسار المحفظة المكون، وليس فحص هوية حية مكتمل في كل بلد. لا يوجد وعد بتاريخ إطلاق.

حالة التكامل

محافظ الهوية الرقمية.
حالة نشر واضحة.

تتوفر Smart-ID وMobile-ID وFinnish Trust Network وMitID. اختر المحافظ المقبولة حسب البلد ودع المستخدمين يصادقون بهوية مؤهلة يمتلكونها بالفعل. عمليات التكامل الأخرى المذكورة ستتوفر قريبًا.

كيف يعمل

من تسجيل الدخول بالمحفظة إلى مستخدم موثق في أربع خطوات.

الخطوة 01 / 04

أنشئ سير العمل

في وحدة التحكم، حدد المحافظ المتاحة لكل بلد في بيئتك. اختر ما إذا كان تسجيل الدخول الملغى أو الفاشل يعود إلى التقاط المستندات أو يتم رفضه.

مصمم للمطورين · مصمم لمكافحة الاحتيال · مفتوح التصميم

ست قدرات. قائمة قبول واحدة لكل دولة.

المحفظة هي إحدى طرق التحقق من الهوية، وتتبع نفس عقد النتائج الخاص بالتقاط المستندات. ما يتغير هو الإثبات: توقيع من الجهة المصدرة بدلاً من صورة.
01 · الكتالوج

اقبل المحافظ التي تستخدمها الدولة بالفعل.

شاهد كل محفظة وتغطية الدول والجهة المصدرة وتوفرها معًا. تتوفر Smart-ID وMobile-ID وFinnish Trust Network وMitID؛ ويتم تمييز عمليات التكامل المخطط لها بوضوح بـ "قريبًا".
02 · قائمة القبول

اختر ما تقبله. المستخدم يختار.

اختر المحافظ المتاحة التي ترغب في قبولها لكل بلد في سير عملك. يختار المستخدم من هذه المجموعة. لا يمكن تفعيل محفظة مدرجة على أنها قيد الإعداد حتى يشير الكتالوج في بيئتك إلى أنها متاحة.
03 · التسليم

قارن الرمز. وافق على هاتفك.

يستخدم Smart-ID رمزك الشخصي؛ ويطلب Mobile-ID أيضًا رقم هاتفك. يعرض Didit رمز مقارنة بينما توافق على الطلب على جهازك. لا يتم إدخال رقمك السري (PIN) في Didit أبدًا. يتبع الإلغاء والفشل إعدادات الرجوع في سير عملك.
04 · السمات الموقعة

اقرأ السمات التي وقعها المصدر.

الاسم، تاريخ الميلاد، والمعرف الوطني الذي تعرضه المحفظة، بالإضافة إلى التأكيد الموقع نفسه. ألغِ تحديد أي سمة اختيارية لا تريد تخزينها ولن يتم كتابتها في الجلسة أبدًا.
05 · الضمان

حقق أعلى مستويات الضمان الثلاثة.

يمنحك المستند ضمانًا مستنديًا. يمنحك البحث في السجل مطابقة بيانات. تمنحك المحفظة ضمانًا تشفيريًا، لأن المصدر وقع على السمات وتتحقق Didit من هذا التوقيع.
06 · التغطية

تغطية Smart-ID و Mobile-ID حسب الدولة.

اقبل Smart-ID في إستونيا ولاتفيا وليتوانيا وبلجيكا؛ وMobile-ID في إستونيا وليتوانيا؛ وFinnish Trust Network في فنلندا. يصادق المستخدمون ببيانات اعتماد مؤهلة للمحفظة المختارة.
الدمج

استدعاء واحد. نتيجة موقعة واحدة تعود.

أنشئ الجلسة، أرسل المستخدم إليها، وتحقق من الـ webhook الموقّع عند وصول النتيجة. تعود المحفظة التي سجل بها المستخدم في النتيجة.
POST /v3/session/واجهة مستخدم مستضافة
$ curl -X POST https://verification.didit.me/v3/session/ \
  -H "x-api-key: <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "workflow_id": "wf_wallets",
    "vendor_data": "user_42"
  }'
201تم الإنشاء{ "url": "https://verify.didit.me/..." }
تعرض Didit المحافظ المقبولة وتدير عملية التسليم.الوثائق
POST /webhooks/diditWebhook
// Your endpoint receives a signed payload
const crypto = require("node:crypto"); // ESM: import crypto from "node:crypto"
// X-Signature-V2 = HMAC over the canonical JSON, never the raw bytes. Match the sender byte for
// byte: keys sorted by code point, integers digit for digit, floats in Python's repr.
class Num { constructor(src) { this.src = src; } } // a number as written on the wire, not a double
const num = (s) => { if (/^-?\d+$/.test(s)) return BigInt(s).toString(); const n = +s; // ints stay exact
  if (Number.isInteger(n)) return BigInt(n).toString(); const [m, e] = n.toExponential().split("e"); // 27.0 -> 27
  return +e >= -4 ? String(n) : `${m}e-${String(-e).padStart(2, "0")}`; }; // 1e-05, not 0.00001
const byCodePoint = (a, b) => Buffer.compare(Buffer.from(a), Buffer.from(b)); // UTF-8 order = Python's
const canon = (v) => Array.isArray(v) ? `[${v.map(canon)}]` : v instanceof Num ? num(v.src)
  : v && typeof v === "object" ? `{${Object.keys(v).sort(byCodePoint).map((k) => `${JSON.stringify(k)}:${canon(v[k])}`)}}`
  : JSON.stringify(v);
// Read the body as text: express.json() would round 1000000000000000129 to a double first.
// Register this route ABOVE any global app.use(express.json()): the first parser to run
// consumes the stream, and a body it already parsed has lost the digits the signature covers.
app.post("/webhooks/didit", express.text({ type: "application/json" }), (req, res) => {
  const exact = JSON.parse(req.body, (k, v, c) => typeof v === "number" ? new Num(c.source) : v); // Node 21+
  const body = JSON.parse(req.body);
  const mac = crypto.createHmac("sha256", SECRET).update(canon(exact), "utf8").digest("hex");
  const sig = Buffer.from(String(req.headers["x-signature-v2"] ?? ""));
  // Freshness comes from the signed body timestamp; the header alone is unsigned and replayable.
  const ts = body.timestamp, fresh = String(ts) === req.headers["x-timestamp"]
    && Math.abs(Date.now() / 1000 - ts) <= 300;
  if (!fresh || sig.length !== mac.length
    || !crypto.timingSafeEqual(sig, Buffer.from(mac))) return res.sendStatus(401);
  const { status, decision } = body;
  // One entry per ID Verification node; pick yours by node_id when you run several.
  const [idv] = decision?.id_verifications ?? [];
  // idv.verification_method: "document" | "id_lookup" | "wallet"
  res.sendStatus(200);
});
200موافق{ "verification_method": "wallet", "assurance": "cryptographic" }
تحقق من التوقيع قبل الوثوق بالحمولة.الوثائق
تكامل جاهز للوكيل

أطلق تسجيل الدخول بالمحفظة في أمر واحد.

الصق الكتلة أدناه في Claude Code، Cursor، Codex، Devin، Aider، أو Replit Agent. املأ العنصر النائب my_stack بإطار العمل واللغة وحالة الاستخدام الخاصة بك. يقوم الوكيل بتوفير Didit، ويقبل المحافظ لكل بلد، ويربط الـ webhook، ويطلق المنتج.
didit-integration-prompt.md
# Didit digital ID wallets — integrate in 5 minutes

You are adding digital ID wallet sign-in to my_stack. The user signs in with a
government or bank digital identity and the wallet returns signed attributes.
Every URL, header, and enum value below is canonical — do not paraphrase or
"improve" them.

## 1. Provision an account
- Sign up: https://business.didit.me (no credit card required).
- Grab the API key for your application from the console.

## 2. Read the methods catalog first
Wallet availability is server-driven per country. Never hard-code a wallet list.

The catalog is not a public REST endpoint. Read it one of two ways:
  - Business Console (signed in): your application -> ID Verification ->
    Countries tab. https://docs.didit.me/console/id-verification-methods
  - Didit MCP server tool didit_workflow_get_id_verification_methods_catalog,
    authenticated with the same x-api-key; pass country (ISO 3166-1 alpha-3)
    to narrow it to one country. https://docs.didit.me/integration/mcp/tools
  - Public mirror of the coverage table (no auth, read-only):
    https://docs.didit.me/core-technology/id-verification/verification-methods#coverage

The catalog gives you, per wallet id: the display name, the countries it
covers, the issuing authority, the level of assurance, the availability state,
and the attributes it returns. MitID, Smart-ID, Mobile-ID and Finnish Trust
Network are available. Read the Finnish Trust Network integration guide:
https://docs.didit.me/core-technology/id-verification/finnish-trust-network
iDIN and other wallets remain coming soon until the catalog in
your environment marks them available. Re-read it; do not hard-code a date.

## 3. Create a workflow with the ID Verification (OCR) feature
POST https://verification.didit.me/v3/workflows/
  -H "x-api-key: <your-api-key>"
  -H "Content-Type: application/json"

The ID Verification feature's enum value is OCR (UPPERCASE — strict enum;
there is no ID_VERIFICATION alias and the API rejects it). Wallets are its
wallet method, accepted per country under config.methods on that same
feature entry, in the same request. Keys are ISO 3166-1 alpha-3.

{
  "workflow_label": "Wallet onboarding",
  "features": [
    {
      "feature": "OCR",
      "config": {
        "methods": {
          "DNK": {
            "document": { "enabled": true },
            "wallet": {
              "enabled": true,
              "providers": ["mitid"],
              "on_failure": "fallback_to_document"
            }
          },
          "FIN": {
            "document": { "enabled": true },
            "wallet": {
              "enabled": true,
              "providers": ["ftn"],
              "on_failure": "fallback_to_document"
            }
          }
        }
      }
    }
  ]
}

Response: the workflow uuid — use it as workflow_id in step 4.

Rules that the API enforces:
  - providers is an accept-list, not a ranking. Order carries no meaning and
    the end user picks
  - on_failure is either fallback_to_document or decline. It covers all three
    cases: no wallet, cancelled, sign-in failed
  - a wallet id the catalog does not mark available for that country is
    rejected, and the rejection fails the whole save — including any lookup
    configuration next to it. For unavailable wallets, keep wallet.enabled
    false (or omit the wallet block) so the save succeeds
  - unknown wallet ids already saved on a workflow are preserved untouched, so
    a config written by a newer console version is never silently dropped
  - a country with no method enabled is rejected at publish time

## 4. Create a session
POST https://verification.didit.me/v3/session/
  -H "x-api-key: <your-api-key>"
  -H "Content-Type: application/json"
  -d '{ "workflow_id": "<id from step 3>", "vendor_data": "<your user id>" }'

Response: 201 with url (the hosted verification link), session_token and
session_id. Redirect the user to url, or open it in the SDK. The field is
named url — there is no session_url and no verification_url. Didit
shows the accepted wallets for the user's country with their brand marks,
hands off to the wallet, and waits for the signed assertion to come back.

## 5. Webhooks
Register a destination (console -> API & Webhooks, or
POST https://verification.didit.me/v3/webhook/destinations/ with
webhook_version "v3" and subscribed_events ["status.updated"]) and store the
secret_shared_key it returns. Verify every delivery:

  Header:      X-Signature-V2   (NOT X-Signature, NOT X-Signature-Simple)
  Algorithm:   HMAC-SHA256, hex digest, over the CANONICAL JSON of the payload
               — the sender's Python json.dumps(sort_keys=True,
               separators=(",", ":"), ensure_ascii=False) after whole-valued
               floats become ints. Reproduce those bytes EXACTLY; do NOT
               "parse, sort keys, JSON.stringify", which fails in four ways:
               numbers come from the wire TEXT, never from parsed doubles
               (read the body with express.text, not express.json(),
               registered ABOVE any global app.use(express.json()), and
               re-emit integers through BigInt(source) — JSON.parse rounds
               1000000000000000129); floats use Python's repr (1e-05, not
               0.00001; 27.0 becomes 27); keys sort by Unicode CODE POINT as
               strings ("10" before "2", U+FF21 before U+1F642, which
               JavaScript's default .sort() reverses); and the bytes come
               straight from the sorted entries, never from a rebuilt object.
               Do NOT hash the raw request bytes — that is the v1
               X-Signature algorithm and fails for V2 whenever whitespace or
               key order differs from the canonical form.
  Freshness:   the signed body field timestamp is the dispatch time (Unix
               seconds, refreshed on every retry). Reject when
               abs(now - timestamp) > 300 seconds, and reject when the
               X-Timestamp header does not equal it. The header is not
               covered by the signature, so it must never be the only replay
               check: a captured delivery replays with just that header
               refreshed.
  Compare:     constant-time (crypto.timingSafeEqual)

Reference handler (Express) — use it as written:

// Your endpoint receives a signed payload
const crypto = require("node:crypto"); // ESM: import crypto from "node:crypto"
// X-Signature-V2 = HMAC over the canonical JSON, never the raw bytes. Match the sender byte for
// byte: keys sorted by code point, integers digit for digit, floats in Python's repr.
class Num { constructor(src) { this.src = src; } } // a number as written on the wire, not a double
const num = (s) => { if (/^-?\d+$/.test(s)) return BigInt(s).toString(); const n = +s; // ints stay exact
  if (Number.isInteger(n)) return BigInt(n).toString(); const [m, e] = n.toExponential().split("e"); // 27.0 -> 27
  return +e >= -4 ? String(n) : `${m}e-${String(-e).padStart(2, "0")}`; }; // 1e-05, not 0.00001
const byCodePoint = (a, b) => Buffer.compare(Buffer.from(a), Buffer.from(b)); // UTF-8 order = Python's
const canon = (v) => Array.isArray(v) ? `[${v.map(canon)}]` : v instanceof Num ? num(v.src)
  : v && typeof v === "object" ? `{${Object.keys(v).sort(byCodePoint).map((k) => `${JSON.stringify(k)}:${canon(v[k])}`)}}`
  : JSON.stringify(v);
// Read the body as text: express.json() would round 1000000000000000129 to a double first.
// Register this route ABOVE any global app.use(express.json()): the first parser to run
// consumes the stream, and a body it already parsed has lost the digits the signature covers.
app.post("/webhooks/didit", express.text({ type: "application/json" }), (req, res) => {
  const exact = JSON.parse(req.body, (k, v, c) => typeof v === "number" ? new Num(c.source) : v); // Node 21+
  const body = JSON.parse(req.body);
  const mac = crypto.createHmac("sha256", SECRET).update(canon(exact), "utf8").digest("hex");
  const sig = Buffer.from(String(req.headers["x-signature-v2"] ?? ""));
  // Freshness comes from the signed body timestamp; the header alone is unsigned and replayable.
  const ts = body.timestamp, fresh = String(ts) === req.headers["x-timestamp"]
    && Math.abs(Date.now() / 1000 - ts) <= 300;
  if (!fresh || sig.length !== mac.length
    || !crypto.timingSafeEqual(sig, Buffer.from(mac))) return res.sendStatus(401);
  const { status, decision } = body;
  // One entry per ID Verification node; pick yours by node_id when you run several.
  const [idv] = decision?.id_verifications ?? [];
  // idv.verification_method: "document" | "id_lookup" | "wallet"
  res.sendStatus(200);
});

Body fields you will use: session_id, status, webhook_type, workflow_id,
vendor_data, decision.
Status values: Approved, Declined, In Review, In Progress, Not Started,
Abandoned.

## 6. Reading the result
The decision is the V3 shape: every feature result is a plural array with one
entry per workflow node. ID Verification results live in
decision.id_verifications[] — there is no singular decision.kyc (that is the
V2 shape) and no decision.id_verification. Select your entry by node_id (the
id of your ID Verification node in the workflow graph); with a single ID step,
take index 0. Each entry carries, next to the document fields:

  verification_method    "document" | "id_lookup" | "wallet"
  assurance              "documentary" | "data_match" | "cryptographic"
  wallet_provider        the catalog wallet id the user signed in with; null
                         on document and id_lookup entries
  wallet_verification    provider, provider_name, issuing_authority,
                         issuing_country, credential_type, level_of_assurance
                         (low | substantial | high), verified_at,
                         signature_valid, attributes (what the wallet shared),
                         portrait when the wallet shares one; null otherwise
  fallback_from          { method, reason, action } when the session fell
                         back to document capture or was declined; else null

A wallet entry that succeeds is assurance cryptographic — the highest of the
three. Check wallet_verification.signature_valid before you trust attributes.
Field-by-field reference: https://docs.didit.me/reference/data-models#id-verification

## 7. Billing
  - published customer prices in USD per completed wallet verification:
    - MitID personal: $0.25; production availability: Available
    - BankID Sweden: $0.20; production availability: Available
    - Finnish Trust Network: $0.25; production availability: Available
    - Smart-ID: $0.20; production availability: Available
    - Mobile-ID: $0.20; production availability: Available
    - BankID Norway High: $0.35; production availability: Coming soon
    - Vipps Plus: $0.25; production availability: Coming soon
    - Buypass ID: Coming soon; production availability: Coming soon
    - itsme: Coming soon; production availability: Coming soon
    - iDIN full identification: $0.85; production availability: Coming soon
    - Personalausweis Profile 2: $0.45; production availability: Coming soon
    - Freja eID: $0.25; production availability: Coming soon
    - UAE PASS: Coming soon; production availability: Coming soon
    - gov.br: Coming soon; production availability: Coming soon
    - OneID: $2.50; production availability: Coming soon
    - GOV.UK Wallet: Coming soon; production availability: Coming soon
    - Bank iD: Coming soon; production availability: Coming soon
    - MojeID: Coming soon; production availability: Coming soon
    - Diia: Coming soon; production availability: Coming soon
    - FranceConnect: Coming soon; production availability: Coming soon
    - Auðkenni: Coming soon; production availability: Coming soon
    - ConnectID: Coming soon; production availability: Coming soon
    - EUDI Wallet: Coming soon; production availability: Coming soon
    - Estonian ID-card: Coming soon; production availability: Coming soon
    - eParaksts: Coming soon; production availability: Coming soon
  - an announced price does not enable a wallet; check the live workflow catalog
  - wallet checks are outside the document free tier; other checks are billed separately
  - full pricing: https://docs.didit.me/core-technology/id-verification/digital-id-wallets#pricing
  - document capture bills its own price when the user falls back

## 8. Hard rules — do not change
  - base URL for v3 endpoints: verification.didit.me
  - auth header: x-api-key (lowercase, hyphenated)
  - webhook headers: X-Signature-V2 plus X-Timestamp; canonical JSON, never
    raw bytes; freshness from the signed body timestamp
  - feature enum: OCR (uppercase) — the ID Verification feature; per-country
    methods go under its config.methods
  - method keys: document, id_lookup, wallet (lowercase, snake_case)
  - wallet ids come from the catalog verbatim, lowercase, snake_case
  - country keys: ISO 3166-1 alpha-3, uppercase
  - result path: decision.id_verifications[] (array), never decision.kyc

## 9. Verify your integration
  - run one session per accepted wallet in sandbox
  - assert the id_verifications[] entry for your node has verification_method
    wallet and wallet_verification.signature_valid true
  - cancel a wallet sign-in and assert your on_failure setting actually fires
  - assert your webhook accepts a correctly signed payload with reordered
    keys, whitespace and integer-like metadata keys ("10" before "2"), and
    rejects a wrong X-Signature-V2, a payload whose signed timestamp is older
    than 300 seconds, and that same stale payload with only the X-Timestamp
    header refreshed

Docs: https://docs.didit.me/integration/integration-prompt
هل تحتاج إلى المزيد من السياق؟ اطلع على وثائق الوحدة الكاملة.docs.didit.me ←
متوافق حسب التصميم

افتح دولة جديدة بنقرة واحدة. نحن نقوم بالعمل الشاق.

نحن نفتح الشركات التابعة المحلية، ونؤمن التراخيص، ونجري اختبارات الاختراق، ونحصل على الشهادات، ونتوافق مع كل لائحة جديدة. لنشر عمليات التحقق في بلد جديد، ما عليك سوى تفعيل مفتاح. أكثر من 220 دولة تعمل، يتم تدقيقها واختبار اختراقها كل ربع سنة, المزود الوحيد للهوية الذي وصفته حكومة دولة عضو في الاتحاد الأوروبي رسميًا بأنه أكثر أمانًا من التحقق الشخصي.
اقرأ ملف الأمن والامتثال
SOC 2 · Type II — AICPA · 2026
SOC 2 · Type I — AICPA · 2026
ISO/IEC 27001 — أمن المعلومات · 2026
بيئة اختبار مالية للاتحاد الأوروبي — 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 — متوافق مع الاتحاد الأوروبي حسب التصميم
Jugendschutz geprüft — FSM · JMStV §4(2) · 2026

أرقام الإثبات

أرقام الإثبات
  • 23
    المحافظ في كتالوج الطرق
  • 35
    الدول في الكتالوج
  • 10
    المحافظ ذات الضمان العالي eIDAS
  • $0.15
    التقاط المستندات، عندما يعود المستخدم

تسعيرة وتوفر محفظة الهوية الرقمية

الأسعار أدناه هي بالدولار الأمريكي لكل عملية تحقق مكتملة من المحفظة. وهي تغطي منتج الهوية المذكور؛ ويتم فوترة فحوصات سير العمل الأخرى والرجوع إلى المستندات بشكل منفصل. لا تغطي فحوصات المستندات المجانية الشهرية البالغ عددها 500 محفظة. السعر المعلن لا يعني أن المحفظة متاحة: يتم عرض التوفر بشكل منفصل. المحافظ المتاحة التي لا تحتوي على سعر منشور تظهر "عند الطلب"؛ والمحافظ المخطط لها التي لا تحتوي على سعر منشور تظهر "قريبًا". محافظ الهوية تتحقق من الأشخاص؛ فحص محافظ العملات المشفرة هو منتج منفصل.

متاح يعني مفعّل في بيئة الإنتاج. قريباً يعني لم يتم تفعيله بعد في بيئة الإنتاج، حتى لو بدأ اختبار التكامل. المحافظ المتاحة تظهر أولاً.

تم دمج ConnectID (أستراليا) للاختبار في بيئة sandbox؛ ولا يزال الوصول إلى بيئة الإنتاج قيد الإعداد. لا تزال بطاقة الهوية الإستونية (إستونيا) وeParaksts (لاتفيا) من ضمن عمليات الدمج المخطط لها. لا توجد أسعار منشورة أو تواريخ إطلاق إنتاج لهذه المحافظ.

اقرأ الوثائق التفصيلية
تسعيرة وتوفر محفظة الهوية الرقمية
محفظة الهويةدولار أمريكي / تحقق مكتملالبلد / المنطقةتوفر الإنتاج
MitID personal‏0.25 US$
  • Denmark
متاح
BankID Sweden‏0.20 US$
  • Sweden
متاح
Finnish Trust Network‏0.25 US$
  • Finland
متاح
Smart-ID‏0.20 US$
  • Estonia
  • Latvia
  • Lithuania
  • Belgium
متاح
Mobile-ID‏0.20 US$
  • Estonia
  • Lithuania
متاح
BankID Norway High‏0.35 US$
  • Norway
قريباً
Vipps Plus‏0.25 US$
  • Norway
قريباً
Buypass IDقريباً
  • Norway
قريباً
itsmeقريباً
  • Belgium
  • Luxembourg
  • Netherlands
قريباً
iDIN full identification‏0.85 US$
  • Netherlands
قريباً
Personalausweis Profile 2‏0.45 US$
  • Germany
قريباً
Freja eID‏0.25 US$
  • Sweden
قريباً
UAE PASSقريباً
  • United Arab Emirates
قريباً
gov.brقريباً
  • Brazil
قريباً
OneID‏2.50 US$
  • United Kingdom
قريباً
GOV.UK Walletقريباً
  • United Kingdom
قريباً
Bank iDقريباً
  • Czechia
قريباً
MojeIDقريباً
  • Czechia
قريباً
Diiaقريباً
  • Ukraine
قريباً
FranceConnectقريباً
  • France
قريباً
Auðkenniقريباً
  • Iceland
قريباً
ConnectIDقريباً
  • Australia
قريباً
EUDI Walletقريباً
  • Austria
  • Belgium
  • Bulgaria
  • Croatia
  • Cyprus
  • Czechia
  • Denmark
  • Estonia
  • Finland
  • France
  • Germany
  • Greece
  • Hungary
  • Ireland
  • Italy
  • Latvia
  • Lithuania
  • Luxembourg
  • Malta
  • Netherlands
  • Poland
  • Portugal
  • Romania
  • Slovakia
  • Slovenia
  • Spain
  • Sweden
  • Iceland
  • Liechtenstein
  • Norway
قريباً
Estonian ID-cardقريباً
  • Estonia
قريباً
eParakstsقريباً
  • Latvia
قريباً
ثلاث مستويات، قائمة أسعار واحدة

ابدأ مجانًا. ادفع حسب الاستخدام. وتوسع لخطط المؤسسات.

500 عملية تحقق مجانية كل شهر، مدى الحياة. ثم ادفع فقط عند تشغيل الوحدة. عقود مخصصة، إقامة البيانات، واتفاقيات مستوى الخدمة (SLAs) لخطط المؤسسات.

مجاني

$0/ شهر · بدون بطاقة

للبناء والاختبار، وللمستخدمين الأوائل.

كل ما تحتاجه للبدء:
  • 500 عملية تحقق KYC كاملة شهريًا
  • التحقق من الهوية، التحقق من الحيوية، مطابقة الوجه، الجهاز وعنوان IP
  • أكثر من 200 إشارة احتيال، قائمة حظر، كشف التكرارات
  • إعادة استخدام KYC عبر شبكة Didit
  • منشئ سير العمل، إدارة الحالات، SDKs
  • دعم بالذكاء الاصطناعي وكيل ذكاء اصطناعي داخل لوحة التحكم، وثائق، ومجتمع.
الأكثر شيوعًا

ادفع حسب الاستخدام

$0.33لكل KYC كامل

أكثر من 25 وحدة، بأسعار معلنة للجميع. خصومات تلقائية على الكميات.

كل ما هو متاح في مجاني، بالإضافة إلى:
  • فحص ومراقبة مكافحة غسل الأموال (AML) بدءًا من 0.07 دولار
  • تسعير سجل الأعمال حسب البلد ومستوى البيانات
  • مراقبة المعاملات بسعر $0.02 لكل معاملة
  • فحص المحافظ بسعر $0.15 لكل عملية فحص
  • تدفق ذو علامة بيضاء تحت علامتك التجارية الخاصة
  • دعم بالذكاء الاصطناعي وكيل ذكاء اصطناعي داخل لوحة التحكم، وثائق، ومجتمع.

المؤسسات

حسب الطلبعقد سنوي

للحجوم الكبيرة والبرامج المنظمة.

كل ما هو متاح في ادفع حسب الاستخدام، بالإضافة إلى:
  • عقود سنوية، تسعير حسب حجم الالتزام
  • شروط قانونية مخصصة واتفاقية مستوى خدمة (SLA) بنسبة 99.99% لوقت التشغيل
  • إقامة البيانات، الاحتفاظ بها، ومراجعة الأمان
  • مراجعون يدويون عند الطلب
  • شروط إعادة البيع والعلامة البيضاء (White-label)
  • دعم بشري ذو أولوية قناة Slack مشتركة متاحة 24/7، ومدير نجاح مخصص.

تُطبق خصومات الحجم تلقائيًا مع زيادة الاستخدام — لا تفاوض، ولا مكالمات مبيعات.

FAQ

أسئلة شائعة

ما هو Didit؟

Didit هو بنية تحتية للهوية والاحتيال، المنصة التي تمنينا وجودها عندما كنا نبني منتجاتنا بأنفسنا: مفتوحة، مرنة، وصديقة للمطورين، لتعمل كجزء حقيقي من حزمتك التقنية بدلاً من صندوق أسود تدمجه حوله.

واجهة برمجة تطبيقات (API) واحدة تغطي التحقق من الأشخاص (KYC، اعرف عميلك)، والتحقق من الشركات (KYB، اعرف عملك)، وفحص محافظ العملات المشفرة (KYT، اعرف معاملتك)، ومراقبة المعاملات في الوقت الفعلي، على بنية مصممة لتكون:

  • سريعة، أقل من ثانيتين في 99% من الجلسات
  • موثوقة، قيد الإنتاج مع أكثر من 2000 شركة عبر أكثر من 220 دولة
  • آمنة، متوافقة مع SOC 2 Type 1 & Type 2، ISO 27001، متوافقة أصلاً مع GDPR، ومعتمدة رسميًا من قبل الجهة التنظيمية المالية الإسبانية بأنها أكثر أمانًا من التحقق الشخصي

البصمة الأساسية: أكثر من 14,000 نوع مستند بأكثر من 48 لغة، أكثر من 1,000 مصدر بيانات، وأكثر من 200 إشارة احتيال في كل جلسة. تتعلم بنية Didit التحتية ديناميكيًا من كل جلسة وتتحسن يومًا بعد يوم.

ما هو التحقق من محفظة الهوية الرقمية؟

يصادق المستخدم باستخدام هوية إلكترونية (eID) موجودة، ويتحقق Didit من دليل الهوية الموقّع قبل كتابة النتيجة إلى الجلسة. يعتمد التفاعل على المحفظة: يطلب Smart-ID رمزًا شخصيًا، بينما يطلب Mobile-ID أيضًا رقم هاتف. كلاهما يستخدم رمز مقارنة وموافقة على جهاز المستخدم.

مصادقة المحفظة هي إحدى الطرق ضمن التحقق من الهوية، إلى جانب التقاط المستندات والبحث غير المستندي. في واجهة برمجة تطبيقات سير العمل، تُسمى هذه الميزة OCR. تعتمد المحافظ المتاحة على البلد والبيئة. ابدأ بـ وثائق المحفظة.

ما هي محافظ الهوية الرقمية التي يمكنني تفعيلها في بيئة الإنتاج؟

تتوفر محافظ MitID وSmart-ID وMobile-ID وFinnish Trust Network. تغطي Smart-ID إستونيا ولاتفيا وليتوانيا وبلجيكا؛ وتغطي Mobile-ID إستونيا وليتوانيا؛ وتغطي Finnish Trust Network فنلندا. تخدم MitID الدنمارك. المحافظ الأخرى المذكورة، بما في ذلك iDIN وBankID وFreja eID وConnectID ومحفظة EUDI، ستتوفر قريبًا.

اختر المحافظ المقبولة لكل بلد في لوحة التحكم. تستخدم واجهة برمجة تطبيقات سير العمل (workflow API) الكتالوج الخاص ببيئتك وبلدك. استخدم دليل التكامل لتكوين الرجوع إلى المستندات.

كيف يتحقق مستخدمو Smart-ID و Mobile-ID من هويتهم؟

يختار المستخدم محفظة مقبولة، ويدخل رمزه الشخصي، ويزود رقم هاتف لـ Mobile-ID. تعرض Didit رمز مقارنة. يتحقق المستخدم من تطابق الرمز مع الرمز الموجود على هاتفه ويوافق على طلب المصادقة هناك. يتم إدخال رقم التعريف الشخصي (PIN) فقط على جهاز المستخدم، وليس في Didit أبدًا.

تنتظر Didit الاستجابة الموقعة، وتتحقق من التوقيع وحالة الشهادة، وتعيد سمات الهوية التي تم التحقق منها إلى الجلسة. يعتمد وقت الإكمال على المستخدم واستجابة المحفظة. اتبع دليل Smart-ID وMobile-ID.

كيف يتحقق Didit من مصادقة Smart-ID و Mobile-ID؟

يتحقق Didit من توقيع المصادقة مقابل التحدي لتلك الجلسة، ويتحقق من الشهادة مقابل الجهات المصدرة الموثوقة، ويتحقق من حالة الإلغاء. يجب أن تتطابق الهوية المعادة مع الرمز الشخصي والبلد المستخدم للطلب. يتحقق التدفق المستضاف أيضًا من رمز الجلسة ويرفض محاولات الإكمال المتكررة.

تربط هذه الفحوصات الاستجابة الموقعة بالمستخدم والطلب المتوقعين. إنها لا تحل محل حاجة المستخدم لمقارنة الرموز وحماية جهازه. اقرأ طريقة التحقق ومزود المحفظة والسمات الموقعة على نتيجة الجلسة، وتحقق من توقيعات الويب هوك قبل استخدام النتيجة في تطبيقك. راجع الدليل الفني.

ماذا يحدث إذا لم يكن لدى المستخدم محفظة، أو ألغى العملية، أو فشل تسجيل الدخول؟

مفتاح واحد يغطي جميع الحالات الثلاث: لا توجد محفظة، تم الإلغاء، أو فشل تسجيل الدخول. فإما أن يعود إلى التقاط المستندات أو يرفض الجلسة، ويمكنك ضبط ذلك لكل بلد.

تسجل النتيجة الطريقة التي تم الرجوع إليها والسبب، لذلك لا يكون تسجيل الدخول الفاشل عبر المحفظة غير مرئي أبدًا.

ما هي الدول التي تدعم Smart-ID و Mobile-ID في Didit؟

تتوفر Smart-ID في إستونيا ولاتفيا وليتوانيا وبلجيكا. تتوفر Mobile-ID في إستونيا وليتوانيا. لا تدعم Mobile-ID لاتفيا. يحتاج المستخدمون إلى بيانات اعتماد مؤهلة للمحفظة التي اختاروها.

قم بتمكين كل محفظة للبلد المقابل في سير عملك. اقرأ دليل Smart-ID وMobile-ID لخطوات المصادقة وحقول الهوية التي تم التحقق منها والرجوع إلى المستندات.

أين توجد بيانات عملائي وكيف يتم حمايتها؟

مشفرة أثناء النقل وفي وضع السكون، في المنطقة التي تختارها، بموجب SOC 2 Type 1 and Type 2 و ISO 27001 و GDPR.

تشارك المحفظة فقط السمات التي يطلبها الطلب، ويمكنك إلغاء تحديد أي سمة اختيارية بحيث لا يتم تخزينها على الإطلاق. يتم دائمًا تخزين السمات المطلوبة، جنبًا إلى جنب مع مرجع التأكيد الموقّع الذي يحتاجه المدقق.

تفاصيل كاملة على /security-compliance.

هل Didit متوافق مع مجال عملي؟

Didit قيد الإنتاج مع أكثر من 2000 شركة عبر الصناعات المنظمة — التكنولوجيا المالية، الخدمات المصرفية، الألعاب الإلكترونية، العملات المشفرة، الأسواق، الرعاية الصحية والحكومة.

يصل تسجيل الدخول عبر المحفظة إلى مستوى ضمان التشفير، وهو أقوى دليل من بين الطرق الثلاث، ويتم تسجيل مستوى الضمان في كل جلسة. عندما يحدد منظم معين هوية إلكترونية وطنية محددة، فإن قبول تلك المحفظة عادة ما يكون أنظف طريقة لتلبية المتطلبات.

مذكرات على /security-compliance.

ما مدى سرعة دمج النظام والبدء في التحقق من المستخدمين؟

في دقائق، بثلاث طرق.

  • بدون كود — أنشئ سير العمل في لوحة التحكم، حدد المحافظ التي تقبلها لكل بلد، وأرسل لمستخدمك رابطًا.
  • SDK أو إعادة توجيه — الويب، iOS، Android، React Native و Flutter، أو صفحة مستضافة.
  • وكيل الذكاء الاصطناعي — الصق موجه التكامل في هذه الصفحة في Claude Code، Cursor أو Codex ودعه يربط كل شيء، بما في ذلك الـ webhook.

ابدأ من business.didit.me، أو اقرأ docs.didit.me/integration/integration-prompt.

بنية تحتية للهوية والاحتيال.

واجهة برمجية واحدة لـ KYC و KYB ومراقبة المعاملات وفحص المحافظ. ادمجها في 5 دقائق.

اطلب من الذكاء الاصطناعي تلخيص هذه الصفحة