chrome.privacy

ब्यौरा

Chrome में उन सुविधाओं के इस्तेमाल को कंट्रोल करने के लिए chrome.privacy API का इस्तेमाल करें जिनसे उपयोगकर्ता की निजता पर असर पड़ सकता है. यह एपीआई, Chrome का कॉन्फ़िगरेशन पाने और सेट करने के लिए, टाइप एपीआई के ChromeSetting प्रोटोटाइप पर निर्भर करता है.

अनुमतियां

privacy

एपीआई का इस्तेमाल करने के लिए, आपको अपने एक्सटेंशन के मेनिफ़ेस्ट में "निजता" अनुमति का एलान करना होगा. उदाहरण के लिए:

{
  "name": "My extension",
  ...
  "permissions": [
    "privacy"
  ],
  ...
}

कॉन्सेप्ट और इस्तेमाल

Chrome की सेटिंग की मौजूदा वैल्यू को पढ़ना आसान है. आपको सबसे पहले वह प्रॉपर्टी ढूंढनी होगी जिसमें आपकी दिलचस्पी है. इसके बाद, उस ऑब्जेक्ट पर get() को कॉल करके, उसकी मौजूदा वैल्यू और अपने एक्सटेंशन के कंट्रोल लेवल को वापस पाया जा सकता है. उदाहरण के लिए, यह पता लगाने के लिए कि Chrome में क्रेडिट कार्ड की जानकारी अपने-आप भरने की सुविधा चालू है या नहीं, आपको यह लिखना होगा:

chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
  if (details.value) {
    console.log('Autofill is on!');
  } else {
    console.log('Autofill is off!');
  }
});

किसी सेटिंग की वैल्यू बदलना थोड़ा मुश्किल है, क्योंकि आपको पहले यह पुष्टि करनी होगी कि आपका एक्सटेंशन सेटिंग को कंट्रोल कर सकता है या नहीं. अगर आपका एक्सटेंशन किसी ऐसी सेटिंग को टॉगल करता है जिसे एंटरप्राइज़ नीतियों की वजह से किसी खास वैल्यू पर लॉक किया गया है, तो उपयोगकर्ता को अपनी सेटिंग में कोई बदलाव नहीं दिखेगा. इसके अलावा, अगर कोई दूसरा एक्सटेंशन वैल्यू को कंट्रोल कर रहा है, तो भी उपयोगकर्ता को कोई बदलाव नहीं दिखेगा. ऐसे में, levelOfControl को "controlled_by_other_extensions" पर सेट कर दिया जाएगा.levelOfControl set() कॉल पूरा हो जाएगा, लेकिन सेटिंग तुरंत बदल जाएगी. यह भ्रम पैदा कर सकता है. इसलिए, हमारा सुझाव है कि अगर उपयोगकर्ता ने जो सेटिंग चुनी हैं वे काम की नहीं हैं, तो उन्हें इसकी चेतावनी दें.

इसका मतलब है कि आपको अपने ऐक्सेस लेवल का पता लगाने के लिए, get() तरीके का इस्तेमाल करना चाहिए. इसके बाद, अगर आपका एक्सटेंशन सेटिंग को कंट्रोल कर सकता है, तो ही set() को कॉल करें. अगर आपका एक्सटेंशन सेटिंग को कंट्रोल नहीं कर सकता, तो उपयोगकर्ता को भ्रम से बचाने के लिए, इस सुविधा को विज़ुअल तौर पर बंद करना एक अच्छा विचार है:

chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
  if (details.levelOfControl === 'controllable_by_this_extension') {
    chrome.privacy.services.autofillCreditCardEnabled.set({ value: true }, function() {
      if (chrome.runtime.lastError === undefined) {
        console.log("Hooray, it worked!");
      } else {
        console.log("Sadness!", chrome.runtime.lastError);
      }
    });
  }
});

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

chrome.privacy.services.autofillCreditCardEnabled.onChange.addListener(
  function (details) {
    // The new value is stored in `details.value`, the new level of control
    // in `details.levelOfControl`, and `details.incognitoSpecific` will be
    // `true` if the value is specific to Incognito mode.
  }
);

उदाहरण

इस एपीआई को आज़माने के लिए, chrome-extension-samples रिपॉज़िटरी से प्राइवसी एपीआई का उदाहरण इंस्टॉल करें.

टाइप

IPHandlingPolicy

Chrome 48 और उसके बाद के वर्शन

WebRTC के आईपी मैनेज करने की नीति.

Enum

"default"

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

प्रॉपर्टी

network

ऐसी सेटिंग जिनसे Chrome के नेटवर्क कनेक्शन मैनेज करने के तरीके पर असर पड़ता है.

टाइप

ऑब्जेक्ट

