chrome.privacy

Descrizione

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

Autorizzazioni

privacy

Per poter usare l'API, devi dichiarare l'autorizzazione alla "privacy" nel manifest della tua estensione. Ad esempio:

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

Concetti e utilizzo

Leggere il valore attuale di un'impostazione di Chrome è semplice. Innanzitutto devi trovare la proprietà che ti interessa, poi chiama get() su quell'oggetto per recuperare il suo valore attuale e il livello di controllo dell'estensione. Ad esempio, per determinare se la funzionalità di compilazione automatica delle carte di credito di Chrome è attiva, puoi scrivere:

chrome.privacy.services.autofillCreditCardEnabled.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, perché devi prima verificare che l'estensione sia in grado di controllare l'impostazione. L'utente non noterà alcuna modifica alle sue impostazioni se la tua estensione attiva/disattiva un'impostazione bloccata su un valore specifico dai criteri aziendali (levelOfControl verrà impostato su "not_controllable") o se un'altra estensione il controllo del valore (levelOfControl verrà impostata su "controlled_by_other_extensions"). La chiamata set() riuscirà, ma l'impostazione verrà immediatamente ignorata. Poiché ciò può creare confusione, ti consigliamo di avvisare l'utente se le impostazioni che ha scelto non sono state applicate in modo pratico.

Ciò significa che devi utilizzare il metodo get() per determinare il tuo livello di accesso, quindi chiamare set() solo se l'estensione è in grado di acquisire il controllo dell'impostazione (infatti, se l'estensione non è in grado di controllare l'impostazione, probabilmente è una buona idea disattivare visivamente la funzionalità per ridurre la confusione degli utenti):

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

Se vuoi apportare modifiche al valore di un'impostazione, aggiungi un listener al relativo evento onChange. Tra gli altri utilizzi, questo ti consente di avvisare l'utente se un'estensione installata più di recente ottiene il controllo di un'impostazione o se il criterio aziendale ha la precedenza sul tuo controllo. Ad esempio, per ascoltare le modifiche allo stato della compilazione automatica della carta di credito è sufficiente il seguente codice:

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

Esempi

Per provare questa API, installa l'esempio dell'API per la privacy dal repository chrome-extension-samples.

Tipi

IPHandlingPolicy

Chrome 48 e versioni successive

Il criterio di gestione degli IP di WebRTC.

Enum

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

Proprietà

network

Impostazioni che influiscono sulla gestione delle connessioni di rete da parte di Chrome in generale.

Tipo

oggetto

Proprietà

  • networkPredictionEnabled

    Se questa impostazione è attiva, Chrome tenta di velocizzare la tua esperienza di navigazione sul web risolvendo preventivamente le voci DNS e aprendo preventivamente le connessioni TCP e SSL ai server. Questa preferenza riguarda solo le azioni intraprese dal servizio di previsione interno di Chrome. Non influisce sui prefetti o sui precollegamenti avviati dalle pagine web. Il valore di questa preferenza è un valore booleano e il valore predefinito è true.

  • webRTCIPHandlingPolicy
    Chrome 48 e versioni successive

    Consenti agli utenti di specificare i compromessi in termini di rendimento dei contenuti multimediali e privacy 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 IPManagingPolicy e per impostazione predefinita è 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

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

  • autofillAddressEnabled
    Chrome 70 e versioni successive

    Se questa impostazione è attiva, Chrome propone di compilare automaticamente gli indirizzi e altri dati dei moduli. Il valore di questa preferenza è un valore booleano e il valore predefinito è true.

  • autofillCreditCardEnabled
    Chrome 70 e versioni successive

    Se questa impostazione è attiva, Chrome propone di compilare automaticamente i moduli delle carte di credito. Il valore di questa preferenza è un valore booleano e il valore predefinito è true.

  • autofillEnabled
    Deprecata da Chrome 70

    Utilizza privacy.services.autofillAddressEnabled e privacy.services.autofillCreditCardEnabled. Questo dato è ancora valido per garantire la compatibilità con le versioni precedenti in 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 e il valore predefinito è true.

  • passwordSavingEnabled

    Se attivato, il gestore delle password ti chiederà se vuoi salvare le password. Il valore di questa preferenza è un valore booleano e il valore predefinito è true.

  • safeBrowsingEnabled

    Se questa impostazione è attiva, Chrome fa del suo meglio per proteggerti da phishing e malware. Il valore di questa preferenza è un valore booleano e il valore predefinito è true.

  • safeBrowsingExtendedReportingEnabled

    Se questa impostazione viene attivata, quando Navigazione sicura blocca una pagina, Chrome invia ulteriori informazioni a Google, ad esempio i contenuti della pagina bloccata. Il valore di questa preferenza è un valore booleano e il valore predefinito è false.

  • searchSuggestEnabled

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

  • spellingServiceEnabled

    Se questa impostazione è attiva, Chrome usa un servizio web per correggere gli errori ortografici. Il valore di questa preferenza è un valore booleano e il valore predefinito è false.

  • translationServiceEnabled

    Se questa impostazione è attiva, Chrome propone di tradurre pagine che non sono in una lingua che conosci. Il valore di questa preferenza è un valore booleano e il valore predefinito è true.

websites

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

Tipo

oggetto

Proprietà

  • adMeasurementEnabled
    Chrome 111 e versioni successive

    Se disabilitata, 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 disattivare queste API solo impostando il valore su false. Se provi a impostare queste API su true, verrà visualizzato un errore.

  • doNotTrackEnabled
    Chrome 65 e versioni successive

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

  • fledgeEnabled
    Chrome 111 e versioni successive

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

  • hyperlinkAuditingEnabled

    Se questa impostazione è attiva, Chrome invia ping di controllo quando richiesti da un sito web (<a ping>). Il valore di questa preferenza è di tipo booleano, mentre il valore predefinito è true.

  • protectedContentEnabled

    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

    Se l'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 lo cambieremo. Il valore di questa preferenza è di tipo booleano e il valore predefinito è true.

  • relatedWebsiteSetsEnabled
    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 disattivare questa API solo impostando il valore su false. Se provi a impostare questa API su true, verrà visualizzato un errore.

  • thirdPartyCookiesAllowed

    Se l'opzione è disattivata, 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
    Chrome 111 e versioni successive

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