chrome.privacy

ब्यौरा

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

अनुमतियां

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 को "not_controllable" पर सेट किया जाएगा) या अगर कोई दूसरा एक्सटेंशन वैल्यू को कंट्रोल कर रहा हो (levelOfControl को "Control_by_other_extensions" पर सेट कर दिया जाएगा), तो उपयोगकर्ता को उनकी सेटिंग में कोई बदलाव नहीं दिखेगा. 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-सैंपल डेटा स्टोर करने की जगह से, privacy API का उदाहरण इंस्टॉल करें.

टाइप

IPHandlingPolicy

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

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

Enum

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

प्रॉपर्टी

network

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

टाइप

ऑब्जेक्ट

प्रॉपर्टी

  • networkPredictionEnabled

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

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

    उपयोगकर्ताओं को मीडिया परफ़ॉर्मेंस/निजता से जुड़ी शर्तों के बारे में बताने की अनुमति दें, जिससे WebRTC ट्रैफ़िक को रूट करने के तरीके और स्थानीय पते की कितनी जानकारी ज़ाहिर की जाएगी, इस पर असर पड़ता है. इस प्राथमिकता की वैल्यू आईपीहैंडलिंग नीति की तरह है, जो डिफ़ॉल्ट रूप से 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 और प्राइवेट एग्रीगेशन एपीआई को बंद कर दिया जाता है. इस प्राथमिकता की वैल्यू बूलियन टाइप की है और डिफ़ॉल्ट वैल्यू true है. एक्सटेंशन, वैल्यू को false पर सेट करके ही इन एपीआई को बंद कर सकते हैं. इन एपीआई को true पर सेट करने पर, आपको गड़बड़ी का मैसेज दिखेगा.

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

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

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

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

  • hyperlinkAuditingEnabled

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

  • protectedContentEnabled

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

  • referrersEnabled

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

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

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

  • thirdPartyCookiesAllowed

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

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

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