chrome.privacy

ब्यौरा

chrome.privacy एपीआई का इस्तेमाल करके, Chrome की उन सुविधाओं के इस्तेमाल को कंट्रोल किया जा सकता है जिनसे उपयोगकर्ता की निजता पर असर पड़ सकता है. यह एपीआई, 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 को "not_controllable" पर सेट किया जाएगा. इसके अलावा, अगर कोई दूसरा एक्सटेंशन वैल्यू को कंट्रोल कर रहा है, तो levelOfControl को "controlled_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-samples रिपॉज़िटरी से इंस्टॉल करें.

टाइप

AutofillBlockedType

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

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

Enum

"contact_info"

"payments"

"identity_docs"

"travel"

"all"

IPHandlingPolicy

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

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 या इसके बाद का वर्शन

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