उपयोगकर्ता की निजता की सुरक्षा करें

अगर उपयोगकर्ता की निजता से छेड़छाड़ होती है या ज़रूरत पड़ने पर और अनुमतियों की ज़रूरत होती है, तो वे एक्सटेंशन इंस्टॉल नहीं करेंगे. अनुमति के अनुरोध उपयोगकर्ताओं के लिए उपयोगी होने चाहिए और एक्सटेंशन को लागू करने के लिए ज़रूरी जानकारी तक ही सीमित होने चाहिए. उपयोगकर्ता के किसी भी डेटा को इकट्ठा या ट्रांसमिट करने वाले एक्सटेंशन को उपयोगकर्ता के डेटा की निजता नीतियों का पालन करना होगा .

एक्सटेंशन इस्तेमाल करने वाले लोगों की पहचान सुरक्षित रखने के लिए, इन सावधानियों का इस्तेमाल करके उन्हें सुरक्षित रखें और उनका सम्मान करें. याद रखें: कोई एक्सटेंशन जितना कम डेटा ऐक्सेस कर सकता है, गलती से उतना ही कम डेटा लीक हो सकता है.

ज़रूरी अनुमतियां कम करें

एक्सटेंशन जिन एपीआई को ऐक्सेस कर सकता है उनकी जानकारी मेनिफ़ेस्ट के अनुमति फ़ील्ड में दी जाती है. जितनी ज़्यादा अनुमतियां दी जाएंगी, हमलावर को जानकारी हासिल करने के उतने ही ज़्यादा मौके मिलेंगे. सिर्फ़ उन एपीआई को लिस्ट किया जाना चाहिए जिन पर एक्सटेंशन निर्भर करता है. साथ ही, कम चीर-फाड़ वाले विकल्पों पर विचार किया जाना चाहिए. कोई एक्सटेंशन जितनी कम अनुमतियों का अनुरोध करेगा, उपयोगकर्ता को उतनी ही कम अनुमति के बारे में चेतावनियां दिखाई जाएंगी. सीमित चेतावनियों वाले एक्सटेंशन को इंस्टॉल करने की संभावना, उपयोगकर्ताओं की होती है.

एक्सटेंशन को उपयोगकर्ता डेटा के लिए ऐसी अनुमतियों का अनुरोध करके "आने वाले समय के लिए" ऐक्सेस नहीं करना चाहिए जिनकी फ़िलहाल उन्हें ज़रूरत नहीं है. हालांकि, उन्हें आने वाले समय में लागू किया जा सकता है. एक्सटेंशन के अपडेट के साथ नई अनुमतियां शामिल करें. साथ ही, उन्हें ज़रूरी नहीं के तौर पर सेट करने पर विचार करें.

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();
    }
  });
});

इसके बाद, उपयोगकर्ता को यह अनुरोध किया जाएगा.

वैकल्पिक अनुमतियों के अनुरोध का स्क्रीनशॉट.

वैकल्पिक अनुमतियों को भी किसी एक्सटेंशन अपडेट में लागू किया जा सकता है. ऐसा करने से, एक्सटेंशन को बंद किए बिना ही उपयोगकर्ताओं के लिए नई सुविधा उपलब्ध हो जाएगी. ऐसा नई ज़रूरी अनुमतियों के साथ अपडेट करने पर भी हो सकता है.

उपयोगकर्ता की जानकारी को सीमित करें और उसे सुरक्षित बनाएं

उपयोगकर्ता के डेटा के लिए ज़रूरत के मुताबिक ही, एक्सटेंशन के लिए अनुरोध करें. कोई एक्सटेंशन उपयोगकर्ता से जितनी कम जानकारी पूछता है अगर एक्सटेंशन से छेड़छाड़ होती है, तो उसके बारे में कम जानकारी शेयर की जाती है.

अनुरोध किए गए सभी उपयोगकर्ता डेटा को सावधानी से इस्तेमाल किया जाना चाहिए. रजिस्टर किए गए डोमेन के साथ एक सुरक्षित सर्वर में डेटा सेव और वापस पाएं. कनेक्ट करने के लिए हमेशा एचटीटीपीएस का इस्तेमाल करें. साथ ही, एक्सटेंशन स्टोरेज के क्लाइंट-साइड में उपयोगकर्ता के संवेदनशील डेटा को रखने से बचें, क्योंकि एक्सटेंशन स्टोरेज को एन्क्रिप्ट (सुरक्षित) नहीं किया जाता है.