حماية خصوصية المستخدم

لن يثبِّت المستخدمون أي إضافة إذا كانت تهدد خصوصيتهم أو تطلب المزيد من الأذونات. التي يبدو أنها بحاجة إليها. يجب أن تكون طلبات الأذونات منطقية للمستخدمين وأن تقتصر على الجوانب المعلومات اللازمة لتنفيذ الإضافة. الإضافات التي تجمع أي بيانات للمستخدمين أو تنقلها بما ورد في سياسات خصوصية بيانات المستخدمين .

يمكنك حماية مستخدمي الإضافة واحترامهم من خلال تضمين هذه الاحتياطات للحفاظ على أمان هويتهم. تذكر: كلما قلت البيانات التي يمكن لإحدى الإضافات الوصول إليها، قلّ حجم البيانات التي يمكن أن يتم تسريبها عن طريق الخطأ.

تقليل الأذونات المطلوبة

ويتم تحديد واجهات برمجة التطبيقات التي يمكن للإضافة الوصول إليها في حقل الأذونات ضمن البيان. تشير رسالة الأشكال البيانية كلما تم منح المزيد من الأذونات، زادت الطرق التي يتعين على المهاجم لاعتراضها المعلومات. واجهات برمجة التطبيقات فقط إدراج إضافة ما، ويجب مراعاة الاعتبارات الأقل تداخلاً الخيارات. كلما قلت الأذونات التي تطلبها الإضافة، قلت تحذيرات الأذونات إلى المستخدم. من المرجّح أن يثبّت المستخدمون إضافة تتضمّن تحذيرات محدودة.

يجب ألا تكون الإضافات "مستندة إلى المستقبل" الوصول إلى بيانات المستخدمين عن طريق طلب أذونات لا التي تحتاجها حاليًا، ولكن قد يتم تنفيذها في المستقبل. تضمين الأذونات الجديدة من خلال تحديثات الإضافات يمكنك جعلها اختيارية.

activeTab

غالبًا ما يمكن للإضافات التي تستخدم أذونات المضيف لإدخال نصوص برمجية أن تحل محل activeTab بدلاً من ذلك. يمنح الإذن "activeTab" الإضافة إمكانية الوصول المؤقت إلى علامة التبويب النشطة حاليًا. فقط عندما يستدعي المستخدم الإضافة. يتم قطع الوصول عندما ينتقل المستخدم بعيدًا عن لإغلاق علامة التبويب الحالية. ويمكن استخدامها كبديل للعديد من استخدامات <all_urls>.

{
  "name": "Very Secure Extension",
  "version": "1.0",
  "description": "Example of a Secure Extension",
  "permissions": ["activeTab"],
  "manifest_version": 2
}

لا يعرض إذن activeTab أي رسائل تحذير أثناء التثبيت.

تفعيل الأذونات الاختيارية

اسمح للمستخدمين باختيار الميزات والأذونات التي يحتاجون إليها من الإضافة عن طريق تضمينها الأذونات الاختيارية. إذا لم تكن إحدى الميزات ضرورية للوظيفة الأساسية لإحدى الإضافات، اجعله اختياريًا وانقل واجهة برمجة التطبيقات أو النطاق إلى الحقل optional_permissions.

{
  "name": "Very Secure Extension",
  ...
  "optional_permissions": [ "tabs", "https://www.google.com/" ],
  ...
}

إنّ تضمين أذونات اختيارية يتيح للإضافة توضيح سبب حاجتها إلى إذن معيّن. عندما يفعّل المستخدِم الميزة ذات الصلة. يمكن أن تقدّم الإضافة للمستخدم خيارًا لتفعيلها الجديدة.

لقطة شاشة لنافذة منبثقة تطلب تفعيل الأذونات

سيؤدي النقر على حسنًا! إلى تشغيل الحدث التالي في النص البرمجي للخلفية.

document.querySelector('#button').addEventListener('click', function(event) {
  // Permissions must be requested from inside a user gesture, like a button's
  // click handler.
  chrome.permissions.request({
    permissions: ['tabs'],
    origins: ['https://www.google.com/']
  }, function(granted) {
    // The callback argument will be true if the user granted the permissions.
    if (granted) {
      // doSomething();
    } else {
      // doSomethingElse();
    }
  });
});

بعد ذلك، سيُطلَب من المستخدم تقديم الطلب التالي.

لقطة شاشة لطلب الأذونات الاختيارية.

يمكن أيضًا تنفيذ الأذونات الاختيارية في تحديث الإضافة. سيؤدي ذلك إلى جعل المتوفرة للمستخدمين بدون تعطيل الإضافة، كما قد يحدث عند التحديث الأذونات المطلوبة.

تقييد معلومات المستخدم وتأمينها

لا تطلب سوى الحد الأدنى من بيانات المستخدمين التي تحتاجها الإضافة. قلّ المعلومات التي تطلبها الإضافة الواردة من المستخدم تعني قلة عدد المشاهدين إذا تعرضت الإضافة للاختراق.

يجب التعامل بعناية مع جميع بيانات المستخدم المطلوبة. يمكنك تخزين البيانات واستردادها في خادم آمن باستخدام نطاق مسجل. استخدام HTTPS دائمًا للاتصال وتجنُّب الاحتفاظ ببيانات المستخدمين الحساسة في البرنامج جانب الإضافة نظرًا لعدم تشفير مساحة تخزين الإضافات.