chrome.privacy

ब्यौरा

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

अनुमतियां

privacy

मेनिफ़ेस्ट

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

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

इस्तेमाल

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

chrome.privacy.services.autofillEnabled.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.autofillEnabled.get({}, function(details) {
  if (details.levelOfControl === 'controllable_by_this_extension') {
    chrome.privacy.services.autofillEnabled.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.autofillEnabled.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 पर सेट होती है.

  • 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 पर सेट करने की कोशिश करने पर, गड़बड़ी का मैसेज दिखेगा.