chrome.privacy

Descrizione

Usa l'API chrome.privacy per controllare l'utilizzo delle funzionalità di Chrome che possono influire sulla privacy dell'utente. Questa API si basa sul prototipo ChromeSetting dell'API di tipo per recuperare e impostare la configurazione di Chrome.

Autorizzazioni

privacy

Manifest

Devi dichiarare il "privacy" nel manifest dell'estensione per utilizzare l'API. Ad esempio:

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

Utilizzo

La lettura del valore corrente di un'impostazione di Chrome è semplice. Per prima cosa dovrai trovare che ti interessa, dovrai chiamare get() su quell'oggetto per recuperarne valore corrente e il livello di controllo dell'estensione. Ad esempio, per stabilire se la compilazione automatica di Chrome è abilitata, dovresti scrivere:

chrome.privacy.services.autofillEnabled.get({}, function(details) {
  if (details.value) {
    console.log('Autofill is on!');
  } else {
    console.log('Autofill is off!');
  }
});

La modifica del valore di un'impostazione è un po' più complessa, semplicemente perché è necessario prima verificare che l'estensione possa controllare l'impostazione. L'utente non vedrà alcuna modifica delle sue impostazioni se l'estensione attiva/disattiva un'impostazione bloccata a un valore specifico dai criteri aziendali (levelOfControl verrà impostato su "not_controllable") o se un'altra estensione controlla il (levelOfControl verrà impostato su "controlled_by_other_extensions"). La chiamata a set() ma l'impostazione verrà subito ignorata. Poiché ciò potrebbe creare confusione, è consigliabile per avvisare l'utente quando le impostazioni che ha scelto non sono state applicate nella pratica.

Ciò significa che devi utilizzare il metodo get() per determinare il tuo livello di accesso e che solo chiama set() se la tua estensione può acquisire il controllo dell'impostazione (di fatto se l'estensione non può controlla l'impostazione, probabilmente sarebbe opportuno disabilitare visivamente la funzionalità per ridurre confusione):

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);
      }
    });
  }
});

Se ti interessa apportare modifiche al valore di un'impostazione, aggiungi un listener al relativo evento onChange. Tra per altri usi, ti consentirà di avvisare l'utente se un'estensione installata più di recente viene intercettata controllo di un'impostazione o se un criterio aziendale ha la precedenza sul tuo controllo. Per ascoltare le modifiche apportate a È sufficiente lo stato della compilazione automatica, ad esempio il seguente codice:

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.
  }
);

Esempi

Per provare questa API, installa l'esempio dell'API Privacy da chrome-extension-samples repository Git.

Tipi

IPHandlingPolicy

Chrome 48 e versioni successive .

Le norme di gestione IP di WebRTC.

Enum

"default"

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

Proprietà

network

Impostazioni che influenzano la gestione delle connessioni di rete in generale da parte di Chrome.

Tipo

oggetto

Proprietà

  • networkPredictionEnabled

    types.ChromeSetting<boolean>

    Se questa impostazione è attiva, Chrome tenta di velocizzare la navigazione sul web risolvendo preventivamente le voci DNS e aprendo preventivamente le connessioni TCP e SSL ai server. Questa preferenza influisce solo sulle azioni eseguite dal servizio di previsione interno di Chrome. Non influisce sulle prefetture o sulle preconnessioni avviate nelle pagine web. Il valore di questa preferenza è un valore booleano, che per impostazione predefinita è true.

  • webRTCIPHandlingPolicy
    Chrome 48 e versioni successive .

    Consenti agli utenti di specificare i compromessi in termini di privacy/rendimento dei contenuti multimediali che influiscono sul modo in cui verrà instradato il traffico WebRTC e sulla quantità di informazioni sugli indirizzi locali esposte. Il valore di questa preferenza è di tipo IPhandlingPolicy, il valore predefinito è default.

services

Impostazioni che attivano o disattivano funzionalità che richiedono servizi di rete di terze parti forniti da Google e dal tuo provider di ricerca predefinito.

Tipo

oggetto

