browser.privacy

ब्यौरा

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

अनुमतियां

privacy

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

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

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

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

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

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

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

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

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

browser.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 रिपॉज़िटरी से privacy API example इंस्टॉल करें.

टाइप

AutofillBlockedType

Chrome 151 या इसके बाद का वर्शन

ऑटोमैटिक तरीके से भरने की सुविधा के डेटा की कैटगरी.

Enum

"contact_info"

"पेमेंट"

"identity_docs"

"travel"

"all"

IPHandlingPolicy

Chrome 48+ Chrome 148 के बाद से browser.*

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

Enum

"default"

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

प्रॉपर्टी

network

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

टाइप

ऑब्जेक्ट

प्रॉपर्टी

  • networkPredictionEnabled

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

  • webRTCIPHandlingPolicy
    Chrome 48+ Chrome 148 के बाद से browser.*

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

services

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

टाइप

ऑब्जेक्ट

प्रॉपर्टी

  • alternateErrorPagesEnabled

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

  • autofillAddressEnabled
    Chrome 70+ Chrome 148 से browser.*

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

  • autofillCreditCardEnabled
    Chrome 70+ Chrome 148 से browser.*

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

  • autofillEnabled
    Chrome 70 के बाद से इस्तेमाल नहीं किया जा रहा है

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

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

  • passwordSavingEnabled

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

  • safeBrowsingEnabled

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

  • safeBrowsingExtendedReportingEnabled

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

  • searchSuggestEnabled

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

  • spellingServiceEnabled

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

  • translationServiceEnabled

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

websites

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

टाइप

ऑब्जेक्ट

प्रॉपर्टी

  • adMeasurementEnabled
    Chrome 111+ browser.* Chrome 148 से

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

  • doNotTrackEnabled
    Chrome 65+ Chrome 148 से browser.*

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

  • fledgeEnabled
    Chrome 111+ browser.* Chrome 148 से

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

  • hyperlinkAuditingEnabled

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

  • protectedContentEnabled

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

  • referrersEnabled

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

  • thirdPartyCookiesAllowed

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

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

  • topicsEnabled
    Chrome 111+ browser.* Chrome 148 से

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