प्रॉपर्टी

  • networkPredictionEnabled

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

  • webRTCIPHandlingPolicy
    Chrome 48 और उसके बाद के वर्शन

    उपयोगकर्ताओं को मीडिया की परफ़ॉर्मेंस/निजता के बीच के समझौते की जानकारी देने की अनुमति दें. इससे यह तय होता है कि WebRTC ट्रैफ़िक को कैसे रूट किया जाएगा और लोकल पते की कितनी जानकारी ज़ाहिर की जाएगी. इस प्राथमिकता की वैल्यू, IPHandlingPolicy टाइप की होती है. यह डिफ़ॉल्ट रूप से default पर सेट होती है.

services

ऐसी सेटिंग जो उन सुविधाओं को चालू या बंद करती हैं जिनके लिए Google और आपकी डिफ़ॉल्ट सर्च सेवा देने वाली कंपनी की ओर से दी गई तीसरे पक्ष की नेटवर्क सेवाओं की ज़रूरत होती है.

टाइप

ऑब्जेक्ट

प्रॉपर्टी

  • alternateErrorPagesEnabled

    अगर यह सेटिंग चालू है, तो नेविगेशन से जुड़ी गड़बड़ियों को ठीक करने के लिए, Chrome किसी वेब सेवा का इस्तेमाल करता है. इस प्राथमिकता की वैल्यू बूलियन होती है, जो डिफ़ॉल्ट रूप से true पर सेट होती है.

  • autofillAddressEnabled
    Chrome 70 और उसके बाद के वर्शन

    अगर यह सेटिंग चालू है, तो Chrome आपके पते और फ़ॉर्म का अन्य डेटा अपने-आप भरने की सुविधा देता है. इस प्राथमिकता की वैल्यू बूलियन होती है, जो डिफ़ॉल्ट रूप से true पर सेट होती है.

  • autofillCreditCardEnabled
    Chrome 70 और उसके बाद के वर्शन

    अगर यह सुविधा चालू है, तो Chrome क्रेडिट कार्ड के फ़ॉर्म अपने-आप भरने की सुविधा देता है. इस प्राथमिकता की वैल्यू बूलियन होती है, जो डिफ़ॉल्ट रूप से true पर सेट होती है.

  • autofillEnabled
    Chrome 70 से काम नहीं करता

    कृपया privacy.services.autofillAddressEnabled और privacy.services.autofillCreditCardEnabled का इस्तेमाल करें. यह सुविधा, इस रिलीज़ में पुराने सिस्टम के साथ काम करने के लिए बनी हुई है. इसे आने वाले समय में हटा दिया जाएगा.

    इस सुविधा के चालू होने पर, Chrome फ़ॉर्म में जानकारी अपने-आप भरने की सुविधा देता है. इस प्राथमिकता की वैल्यू बूलियन होती है, जो डिफ़ॉल्ट रूप से true पर सेट होती है.

  • passwordSavingEnabled

    अगर यह सुविधा चालू है, तो पासवर्ड मैनेजर आपसे पूछेगा कि आपको पासवर्ड सेव करने हैं या नहीं. इस प्राथमिकता की वैल्यू बूलियन होती है, जो डिफ़ॉल्ट रूप से true पर सेट होती है.

  • safeBrowsingEnabled

    अगर यह सुविधा चालू है, तो Chrome आपकी सुरक्षा के लिए पूरी कोशिश करता है. इससे आपको फ़िशिंग और मैलवेयर से बचाया जा सकता है. इस प्राथमिकता की वैल्यू बूलियन होती है, जो डिफ़ॉल्ट रूप से true पर सेट होती है.

  • safeBrowsingExtendedReportingEnabled

    अगर यह सुविधा चालू है, तो SafeBrowsing किसी पेज को ब्लॉक करने पर, Chrome Google को ज़्यादा जानकारी भेजेगा. जैसे, ब्लॉक किए गए पेज का कॉन्टेंट. इस प्राथमिकता की वैल्यू बूलियन होती है, जो डिफ़ॉल्ट रूप से false पर सेट होती है.

  • searchSuggestEnabled

    अगर यह सेटिंग चालू है, तो Chrome आपके डिफ़ॉल्ट सर्च इंजन को, ओमनीबॉक्स में टाइप किया गया टेक्स्ट भेजता है. इससे, आपको वेबसाइटों और खोज के लिए ऐसे सुझाव मिलते हैं जो आपके टाइप किए गए टेक्स्ट से मिलते-जुलते होते हैं. इस प्राथमिकता की वैल्यू बूलियन होती है, जो डिफ़ॉल्ट रूप से true पर सेट होती है.

  • spellingServiceEnabled

    अगर यह सेटिंग चालू है, तो वर्तनी की गड़बड़ियों को ठीक करने के लिए, Chrome किसी वेब सेवा का इस्तेमाल करता है. इस प्राथमिकता की वैल्यू बूलियन होती है, जो डिफ़ॉल्ट रूप से false पर सेट होती है.

  • translationServiceEnabled

    अगर यह सुविधा चालू है, तो Chrome ऐसे पेजों का अनुवाद करने की सुविधा देता है जो आपकी भाषा में नहीं हैं. इस प्राथमिकता की वैल्यू बूलियन होती है, जो डिफ़ॉल्ट रूप से true पर सेट होती है.

