أداة مجانية مفتوحة المصدر

أداة إخفاء البيانات الشخصية العربية

الصق نصًا عربيًا وأخفِ أرقام الهوية السعودية والإماراتية والمصرية والكويتية والبحرينية والآيبان والهواتف واللوحات والبريد والروابط. تعمل في متصفحك.

إعداد: Bayanat Labs· آخر تحديث · Read in English

تكتشف أداة إخفاء البيانات الشخصية العربية من Bayanat Labs البيانات الشخصية في النصوص العربية والمختلطة بالإنجليزية وتستبدلها. الصق النص، واطّلع على ما اكتُشف، واختر طريقة الاستبدال (وسم يذكر النوع، أو الإخفاء، أو قيمة مولَّدة بالصيغة نفسها)، ثم انسخ النتيجة. تكتشف الأداة أرقام الهوية السعودية والإماراتية والمصرية والكويتية والبحرينية، وأرقام الآيبان لـ21 دولة عربية، وأرقام الهواتف لدول الجامعة العربية الـ22، ولوحات المركبات السعودية والإماراتية، والبريد الإلكتروني، والروابط، بالأرقام الغربية والعربية الهندية والفارسية.

افتح أداة الإخفاء · الشيفرة على GitHub · مجموعة التقييم على Hugging Face

تعمل الأداة في متصفحك، فلا يُرفع نصك ولا يُخزَّن ولا يُسجَّل. وهي تشغّل نسخة JavaScript من أدوات التعرّف القائمة على القواعد في حزمة Python arabic-pii-pack، وتعطي المواضع نفسها والدرجات نفسها التي تعطيها الحزمة في 1,300 جملة من مجموعة التقييم و3,000 نص اختبار عشوائي. أما أسماء الأشخاص فتكتشفها حزمة Python عبر نموذجها الاختياري، لا المتصفح. والاكتشاف أداة مساعدة تقنية، فراجع الناتج قبل الاعتماد عليه.

ما الذي تكتشفه

نوع البيانات النطاق طريقة التحقق هل تلزم كلمة سياق
SA_NATIONAL_ID السعودية 10 أرقام تبدأ بالرقم 1، مع خانة تحقق بخوارزمية لون لا
SA_IQAMA السعودية هوية مقيم: 10 أرقام تبدأ بالرقم 2، مع خانة تحقق بخوارزمية لون لا
AE_EMIRATES_ID الإمارات 784-YYYY-NNNNNNN-C، مع حقل السنة وخانة تحقق بخوارزمية لون لا
EG_NATIONAL_ID مصر 14 رقمًا: القرن وتاريخ ميلاد صحيح ورمز المحافظة (لم تُنشر قاعدة لخانة التحقق، فلا يُتحقق من الرقم الأخير) لا مع رمز محافظة معروف، ونعم في غير ذلك
KW_CIVIL_ID الكويت 12 رقمًا بشهر ويوم ميلاد صحيحين (البنية فقط) نعم
BH_CPR البحرين 9 أرقام (الطول فقط) نعم
IBAN_CODE 21 دولة عربية (وبقية الدول عبر أداة Presidio للآيبان) طول السجل وبنية BBAN وفحص MOD 97-10 لا
PHONE_NUMBER دول الجامعة العربية الـ22 خطط الترقيم في libphonenumber (عبر phonenumbers) فقط للأرقام المكتوبة دون رمز الدولة أو بادئة الاتصال المحلي
SA_VEHICLE_PLATE السعودية ثلاثة حروف للوحة (عربية أو منفصلة أو لاتينية) ومن رقم إلى 4 أرقام نعم
AE_VEHICLE_PLATE الإمارات اسم الإمارة ورمز اللوحة ومن رقم إلى 5 أرقام نعم
EMAIL_ADDRESS أي مكان أداة Presidio للبريد الإلكتروني لا
URL أي مكان أداة Presidio للروابط (دون علامات الترقيم في آخرها) لا
PERSON أي مكان نموذج الأسماء العربية الاختياري (في حزمة Python، الإضافة [ner])، بالحرف العربي فقط لا

النتيجة الصحيحة تعني أن الرقم «سليم الصيغة» فقط: لا يُبحث عن أي رقم في أي سجل، والتطابق لا يعني أن الرقم صدر فعلًا أو يخص أحدًا. ولا تُحتسب الصيغ الضعيفة إلا بجوار كلمة سياق، وتُطابَق كلمات السياق العربية مع اللواصق أيضًا: «وجوالي» و«بالهوية» تُحتسبان «جوال» و«هوية».

مدى دقتها

قُيّمت الأداة على مجموعة تقييم اصطناعية كُتبت لهذا الإصدار: 1,000 جملة اختبار فيها 1,383 موضعًا مرجعيًا، بالعربية الفصحى وصياغات خليجية ومصرية ونصوص مختلطة بالإنجليزية. أمثلة مولَّدة، وليست بيانات شخصية حقيقية، وأي تطابق مع شخص حقيقي محض مصادفة. والنتائج بالمطابقة التامة للمواضع عند العتبة الافتراضية 0.5، مع نموذج الأسماء الاختياري:

