تحقق من أن كل ناخب هو شخص حقيقي وفريد — واكتشف نفس الشخص الذي يحاول التصويت مرتين. $0.33 لكل ناخب، يتم اكتشاف التكرارات مجانًا. 500 عملية تحقق مجانية كل شهر.
يمكن لإنسان واحد إنشاء مائة محفظة أو عنوان بريد إلكتروني أو هواتف
مؤقتة. لا شيء من ذلك يثبت أنهم مائة إنسان مختلف. تربط Didit
التصويت بوجه حقيقي ووثيقة حقيقية — وتكتشف ميزة Face Search 1:N (مجانية)
الشخص نفسه الذي يحاول مرة أخرى. 500 عملية تحقق مجانية كل شهر.
كيف يعمل
من التسجيل إلى المستخدم المتحقق منه في أربع خطوات.
الخطوة 01
إنشاء سير العمل
اختر الفحوصات التي تريدها — الهوية، الحيوية، مطابقة الوجه، العقوبات، العنوان، العمر، الهاتف، البريد الإلكتروني، الأسئلة المخصصة. اسحبها إلى تدفق في لوحة التحكم، أو انشر نفس التدفق على واجهة برمجة التطبيقات الخاصة بنا. تفرع بناءً على الشروط، وقم بإجراء اختبارات A/B، لا يلزم وجود رمز.
الخطوة 02
الدمج
قم بالتضمين بشكل أصلي باستخدام Web، أو iOS، أو Android، أو React Native، أو Flutter SDK. أعد التوجيه إلى صفحة مستضافة. أو أرسل للمستخدم رابطًا فقط — عبر البريد الإلكتروني، أو الرسائل القصيرة، أو واتساب، أو أي مكان. اختر ما يناسب مجموعتك التقنية.
الخطوة 03
يمر المستخدم عبر التدفق
تستضيف Didit الكاميرا، وإشارات الإضاءة، والتسليم عبر الهاتف المحمول، وإمكانية الوصول. بينما يكون المستخدم في التدفق، نقوم بتسجيل أكثر من 200 إشارة احتيال في الوقت الفعلي والتحقق من كل حقل مقابل مصادر البيانات الموثوقة. النتيجة في أقل من ثانيتين.
الخطوة 04
تتلقى النتائج
تحافظ الـ webhooks الموقعة في الوقت الفعلي على مزامنة قاعدة بياناتك لحظة الموافقة على المستخدم، أو رفضه، أو إرساله للمراجعة. استعلم واجهة برمجة التطبيقات عند الطلب. أو افتح وحدة التحكم لفحص كل جلسة، وكل إشارة، وإدارة الحالات بطريقتك.
مصمم للحوكمة · مسعر كبنية تحتية
ست بدائيات. API واحد. $0.33 لكل ناخب.
هوية مكافحة Sybil ليست فحصًا واحدًا — إنها وصفة. KYC للناخب، البحث مقابل المجموعة، فرض الأهلية، توقيع حزمة التدقيق، إعادة الاستخدام في الجولة التالية.
حزمة KYC معتمدة من iBeta Level 1 لمكافحة الانتحال — التحقق من الهوية، الحيوية السلبية، مطابقة الوجه 1:1، فحص AML. حكم في أقل من ثانيتين، أكثر من 14,000 وثيقة عبر أكثر من 220 دولة.
ترى منصة التصويت فقط `unique: true`، ومعرفًا زائفًا (PID)، ونطاقًا عمريًا، ومنطقة. تبقى الوثائق والبيانات البيومترية داخل Didit، مشفرة في حالة السكون. متوافقة مع GDPR، ISO/IEC 27001، SOC 2 Type 1.
متوافق مع اللائحة العامة لحماية البيانات (GDPR) · ISO/IEC 27001 · SOC 2 Type 1.
04 · بيانات اعتماد قابلة لإعادة الاستخدام
تحقق مرة واحدة. صوّت في كل مكان.
تتيح ميزة KYC القابلة لإعادة الاستخدام (مجانية، ومضمنة) للناخب المتحقق منه إثبات التفرد في كل تصويت لاحق بصورة سيلفي فقط — لا يلزم إعادة التقاط المستند. تعمل عبر كل منصة مدعومة من Didit. متوافقة مع eIDAS2.
التصويت التالي · صورة شخصية فقطمجاني · KYC قابل لإعادة الاستخدام
عبر الأنظمة الأساسيةنفس الهوية، كل منصة Didit
Soulbound، اختياريإقران مع شهادات على السلسلة
متوافق مع eIDAS2. المستخدم يمتلك بيانات الاعتماد.
05 · قواعد الاختصاص القضائي
أهلية لكل منطقة لكل ناخب.
القائمة البيضاء للدول، الحد الأدنى للعمر، استبعاد العقوبات / PEP، انتهاء صلاحية المستند، عتبة التشابه — كلها مطبقة في سير عمل واحد. قم بتحرير القواعد في Workflow Builder بدون الحاجة إلى إعادة النشر.
بلد الإصدار · القائمة البيضاءإسبانيا · فرنسا · ألمانيا · إيطاليااجتياز
الحد الأدنى للعمر≥ 18اجتياز
عقوبات / PEPأكثر من 1,300 قائمةحظر
انتهاء صلاحية الوثيقةصالح في يوم التصويتمراجعة
البحث بالوجه 1:N · مجموعةتشابه ≥ 0.85حظر
تعديل الأهلية في منشئ سير العمل بدون تعليمات برمجية.
06 · حزمة التدقيق
إثباتات تشفيرية لسلامة التصويت.
إيصالات التسجيل الموقعة (X-Signature-V2، HMAC SHA-256)، معرفات الناخبين الزائفة (PIDs)، سجلات مقاومة للتلاعب مع احتفاظ افتراضي لمدة 5 سنوات. تصدير إلى بوابة الشفافية الخاصة بك أو لقطة DAO الخاصة بك.
200OKالحالة موافق عليه · مرفوض · قيد المراجعة · أعيد تقديمه · منتهي الصلاحية
المطابقات غير الفارغة فوق 0.85 ← مكرر، حظر.الوثائق ←
تكامل جاهز للوكيل
شحن التصويت المضاد لـ Sybil في موجه واحد.
الصق في Claude Code، Cursor، Codex، Devin، Aider، أو Replit Agent. املأ مكدسك. يقوم الوكيل ببناء سير عمل التسجيل، ويحظر التكرارات، ويوقع الحكم، ويجهز الجولة التالية.
didit-integration-prompt.md
You are integrating Didit anti-Sybil identity into a voting / governance / survey / airdrop / quadratic-funding platform. The recipe ensures each real human can be counted exactly once — no duplicates, no bots, no farmed accounts.
Two pillars:
1. Verify the voter is a real human with a real identity. ONE call to POST /v3/session/ with ID Verification + Liveness + Face Match.
2. Check the voter has not already been enrolled in this cohort. Face Search 1:N runs the voter's face against every previously-enrolled voter and returns a similarity score. Above threshold → duplicate, block.
Cost:
- Voter Know Your Customer (KYC) bundle: $0.33 per voter (Sessions API)
- Face Search 1:N: free (included)
- Re-vote / next round with Reusable KYC: free (the user proves uniqueness without re-doing KYC)
- 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 HMAC SHA-256 verification using the X-Signature-V2 header and your webhook secret.
- A workflow_id from the Workflow Builder that bundles ID Verification + Passive Liveness + Face Match 1:1 + Face Search 1:N + your jurisdiction rules (age, country, sanctions).
STEP 1 — Enrol the voter with the Sessions API
POST https://verification.didit.me/v3/session/
Headers:
x-api-key: <your api key>
Content-Type: application/json
Body:
{
"workflow_id": "<wf id with KYC + Face Search 1:N>",
"vendor_data": "<your voter id, max 256 chars>",
"callback": "https://<your-app>/vote/enrolment/callback",
"metadata": {
"purpose": "vote_enrolment",
"cohort_id": "<your election / round / airdrop id>"
}
}
Response: 201 Created with the hosted session URL. Redirect the voter to it. Sub-2-second median verdict on completion.
STEP 2 — Read the signed webhook on enrolment completion
Didit POSTs to your callback. Session statuses are Title Case With Spaces:
Body (excerpted):
{
"session_id": "<uuid>",
"vendor_data": "<your voter id>",
"status": "Approved",
"id_verification": { "status": "Approved" },
"liveness": { "status": "Approved" },
"face": { "status": "Approved", "similarity_score": 0.94 },
"face_search": { "status": "Approved", "matches": [] }
}
Status enum (exact case): Approved | Declined | In Review | Resubmitted | Expired | Not Finished | Kyc Expired | Abandoned.
Verify the X-Signature-V2 header BEFORE reading the body — HMAC SHA-256 of the raw bytes with your webhook secret.
STEP 3 — Block duplicates
When face_search.matches is non-empty AND the top match's similarity is above your threshold (typical: 0.85), DO NOT add the voter to the cohort. The voter has likely been enrolled already, possibly under a different document or alias.
Recommended handling:
similarity ≥ 0.95 → block automatically, log the match
similarity 0.85–0.95 → route to manual review
similarity < 0.85 → enrol normally
STEP 4 — Privacy-preserving storage
The platform stores ONLY:
- voter_pid (pseudonymous identifier — a UUID, NOT the raw document number)
- unique (boolean)
- age_band (e.g. "18+", "25-34") — never the raw birth date unless your eligibility rule needs it
- region (e.g. "EU", "ES") — never the raw address
Documents, biometrics, and full names stay inside Didit, encrypted at rest. Default retention 5 years post-relationship; configurable per workflow.
STEP 5 — Read the decision on demand
GET https://verification.didit.me/v3/session/{sessionId}/decision/
Headers:
x-api-key: <your api key>
Returns the full decision JSON. Use this when the tally service needs to confirm a voter is still eligible at vote time.
STEP 6 — Reusable KYC for subsequent rounds
Once a voter is verified, the next vote / round / airdrop can reuse the verification at no extra cost. The user proves uniqueness with a selfie only — no document re-capture. Same workflow, different cohort id.
WEBHOOK EVENT NAMES
- Sessions: status changes flow through the standard session webhook.
- Verify X-Signature-V2 on every payload.
CONSTRAINTS
- Session statuses use Title Case With Spaces (Approved, In Review). Don't transform them.
- Face Search 1:N is scoped to YOUR cohort by default — Didit doesn't share faces across customers.
- Always check the duplicate score BEFORE recording the ballot, never after.
- The platform never sees the raw ID document or the raw face template — only the verdict and the pseudonymous PID.
- Default record retention is 5 years post-relationship per the EU AML package; extend per your governing body's rules.
Read the docs:
- https://docs.didit.me/sessions-api/create-session
- https://docs.didit.me/sessions-api/retrieve-session
- https://docs.didit.me/integration/webhooks
- https://docs.didit.me/core-technology/reusable-kyc/overview
Start free at https://business.didit.me — sandbox key in 60 seconds, 500 verifications free every month, no credit card.
هل تحتاج إلى مزيد من السياق؟ راجع وثائق الوحدة النمطية الكاملة.docs.didit.me ←
متوافق حسب التصميم
افتح دولة جديدة بنقرة واحدة. نحن نقوم بالعمل الشاق.
نحن نفتح الشركات التابعة المحلية، ونؤمن التراخيص، ونجري اختبارات الاختراق، ونحصل على الشهادات، ونتوافق مع كل لائحة جديدة. لشحن عمليات التحقق في بلد جديد، قم بتبديل مفتاح. أكثر من 220 دولة تعمل، يتم تدقيقها واختبار اختراقها كل ربع سنة — مزود الهوية الوحيد الذي وصفته حكومة دولة عضو في الاتحاد الأوروبي رسميًا بأنه أكثر أمانًا من التحقق الشخصي.