Proprietà

  • alternateErrorPagesEnabled

    types.ChromeSetting<boolean>

    Se questa impostazione è attiva, Chrome utilizza un servizio web per risolvere gli errori di navigazione. Il valore di questa preferenza è un valore booleano, che per impostazione predefinita è true.

  • autofillAddressEnabled

    types.ChromeSetting<boolean>

    Chrome 70 e versioni successive .

    Se questa impostazione è attiva, Chrome propone di inserire automaticamente indirizzi e altri dati dei moduli. Il valore di questa preferenza è un valore booleano, che per impostazione predefinita è true.

  • autofillCreditCardEnabled

    types.ChromeSetting<boolean>

    Chrome 70 e versioni successive .

    Se questa impostazione è attiva, Chrome propone di compilare automaticamente i moduli per le carte di credito. Il valore di questa preferenza è un valore booleano, che per impostazione predefinita è true.

  • autofillEnabled

    types.ChromeSetting<boolean>

    Ritirato da Chrome 70

    Utilizza privacy.services.autofillAddressEnabled e privacy.services.autofillCreditCardEnabled. Questo valore rimane per la compatibilità con le versioni precedenti di questa release e verrà rimosso in futuro.

    Se questa impostazione è attiva, Chrome propone di compilare automaticamente i moduli. Il valore di questa preferenza è un valore booleano, che per impostazione predefinita è true.

  • passwordSavingEnabled

    types.ChromeSetting<boolean>

    Se l'opzione è attiva, Gestore delle password ti chiederà se vuoi salvare le password. Il valore di questa preferenza è un valore booleano, che per impostazione predefinita è true.

  • safeBrowsingEnabled

    types.ChromeSetting<boolean>

    Se la funzionalità è attiva, Chrome fa del suo meglio per proteggerti da phishing e malware. Il valore di questa preferenza è un valore booleano, che per impostazione predefinita è true.

  • safeBrowsingExtendedReportingEnabled

    types.ChromeSetting<boolean>

    Se la funzionalità è attiva, Chrome invia informazioni aggiuntive a Google quando Navigazione sicura blocca una pagina, ad esempio i contenuti della pagina bloccata. Il valore di questa preferenza è un valore booleano, che per impostazione predefinita è false.

  • searchSuggestEnabled

    types.ChromeSetting<boolean>

    Se questa impostazione è attiva, Chrome invia il testo digitato nella omnibox al tuo motore di ricerca predefinito, che fornisce previsioni sui siti web e sulle ricerche che potrebbero essere completamenti del testo digitato fino a quel momento. Il valore di questa preferenza è un valore booleano, che per impostazione predefinita è true.

  • spellingServiceEnabled

    types.ChromeSetting<boolean>

    Se questa impostazione è attiva, Chrome utilizza un servizio web per correggere gli errori ortografici. Il valore di questa preferenza è un valore booleano, che per impostazione predefinita è false.

  • translationServiceEnabled

    types.ChromeSetting<boolean>

    Se questa impostazione è attiva, Chrome propone di tradurre pagine in lingue che non conosci. Il valore di questa preferenza è un valore booleano, che per impostazione predefinita è true.

websites

Impostazioni che determinano quali informazioni vengono rese disponibili da Chrome ai siti web.

Tipo

oggetto

Proprietà

  • adMeasurementEnabled

    types.ChromeSetting<boolean>

    Chrome 111 e versioni successive .

    Se l'opzione è disattivata, l'API Attribution Reporting e l'API Private Aggregation vengono disattivate. Il valore di questa preferenza è di tipo booleano e il valore predefinito è true. Le estensioni possono solo disabilitare queste API impostando il valore su false. Se provi a impostare queste API su true, verrà visualizzato un errore.

  • doNotTrackEnabled

    types.ChromeSetting<boolean>

    Chrome 65 e versioni successive .

    Se l'opzione è attiva, Chrome invia il messaggio "Do Not Track" (DNT: 1) con le tue richieste. Il valore di questa preferenza è di tipo booleano e il valore predefinito è false.

  • fledgeEnabled

    types.ChromeSetting<boolean>

    Chrome 111 e versioni successive .

    Se disattivata, l'API Fledge viene disattivata. Il valore di questa preferenza è di tipo booleano e il valore predefinito è true. Le estensioni possono disabilitare questa API solo impostando il valore su false. Se provi a impostare questa API su true, verrà visualizzato un errore.

  • hyperlinkAuditingEnabled

    types.ChromeSetting<boolean>

    Se l'opzione è attiva, Chrome invia ping di controllo quando richiesto da un sito web (<a ping>). Il valore di questa preferenza è di tipo booleano e il valore predefinito è true.

  • protectedContentEnabled

    types.ChromeSetting&lt;boolean&gt;

    Disponibile solo su Windows e ChromeOS: se questa impostazione è attiva, Chrome fornisce un ID univoco ai plug-in per poter eseguire contenuti protetti. Il valore di questa preferenza è di tipo booleano e il valore predefinito è true.

  • referrersEnabled

    types.ChromeSetting&lt;boolean&gt;

    Se questa opzione è attiva, Chrome invia intestazioni referer con le tue richieste. Sì, il nome di questa preferenza non corrisponde all'intestazione con errori ortografici. No, non la modificheremo. Il valore di questa preferenza è di tipo booleano e il valore predefinito è true.

  • relatedWebsiteSetsEnabled

    types.ChromeSetting&lt;boolean&gt;

    Chrome 121 e versioni successive .

    Se l'opzione è disattivata, l'opzione Insiemi di siti web correlati viene disattivata. Il valore di questa preferenza è di tipo booleano e il valore predefinito è true. Le estensioni possono disabilitare questa API solo impostando il valore su false. Se provi a impostare questa API su true, verrà visualizzato un errore.

  • thirdPartyCookiesAllowed

    types.ChromeSetting&lt;boolean&gt;

    Se disattivato, Chrome impedisce ai siti di terze parti di impostare i cookie. Il valore di questa preferenza è di tipo booleano e il valore predefinito è true.

  • topicsEnabled

    types.ChromeSetting&lt;boolean&gt;

    Chrome 111 e versioni successive .

    Se disattivata, l'API Topics viene disattivata. Il valore di questa preferenza è di tipo booleano e il valore predefinito è true. Le estensioni possono disabilitare questa API solo impostando il valore su false. Se provi a impostare questa API su true, verrà visualizzato un errore.