Descrizione
Utilizza 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 ChromeSetting del tipo API per ottenere e impostare la configurazione di Chrome.
Autorizzazioni
privacy
Per utilizzare l'API, devi dichiarare l'autorizzazione "privacy" nel manifest dell'estensione. Ad esempio:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Concetti e utilizzo
Leggere il valore corrente di un'impostazione di Chrome è semplice. Innanzitutto devi trovare la proprietà che ti interessa, quindi dovrai chiamare get()
su quell'oggetto per recuperare il valore corrente e il livello di controllo dell'estensione. Ad esempio, per determinare se la funzionalità di compilazione automatica delle carte di credito di Chrome è attiva, devi 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 possa controllarla. L'utente non vedrà 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 controlla il valore (levelOfControl
verrà impostato su "controlled_by_other_extensions"). La chiamata set()
andrà a buon fine, ma l'impostazione verrà immediatamente sostituita. Poiché questo potrebbe creare confusione, è consigliabile avvertire l'utente quando le impostazioni scelte non vengono applicate.
Ciò significa che devi utilizzare il metodo get()
per determinare il tuo livello di accesso e poi chiamare set()
solo se la tua estensione può acquisire il controllo dell'impostazione (infatti, se la tua estensione non può 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 ti interessano le modifiche al valore di un'impostazione, aggiungi un ascoltatore al relativo evento onChange
. Tra gli altri utilizzi, ti consente di avvisare l'utente se un'estensione installata di recente assume il controllo di un'impostazione o se i criteri aziendali sostituiscono il tuo controllo. Ad esempio, per rilevare 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 di API per la privacy dal repository chrome-extension-samples.
Tipi
IPHandlingPolicy
Le norme di gestione dell'IP di WebRTC.
Enum
"default"
"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
types.ChromeSetting<boolean>
Se questa opzione è attivata, Chrome tenta di velocizzare la tua esperienza di navigazione web risolvendo in anticipo le voci DNS e aprendo in via preventiva le connessioni TCP e SSL ai server. Questa preferenza influisce solo sulle azioni intraprese dal servizio di previsione interno di Chrome. Non influisce sui pre-caricamenti o sui pre-connessioni avviati dalla pagina web. Il valore di questa preferenza è booleano e il valore predefinito è
true
. -
webRTCIPHandlingPolicyChrome 48 e versioni successive
Consenti agli utenti di specificare i compromessi tra prestazioni/privacy dei contenuti multimediali che influiscono sul modo in cui viene indirizzato il traffico WebRTC e sulla quantità di informazioni sugli indirizzi locali esposte. Il valore di questa preferenza è di tipo IPHandlingPolicy, con un valore predefinito di
default
.
services
Impostazioni che attivano o disattivano le 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 è attivata, Chrome utilizza un servizio web per risolvere gli errori di navigazione. Il valore di questa preferenza è booleano e il valore predefinito è
true
. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70 o versioni successiveSe è attivata, Chrome offre di compilare automaticamente indirizzi e altri dati dei moduli. Il valore di questa preferenza è booleano e il valore predefinito è
true
. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 o versioni successiveSe è attivata, Chrome offre di compilare automaticamente i moduli per le carte di credito. Il valore di questa preferenza è booleano e il valore predefinito è
true
. -
autofillEnabled
types.ChromeSetting<boolean>
Ritirato da Chrome 70Utilizza privacy.services.autofillAddressEnabled e privacy.services.autofillCreditCardEnabled. Questa opzione rimane per la compatibilità con le versioni precedenti in questa release e verrà rimossa in futuro.
Se questa opzione è attiva, Chrome offre la possibilità di compilare automaticamente i moduli. Il valore di questa preferenza è booleano e il valore predefinito è
true
. -
passwordSavingEnabled
types.ChromeSetting<boolean>
Se è attivato, il Gestore delle password ti chiederà se vuoi salvare le password. Il valore di questa preferenza è booleano e il valore predefinito è
true
. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
Se questa opzione è attiva, Chrome fa del suo meglio per proteggerti da phishing e malware. Il valore di questa preferenza è booleano e il valore predefinito è
true
. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
Se questa opzione è attiva, Chrome invia a Google informazioni aggiuntive quando Navigazione sicura blocca una pagina, ad esempio i contenuti della pagina bloccata. Il valore di questa preferenza è booleano e il valore predefinito è
false
. -
searchSuggestEnabled
types.ChromeSetting<boolean>
Se questa impostazione è attiva, Chrome invia il testo digitato nell'omnibox al tuo motore di ricerca predefinito, che fornisce previsioni di siti web e ricerche che sono possibili completamenti di ciò che hai digitato finora. Il valore di questa preferenza è booleano e il valore predefinito è
true
. -
spellingServiceEnabled
types.ChromeSetting<boolean>
Se è attivato, Chrome utilizza un servizio web per correggere gli errori ortografici. Il valore di questa preferenza è booleano e il valore predefinito è
false
. -
translationServiceEnabled
types.ChromeSetting<boolean>
Se questa opzione è attiva, Chrome offre di tradurre le pagine che non sono nella tua lingua. Il valore di questa preferenza è booleano e il valore predefinito è
true
.
websites
Impostazioni che determinano quali informazioni Chrome rende disponibili ai siti web.
Tipo
oggetto
Proprietà
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111 e versioni successiveSe sono disattivate, 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 sufalse
. Se provi a impostare queste API sutrue
, verrà generato un errore. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 e versioni successiveSe è attivata, 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
types.ChromeSetting<boolean>
Chrome 111 e versioni successiveSe è 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 sufalse
. Se provi a impostare questa API sutrue
, verrà generato un errore. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Se è attivata, 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<boolean>
Disponibile solo su Windows e ChromeOS: se abilitata, Chrome fornisce un ID univoco ai plug-in per eseguire contenuti protetti. Il valore di questa preferenza è di tipo booleano e il valore predefinito è
true
. -
referrersEnabled
types.ChromeSetting<boolean>
Se questa opzione è attivata, 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
. -
types.ChromeSetting<boolean>
Chrome 121 e versioni successiveSe l'opzione non è attiva, l'impostazione 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 sufalse
. Se provi a impostare questa API sutrue
, verrà generato un errore. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Se questa impostazione è 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
.**Nota:**i singoli siti potrebbero comunque essere in grado di accedere ai cookie di terze parti quando questa API restituisce
false
, se dispongono di una esenzione valida o se utilizzano l'API Storage Access. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 e versioni successiveSe è 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 sufalse
. Se provi a impostare questa API sutrue
, verrà generato un errore.