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

टाइप

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 होती है.

  • autofillOtherDatatypesEnabled
    मंज़ूरी मिलना बाकी है

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

  • passwordSavingEnabled

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

  • safeBrowsingEnabled

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

  • safeBrowsingExtendedReportingEnabled

    इस सेटिंग के चालू होने पर, Chrome उस पेज के बारे में ज़्यादा जानकारी Google को भेजेगा जिसे SafeBrowsing ने ब्लॉक किया है. जैसे, ब्लॉक किए गए पेज का कॉन्टेंट. इस प्राथमिकता की वैल्यू बूलियन होती है. डिफ़ॉल्ट रूप से, इसकी वैल्यू 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 पर सेट करने की कोशिश करने पर, गड़बड़ी का मैसेज दिखेगा.