إخفاء البريد والهاتف وأرقام البطاقات من النص
أخفِ البريد الإلكتروني وأرقام الهاتف وسلاسل الأرقام الشبيهة بالبطاقات قبل وصول النص إلى السجلات أو التذاكر: في المثال يتحول بريدان وهاتف وبطاقة إلى [EMAIL_1] و[EMAIL_2] و[PHONE_1] و[CREDIT_CARD_1]، بمجموع 4. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
أخفوا الأنماط الشائعة للبيانات الشخصية قبل وصول النص إلى السجلات أو تذاكر الدعم أو التحليلات أو المستندات المشتركة. ترصد هذه الأداة الحتمية عناوين البريد الإلكتروني وصيغ الهاتف المألوفة والسلاسل الشبيهة بأرقام البطاقات التي تضم من 13 إلى 19 رقماً. ثم تستبدل كل تطابق بعلامة مرقمة مثل [EMAIL_1] أو [PHONE_1] أو [CREDIT_CARD_1]. وتعيد النص المنقح وأعداد الفئات فقط، من دون الاتصال بخدمة خارجية أو استنتاج هوية أو الاحتفاظ بالنص المرسل.
أخفوا المعرّفات الشائعة قبل انتقال النص
تمر النصوص التشغيلية غالباً عبر أنظمة أكثر مما يتوقعه كاتبها. فقد تُنسخ رسالة دعم إلى تذكرة، وتُفهرس للبحث، وتُدرج في حدث تحليلي، ثم تُلصق في محادثة فريق. وقد يتحول عنوان بريد أو رقم هاتف كان مفيداً في التبادل الأصلي إلى كشف غير ضروري في كل وجهة لاحقة.
توفر هذه الإمكانية خطوة تنقية متوقعة قبل بدء ذلك الانتقال. أرسلوا قيمة نصية واحدة لتحصلوا على المحتوى نفسه بعد استبدال الأنماط المعروفة بعلامات مرقمة. يحافظ الترقيم على بنية مفيدة؛ إذ تبقى الحالات المتعددة من الفئة نفسها مميزة، ويمكن معرفة أن النص احتوى عنواني بريد مختلفين من دون رؤية أي منهما.
تتضمن النتيجة أيضاً مجاميع حسب الفئة، مما يتيح فحوص الجودة من دون إعادة القيم الحساسة. ولأن الخوارزمية حتمية ولا تستخدم الشبكة، تنتج المدخلة نفسها المخرجة نفسها دائماً. وهي مناسبة لمعالجة السجلات والرسائل والملاحظات المصدرة وبيانات الاختبار وغيرها من النصوص العادية التي تحتاج إلى حجب سريع وواضح بدلاً من التعرف الدلالي.
اعرفوا بدقة ما يتعرف عليه الكاشف
يستهدف الكاشف ثلاث عائلات عملية من الأنماط. يتطلب البريد جزءاً محلياً مألوفاً وعلامة @ ونطاقاً منقوطاً. ويتعرف في أرقام الهاتف على التنسيقات المحلية والدولية الشائعة التي تستخدم المسافات أو النقاط أو الشرطات أو الأقواس.
أما المرشح الشبيه بالبطاقة فيضم من 13 إلى 19 رقماً، ويمكن أن تفصل بينها مسافات أو شرطات. ووصفه بأنه شبيه بالبطاقة مقصود؛ فالأداة لا تستعلم من جهة إصدار ولا تجري فحص المجموع، ولذلك قد تحجب أرقام حسابات أو سلاسل رقمية طويلة أخرى. تُقيّم التطابقات في مرور واحد مرتب كي لا يُستبدل جزء من سلسلة طويلة على أنه هاتف، وكي لا تُفحص العلامات المدرجة مرة أخرى.
لا تتعرف الأداة على الأسماء أو العناوين أو المعرّفات الوطنية أو تواريخ الميلاد أو عناوين IP أو الأسرار التي تعتمد على السياق. كما لا تضمن التقاط كل صيغة حقيقية للبريد أو الهاتف. تعاملوا مع النتيجة على أنها تقليل مركز للأنماط، لا شهادة بأن النص مجهول الهوية أو آمن للنشر.
استخدموا المخرجات بأمان في سير العمل الآلي
ضعوا الحجب في أبكر مرحلة عملية، ويفضل قبل أن يكتب التطبيق نصاً غير موثوق في سجلات دائمة أو يرسله إلى معالج آخر. يعني المجموع صفر أن نمطاً مدعوماً لم يُعثر عليه، لكنه لا يثبت خلو النص من البيانات الشخصية. إذا احتجتم إلى ضمان أقوى، فاجمعوا هذه الخطوة الحتمية مع تحقق خاص بمجالكم وضوابط وصول وحدود احتفاظ ومراجعة مستقلة.
تجنبوا حفظ النص الأصلي لمجرد مقارنته بالنسخة المنقحة، لأن ذلك قد يناقض غرض الحجب. تظل العلامات المرقمة مقروءة في التذاكر والتقارير، لكنها ليست رموزاً قابلة للعكس ولا تحتوي بيانات استعادة. تُرفض المدخلات الفارغة أو المكونة من مسافات فقط.
اختبروا مواد تمثل مصادركم، لأن أعراف أرقام الهاتف الإقليمية وصيغ البريد غير المعتادة تختلف.
حالات الاستخدام
تنقية سجلات التطبيقات
أخفوا أنماط الاتصال والدفع الشائعة قبل دخول الرسائل إلى أنظمة التسجيل والبحث المركزية.
إعداد محادثات الدعم
أزيلوا البريد والهاتف والقيم الشبيهة بالبطاقات قبل مشاركة مقتطفات التذاكر للتدريب أو التحقيق.
تعقيم بيانات التطوير
حوّلوا النصوص المنسوخة من بيئات واقعية إلى مواد اختبار أكثر أماناً مع إبقاء موضع كل استبدال وفئته.
الأسئلة الشائعة
ما الأنماط التي تُحجب؟
تُحجب عناوين البريد المألوفة وصيغ الهاتف الشائعة والسلاسل المؤلفة من 13 إلى 19 رقماً مع مسافات أو شرطات اختيارية.
هل تتحقق الأداة من صلاحية رقم البطاقة؟
لا. تُعامل السلاسل الطويلة كأنماط شبيهة بالبطاقات من دون استعلام جهة الإصدار أو فحص المجموع، مع إعطاء الحجب الأولوية.
هل تثبت النتيجة النظيفة عدم وجود بيانات شخصية؟
لا. قد تبقى أسماء وعناوين وصيغ إقليمية ومعرّفات سياقية وأنماط غير مدعومة. استخدموا ضوابط إضافية عند الحاجة إلى إزالة هوية كاملة.
هل يمكن عكس العلامات؟
لا. تسجل العلامة الفئة ورقم الظهور فقط، ولا تتضمن النتيجة خريطة لاستعادة القيمة المكتشفة.
لماذا تُرقَّم العلامات بدل أن تكون كلها متشابهة؟
حتى يحتفظ النص ببنيته: تبقى الفئات المتكررة قابلة للتمييز، ويعرف المراجع أن عنوانين مختلفين للبريد ظهرا دون أن يرى أيًا منهما. كما تتيح المجاميع لكل فئة فحص الجودة دون كشف القيم.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/data/remove-pii-patterns \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Email alex@example.com, call +1 (415) 555-0198, or reference card 4111 1111 1111 1111."}'const res = await fetch("https://api.kit.forhosting.com/data/remove-pii-patterns", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Email alex@example.com, call +1 (415) 555-0198, or reference card 4111 1111 1111 1111."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/remove-pii-patterns",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Email alex@example.com, call +1 (415) 555-0198, or reference card 4111 1111 1111 1111."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/remove-pii-patterns", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Email alex@example.com, call +1 (415) 555-0198, or reference card 4111 1111 1111 1111."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Email alex@example.com, call +1 (415) 555-0198, or reference card 4111 1111 1111 1111."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/remove-pii-patterns", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"text": "Email alex@example.com, call +1 (415) 555-0198, or reference card 4111 1111 1111 1111."
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.remove_pii_patterns",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
max_mb | 25 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
استخدموا المخرجات بأمان في سير العمل الآلي
اقرأوا الحقل redacted_text بوصفه المستند المحول، والحقل counts بوصفه إشارة تدقيق موجزة. في أتمتة API تبلغ كلفة كل عنصر نصي $0.002، بينما تشغل نسخة المتصفح المنطق النقي نفسه محلياً.
أسئلة تقنية
ماذا يحدث عندما تكون المدخلة فارغة؟
يعيد النص الفارغ أو المكون من مسافات فقط خطأ invalid_input بدلاً من تحويل فارغ قد يكون مضللاً.
كم تبلغ كلفة طلب API؟
تبلغ كلفة كل عنصر نصي $0.002 لكل طلب، ويستخدم مشغل المتصفح المنطق الحتمي نفسه محلياً.