استبدل كلمة المرور لمرة واحدة عبر الرسائل القصيرة. اجعل صورة السيلفي العامل الثاني.
عزز التدفقات الحساسة بمطابقة وجه في أقل من ثانيتين مقابل الصورة المسجلة. مقاومة للتصيد الاحتيالي. محصنة ضد تبديل شرائح SIM. 0.10 دولار لكل مصادقة. 500 عملية تحقق مجانية كل شهر.
مقاومة للتصيد الاحتيالي · محصنة ضد تبديل شرائح SIM
لا يوجد كود للتصيد. لا توجد بطاقة SIM للتبديل.
العامل الثاني هو وجه المستخدم، تتم مطابقته 1:1 مع الصورة
التي سجلها عند الاشتراك. تمنع خاصية التحقق من الحيوية هجمات الطباعة / إعادة التشغيل / القناع /
الشبكة التوليدية التنافسية (GAN) على نفس الإطار. حكم في أقل من ثانيتين
على أجهزة Android للمبتدئين. 0.10 دولار لكل مصادقة. 500 عملية تحقق
مجانية كل شهر.
كيف يعمل
من التسجيل إلى مستخدم موثق في أربع خطوات.
الخطوة 01
أنشئ سير العمل
اختر الفحوصات التي تريدها, الهوية، الحيوية، مطابقة الوجه، العقوبات، العنوان، العمر، الهاتف، البريد الإلكتروني، الأسئلة المخصصة. اسحبها إلى تدفق في لوحة التحكم، أو انشر نفس التدفق على واجهة برمجة التطبيقات (API) الخاصة بنا. تفرع بناءً على الشروط، وقم بإجراء اختبارات A/B، لا يتطلب الأمر أي كود.
الخطوة 02
الدمج
ادمج بشكل أصلي مع SDK الخاص بنا للويب، iOS، Android، React Native، أو Flutter. أعد التوجيه إلى صفحة مستضافة. أو ببساطة أرسل لمستخدمك رابطًا, عبر البريد الإلكتروني، الرسائل القصيرة، واتساب، أي مكان. اختر ما يناسب نظامك.
الخطوة 03
يمر المستخدم بالتدفق
تستضيف Didit الكاميرا، إشارات الإضاءة، التسليم عبر الهاتف المحمول، وإمكانية الوصول. بينما يكون المستخدم في التدفق، نقوم بتقييم أكثر من 200 إشارة احتيال في الوقت الفعلي والتحقق من كل حقل مقابل مصادر البيانات الموثوقة. النتيجة في أقل من ثانيتين.
الخطوة 04
تتلقى النتائج
تُبقي الـ webhooks الموقعة في الوقت الفعلي قاعدة بياناتك متزامنة لحظة الموافقة على المستخدم، أو رفضه، أو إرساله للمراجعة. استعلم من API عند الطلب. أو افتح وحدة التحكم لفحص كل جلسة، كل إشارة، وإدارة الحالات بطريقتك.
بديل مباشر لـ SMS OTP · مرتبط بالمستخدم، وليس برمز
ست قدرات. 0.10 دولار لكل مصادقة.
سير عمل تكيفي واحد، حكم موقّع واحد، نفس شكل رد الاتصال (callback) مثل تدفق OAuth الحالي الخاص بك. لا يوجد اعتماد على شركات الاتصالات، لا يوجد سطح هجوم SS7، لا يوجد تعرض لتبديل شرائح SIM.
افتح استدعاء Sessions API، أعد توجيه المستخدم إلى واجهة المستخدم المستضافة، التقط إطارًا واحدًا سلبيًا. التحقق من الحيوية + مطابقة الوجه 1:1 + إرجاع الـ webhook الموقّع في غضون ثانيتين. لا يتطلب تثبيت تطبيق، لا SDK، لا مسار شركة اتصالات.
واجهة مستخدم مستضافة على رابط جلسة فريد, لا يتطلب تطبيقًا.
02 · مطابقة الوجه 1:1
مطابقة الصورة الذاتية الحية مع الصورة المسجلة.
الصورة الملتقطة أثناء جلسة KYC الأصلية للمستخدم هي القالب. كل مصادقة لاحقة تقارن الصورة الذاتية الجديدة بها وتعيد درجة تشابه (similarity_score) تتراوح من 0 إلى 1. اضبط عتبة الموافقة التلقائية لكل سير عمل. التكلفة 0.05 دولار لكل مكالمة Face Match مستقلة؛ و0.10 دولار عند دمجها مع Liveness.
الهجمات الأربعة التي يحذر منها مكتب التحقيقات الفيدرالي الأمريكي (FBI) والمركز الوطني للأمن السيبراني في المملكة المتحدة (NCSC) بخصوص كلمات المرور لمرة واحدة عبر الرسائل القصيرة (SMS), تبديل بطاقة SIM، تصيد كلمات المرور لمرة واحدة (OTP phishing)، مجموعات التصيد الاحتيالي عبر الرسائل القصيرة (smishing kits)، واعتراض شركات الاتصالات, كلها تتغلب على الرسائل القصيرة. لا يعمل أي منها ضد صورة ذاتية حية مطابقة للصورة المسجلة. يدرج تحالف FIDO التعرف على الوجه على الجهاز كمقاوم للتصيد الاحتيالي.
تُصنّف FIDO Alliance ميزة التعرف على الوجه على الجهاز كمقاومة للتصيد الاحتيالي.
04 · عزز الأمان حيثما يلزم
التشغيل فقط على الأسطح التي تستدعي ذلك.
تسجيل الدخول من جهاز جديد، تحويل يتجاوز عتبة المخاطر الخاصة بك، تغيير كلمة المرور / الإعدادات، استعادة الحساب. قم بالاقتران مع تحليل الجهاز وعنوان IP بحيث يؤدي إعادة المصادقة على جهاز جديد تمامًا + بروتوكول إنترنت (IP) جديد تمامًا إلى تصعيد تلقائي. نفس سير العمل، ولكن بمحفزات أكثر ذكاءً.
تسجيل الدخول من جهاز جديدفرض إعادة المصادقة قبل المنح
تحويل ذو قيمة كبيرةفوق عتبة المخاطر الخاصة بك
تغيير كلمة المرور / الإعداداتمنع حشو بيانات الاعتماد
استعادة الحسابإيقاف الاستيلاء عبر تبديل بطاقة SIM
تكيفي, فقط عندما يستدعي الخطر ذلك.~2 ثانية لكل فحص
05 · حمولة موقّعة واحدة
بديل جاهز لرد الاتصال الحالي الخاص بـ OTP.
يقوم الويب هوك بتسليم الحالة، ودرجة التشابه (similarity_score)، والطريقة، ورأس X-Signature-V2 للتحقق من رمز مصادقة الرسائل المستند إلى التجزئة (HMAC) SHA-256. نفس شكل رد الاتصال، ونفس نمط إعادة التوجيه. معظم الفرق تستبدل الرسائل القصيرة بالوجه في عطلة نهاية أسبوع.
تتراوح تكلفة كلمة المرور لمرة واحدة عبر الرسائل القصيرة (SMS) من الفئة الأولى في الولايات المتحدة بين 0.05 دولار و 0.30 دولار لكل إرسال حسب شركة الاتصالات, وتدفع حتى لو لم يتلق المستخدم الرمز أبدًا. تكلفة المصادقة البيومترية من Didit ثابتة عند 0.10 دولار مع 500 عملية تحقق مجانية كل شهر. لا يوجد اعتماد على شركة اتصالات، ولا تعريفة لكل بلد، ولا حدود دنيا للعقود.
الصق في Claude Code، Cursor، Codex، Devin، Aider، أو Replit Agent. املأ بيانات نظامك. يقوم الوكيل بتوفير Didit، وبناء سير عمل المصادقة البيومترية، واستبدال رد الاتصال الحالي لـ OTP، ويتم الشحن في عطلة نهاية الأسبوع.
didit-integration-prompt.md
You are integrating Didit's Biometric 2FA into <my_stack>. Replace SMS one-time-password (OTP) on sensitive flows — login from a new device, large-value transfer, settings change, account recovery — with a sub-2-second face match against the user's enrolled portrait. Cheaper than SMS. Phishing-resistant. SIM-swap-proof.
1. Enrol the user's portrait ONCE at sign-up via the standard Know Your Customer (KYC) session.
2. On every sensitive action, open a Biometric Authentication session that runs Passive Liveness + Face Match 1:1 against the stored portrait. Verdict in sub-2-seconds.
Pricing (public):
- Biometric Authentication: $0.10 per authentication (Sessions API)
- Standalone Face Match 1:1: $0.05 per match (server-to-server)
- First 500 verifications free every month, forever
PRE-REQUISITES
- Production API key from https://business.didit.me (sandbox key in 60s, no card).
- Webhook endpoint with Hash-based Message Authentication Code (HMAC) SHA-256 verification using the X-Signature-V2 header.
- The user has previously enrolled — either via a full KYC session (recommended; the portrait is stored automatically and never leaves Didit) or via a portrait you supply on each re-auth.
- A workflow_id from the Workflow Builder. The workflow MUST contain LIVENESS, and the session must be opened with workflow_type = "biometric_authentication" (or use a workflow that has FACE_MATCH and pass a portrait_image at session creation).
STEP 1 — Enrolment (one-time, at user sign-up)
Run a standard KYC session at sign-up. Didit stores the portrait (the face captured during the liveness step) as the user's enrolled template, bound to vendor_data.
POST https://verification.didit.me/v3/session/
Body:
{
"workflow_id": "<your KYC workflow>",
"vendor_data": "<your user id>"
}
No additional code — once the user passes KYC, their enrolled portrait is ready for every future re-auth.
STEP 2 — Re-authentication (on every sensitive action)
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<your biometric_authentication workflow>",
"workflow_type": "biometric_authentication",
"vendor_data": "<the same user id used at enrolment>",
"callback": "https://<your-app>/2fa/callback",
"metadata": {
"reason": "<login_new_device | high_value_txn | settings_change | account_recovery>",
"amount": "<optional, for large-value transfers>"
},
"portrait_image": "<base64 JPEG of the user's enrolment selfie, ≤ 1 MB — REQUIRED when the workflow has FACE_MATCH active; OMIT for liveness-only mode>"
}
Response: 201 Created with the hosted session_url. Redirect the user to it. The hosted UI:
- Opens the front camera
- Captures one passive frame
- Runs Liveness + Face Match 1:1 against the user's enrolled portrait
- Returns the verdict in sub-2-seconds
STEP 3 — Read the signed verdict on the webhook
Body (excerpted for a passing re-auth):
{
"session_id": "<uuid>",
"vendor_data": "<your user id>",
"status": "Approved",
"liveness": { "status": "Approved", "method": "PASSIVE", "score": 96 },
"face": {
"status": "Approved",
"similarity_score": 0.96
}
}
Verify X-Signature-V2 BEFORE trusting the body — HMAC SHA-256 of the raw bytes with your webhook secret.
Session status enum (exact case): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
Branch your application:
Approved → execute the action (sign in, release the transfer, save settings).
Declined → block the action, re-prompt with a higher-friction recovery path (support contact / KYC re-do).
In Review → hold; route to your operations queue.
Not Finished → user abandoned the capture; safe to re-prompt or fall back.
STEP 4 — Alternate path (server-to-server, when you already have the selfie)
If you already captured the selfie locally (native mobile SDK, in-app camera):
POST https://verification.didit.me/v3/face-match/
Headers:
x-api-key: <your api key>
Body (multipart/form-data):
image_a <the live selfie>
image_b <the enrolled portrait>
Response: similarity_score (0-1), status (Approved | Declined | In Review).
Use the standalone path only when you trust your client-side capture pipeline. For browser flows or any surface where the SDK is not embedded, always prefer the hosted session — Didit's liveness check is harder to defeat than a raw camera grab.
WEBHOOK EVENT NAMES
- Sessions: status changes flow through the standard session webhook.
- Always verify X-Signature-V2 on every payload.
CONSTRAINTS
- Base URL for /v3/* endpoints is verification.didit.me (NOT apx.didit.me).
- Feature enum is UPPERCASE: LIVENESS, FACE_MATCH, ID_VERIFICATION, AML, IP_ANALYSIS, AGE_ESTIMATION.
- Method enum is UPPERCASE: PASSIVE, FLASHING, ACTIVE_3D.
- Auth header is x-api-key (lowercase, hyphenated).
- Webhook signature header is X-Signature-V2 (NOT X-Signature).
- Status casing matches exactly: Approved, Declined, In Review, Expired, Not Finished, Resubmitted, Kyc Expired, Abandoned.
- The biometric template is irreversible (a one-way hash) and stored on Didit's infrastructure. You never receive the raw template. Standard data-subject-deletion rules apply.
PRO TIPS
- Pair Biometric 2FA with Device & IP Analysis (bundled into the 200+ fraud-signal stack). A re-auth that originates from a brand-new device + a brand-new IP should always step up to face.
- For the strongest possible surface, swap method PASSIVE for ACTIVE_3D — a short motion challenge — on transfers above your operational risk threshold.
Read the docs:
- https://docs.didit.me/core-technology/biometric-auth/overview
- https://docs.didit.me/sessions-api/create-session
- 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.
متوافق حسب التصميم
افتح دولة جديدة بنقرة واحدة. نحن نقوم بالعمل الشاق.
نحن نفتح الشركات التابعة المحلية، ونؤمن التراخيص، ونجري اختبارات الاختراق، ونحصل على الشهادات، ونتوافق مع كل لائحة جديدة. لنشر عمليات التحقق في بلد جديد، ما عليك سوى تفعيل مفتاح. أكثر من 220 دولة تعمل، يتم تدقيقها واختبار اختراقها كل ربع سنة, المزود الوحيد للهوية الذي وصفته حكومة دولة عضو في الاتحاد الأوروبي رسميًا بأنه أكثر أمانًا من التحقق الشخصي.