نوع البيانات المواضع المرجعية الدقة الاستدعاء F1
SA_NATIONAL_ID 95 1.000 1.000 1.000
SA_IQAMA 81 1.000 1.000 1.000
AE_EMIRATES_ID 35 1.000 1.000 1.000
EG_NATIONAL_ID 72 1.000 1.000 1.000
KW_CIVIL_ID 36 1.000 1.000 1.000
BH_CPR 31 1.000 0.968 0.984
IBAN_CODE 149 1.000 1.000 1.000
PHONE_NUMBER 330 0.997 0.994 0.995
SA_VEHICLE_PLATE 28 1.000 1.000 1.000
AE_VEHICLE_PLATE 22 1.000 1.000 1.000
EMAIL_ADDRESS 88 1.000 1.000 1.000
URL 38 1.000 1.000 1.000
PERSON 378 0.937 0.820 0.874
الكل 1,383 0.984 0.949 0.966
  • حققت أدوات التعرّف القائمة على التحقق من الصيغة مقياس F1 بين 0.984 و1.000. وقد كتب الفريق نفسه البيانات والقواعد، لذا يبيّن هذا أن الصيغ مغطاة بأنظمة الأرقام الثلاثة، ولا يقدّر الدقة على مستندات حقيقية.
  • أسماء الأشخاص: F1 قدره 0.874 بالمطابقة التامة و0.928 بالمطابقة الجزئية. ولا تُكتشف الأسماء المكتوبة بالحروف اللاتينية.
  • لم تُرصد أي حالة في جمل الاختبار الـ200 الخالية من البيانات الشخصية (أرقام الطلبات والمبالغ والتواريخ وأرقام الرحلات والشحنات).
  • في 5,000 فقرة من ويكيبيديا العربية، رصدت أدوات التعرّف على أرقام الهوية والآيبان والهواتف واللوحات 0 موضع عند العتبة الافتراضية و11 موضعًا عند العتبة 0.3، ولهذا تحتاج المطابقات الضعيفة إلى كلمة سياق.

الاستخدام في الشيفرة البرمجية

pip install "git+https://github.com/Bayanat-Labs/arabic-pii-pack@v0.1.0"

echo "جوالي 0501234567" | bl-arabic-pii redact
bl-arabic-pii redact --in notes.txt --operator mask
bl-arabic-pii redact --in records.jsonl --field text --operator fake --out redacted.jsonl
bl-arabic-pii entities

لم تصدر الحزمة على PyPI بعد. وإلى أن تصدر، ثبّتها من GitHub عند وسم الإصدار كما في الأمر السابق، وسيصبح التثبيت من PyPI ممكنًا بعد نشر الحزمة هناك. وتحتاج إلى Python 3.10 أو أحدث. ويتطلب اكتشاف الأسماء الإضافة [ner] التي تشغّل نموذج CAMeLBERT MSA NER من مختبر CAMeL (برخصة Apache-2.0)، ويُنزَّل عند أول استخدام.

>>> from bl_arabic_pii import redact
>>> text = "هويتي ١٠٠٠٠٠٠٠٠٨ وجوالي +966 50 123 4567"
>>> redact(text).text
'هويتي [SA_NATIONAL_ID] وجوالي [PHONE_NUMBER]'
>>> redact(text, operator="mask").text
'هويتي ********** وجوالي +*** ** *** ****'

أمثلة مولَّدة، وليست بيانات شخصية حقيقية، وأي تطابق مع شخص حقيقي محض مصادفة.

طريقة الإشارة

@software{bayanatlabs_arabic_pii_pack_2026,
  author  = {{Bayanat Labs}},
  title   = {arabic-pii-pack: Arabic and Gulf personal-data recognisers and redaction for Microsoft Presidio},
  version = {0.1.0},
  year    = {2026},
  url     = {https://github.com/Bayanat-Labs/arabic-pii-pack},
  license = {Apache-2.0}
}

سجل الإصدار، بتراخيصه وسجل تغييراته، في صفحة حزمة البيانات الشخصية العربية على Bayanat Labs Open.

الترخيص والتواصل

الشيفرة البرمجية وأداة الإخفاء في المتصفح: Apache-2.0. مجموعة التقييم والنتائج والتوثيق: CC BY 4.0. وتعتمد الحزمة على Microsoft Presidio (برخصة MIT) وphonenumbers (برخصة Apache-2.0). للأسئلة والتصويبات: hello@bayanatlabs.com.

هل تحتاج إلى بيانات مستندات عربية جاهزة للإنتاج وواضحة الحقوق؟

أداة الإخفاء مجانية. أما مجموعات بيانات المستندات العربية المرخّصة فتجدها في صفحة Bayanat Documents.

لم يراجع النصَّ العربي بعدُ كاتبٌ لغته الأم العربية، والنص الإنجليزي هو المعتمد. (The Arabic text has not yet been reviewed by a native Arabic writer; the English governs.)