أداة إخفاء البيانات الشخصية العربية
الصق نصًا عربيًا وأخفِ أرقام الهوية السعودية والإماراتية والمصرية والكويتية والبحرينية والآيبان والهواتف واللوحات والبريد والروابط. تعمل في متصفحك.
تكتشف أداة إخفاء البيانات الشخصية العربية من 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.