chrome.privacy

ब्यौरा

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

अनुमतियां

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 को "Control_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 का उदाहरण इंस्टॉल करें डेटा स्टोर करने की जगह.

टाइप

IPHandlingPolicy

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

WebRTC की आईपी पते को मैनेज करने से जुड़ी नीति.

Enum

"डिफ़ॉल्ट"

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

प्रॉपर्टी

network

वे सेटिंग जो सामान्य रूप से Chrome के नेटवर्क कनेक्शन के प्रबंधन को प्रभावित करती हैं.

टाइप

ऑब्जेक्ट

प्रॉपर्टी

  • networkPredictionEnabled

    types.ChromeSetting<boolean>

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

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

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

services

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

टाइप

ऑब्जेक्ट

प्रॉपर्टी

  • alternateErrorPagesEnabled

    types.ChromeSetting<boolean>

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

  • autofillAddressEnabled

    types.ChromeSetting<boolean>

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

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

  • autofillCreditCardEnabled

    types.ChromeSetting<boolean>

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

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

  • autofillEnabled

    types.ChromeSetting<boolean>

    Chrome 70 के बाद से अब तक काम नहीं करता

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

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

  • passwordSavingEnabled

    types.ChromeSetting<boolean>

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

  • safeBrowsingEnabled

    types.ChromeSetting<boolean>

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

  • safeBrowsingExtendedReportingEnabled

    types.ChromeSetting<boolean>

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

  • searchSuggestEnabled

    types.ChromeSetting<boolean>

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

  • spellingServiceEnabled

    types.ChromeSetting<boolean>

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

  • translationServiceEnabled

    types.ChromeSetting<boolean>

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

websites

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

टाइप

ऑब्जेक्ट

प्रॉपर्टी

  • adMeasurementEnabled

    types.ChromeSetting<boolean>

    Chrome 111 और उसके बाद वाले वर्शन के लिए

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

  • doNotTrackEnabled

    types.ChromeSetting<boolean>

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

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

  • fledgeEnabled

    types.ChromeSetting<boolean>

    Chrome 111 और उसके बाद वाले वर्शन के लिए

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

  • hyperlinkAuditingEnabled

    types.ChromeSetting<boolean>

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

  • protectedContentEnabled

    types.ChromeSetting&lt;boolean&gt;

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

  • referrersEnabled

    types.ChromeSetting&lt;boolean&gt;

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

  • relatedWebsiteSetsEnabled

    types.ChromeSetting&lt;boolean&gt;

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

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

  • thirdPartyCookiesAllowed

    types.ChromeSetting&lt;boolean&gt;

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

  • topicsEnabled

    types.ChromeSetting&lt;boolean&gt;

    Chrome 111 और उसके बाद वाले वर्शन के लिए

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