websites

ये सेटिंग तय करती हैं कि Chrome, वेबसाइटों के लिए कौनसी जानकारी उपलब्ध कराता है.

टाइप

ऑब्जेक्ट

प्रॉपर्टी

  • adMeasurementEnabled
    Chrome 111 और उसके बाद के वर्शन

    बंद होने पर, Attribution Reporting API और Private Aggregation API बंद हो जाते हैं. इस प्राथमिकता की वैल्यू, बूलियन टाइप की होती है और इसकी डिफ़ॉल्ट वैल्यू true होती है. एक्सटेंशन, इन एपीआई को सिर्फ़ false पर सेट करके बंद कर सकते हैं. अगर इन एपीआई को true पर सेट करने की कोशिश की जाती है, तो आपको गड़बड़ी का मैसेज दिखेगा.

  • doNotTrackEnabled
    Chrome 65 और उसके बाद के वर्शन

    अगर यह सेटिंग चालू है, तो Chrome आपके अनुरोधों के साथ 'निगरानी न करें' (DNT: 1) हेडर भेजता है. इस प्राथमिकता की वैल्यू, बूलियन टाइप की होती है और इसकी डिफ़ॉल्ट वैल्यू false होती है.

  • fledgeEnabled
    Chrome 111 और उसके बाद के वर्शन

    बंद होने पर, Fledge API बंद हो जाता है. इस प्राथमिकता की वैल्यू, बूलियन टाइप की होती है और इसकी डिफ़ॉल्ट वैल्यू true होती है. एक्सटेंशन, इस एपीआई को सिर्फ़ false पर सेट करके बंद कर सकते हैं. इस एपीआई को true पर सेट करने की कोशिश करने पर, आपको गड़बड़ी का मैसेज दिखेगा.

  • hyperlinkAuditingEnabled

    अगर यह सेटिंग चालू है, तो Chrome किसी वेबसाइट (<a ping>) के अनुरोध पर ऑडिटिंग पिंग भेजता है. इस सेटिंग की वैल्यू बूलियन टाइप की होती है और डिफ़ॉल्ट वैल्यू true होती है.

  • protectedContentEnabled

    सिर्फ़ Windows और ChromeOS पर उपलब्ध है: अगर यह सुविधा चालू है, तो Chrome, सुरक्षित कॉन्टेंट चलाने के लिए प्लग इन को एक यूनीक आईडी देता है. इस प्राथमिकता की वैल्यू, बूलियन टाइप की होती है और इसकी डिफ़ॉल्ट वैल्यू true होती है.

  • referrersEnabled

    अगर यह सेटिंग चालू है, तो Chrome आपके अनुरोधों के साथ referer हेडर भेजता है. हां, इस प्राथमिकता का नाम, गलती से लिखे गए हेडर से मेल नहीं खाता. नहीं, हम इसे नहीं बदलेंगे. इस प्राथमिकता की वैल्यू, बूलियन टाइप की होती है और इसकी डिफ़ॉल्ट वैल्यू true होती है.

  • relatedWebsiteSetsEnabled
    Chrome 121 और उसके बाद के वर्शन

    बंद होने पर, मिलती-जुलती वेबसाइट के सेट बंद हो जाते हैं. इस प्राथमिकता की वैल्यू, बूलियन टाइप की होती है और इसकी डिफ़ॉल्ट वैल्यू true होती है. एक्सटेंशन, इस एपीआई को सिर्फ़ false पर सेट करके बंद कर सकते हैं. इस एपीआई को true पर सेट करने की कोशिश करने पर, आपको गड़बड़ी का मैसेज दिखेगा.

  • thirdPartyCookiesAllowed

    बंद होने पर, Chrome तीसरे पक्ष की साइटों को कुकी सेट करने से रोकता है. इस प्राथमिकता की वैल्यू, बूलियन टाइप की होती है और इसकी डिफ़ॉल्ट वैल्यू true होती है.

    **ध्यान दें:**यह एपीआई false दिखाने पर भी, अलग-अलग साइटें तीसरे पक्ष की कुकी ऐक्सेस कर सकती हैं. ऐसा तब होता है, जब उनके पास छूट की मान्य अनुमति हो या वे Storage Access API का इस्तेमाल करती हों.

  • topicsEnabled
    Chrome 111 और उसके बाद के वर्शन

    बंद होने पर, Topics API बंद हो जाता है. इस प्राथमिकता की वैल्यू, बूलियन टाइप की होती है और इसकी डिफ़ॉल्ट वैल्यू true होती है. एक्सटेंशन, इस एपीआई को सिर्फ़ false पर सेट करके बंद कर सकते हैं. इस एपीआई को true पर सेट करने की कोशिश करने पर, आपको गड़बड़ी का मैसेज दिखेगा.