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 इंस्टॉल करें.

टाइप

AutofillBlockedType

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

ऑटोमैटिक भरे जाने वाले डेटा की कैटगरी.

Enum

"contact_info"

"payments"

"identity_docs"

"travel"

AutofillSettings

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

ऑटोमैटिक तरीके से जानकारी भरने की सुविधाओं के लिए, साइट के हिसाब से ब्लॉक करने के नियम.

टाइप

object[]

प्रॉपर्टी

  • blockedTypes

    ऑटोमैटिक तरीके से जानकारी भरने की सुविधा के डेटा की कैटगरी, जिन्हें मिलती-जुलती साइटों पर ब्लॉक करना है.

  • urlPattern

    स्ट्रिंग

    यह एक यूआरएल पैटर्न है. इससे उन साइटों के बारे में पता चलता है जिन पर ब्लॉक करने का नियम लागू होता है.

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