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
Manifest
Per poter usare l'API, devi dichiarare l'autorizzazione alla "privacy" nel manifest della tua estensione. Ad esempio:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
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 di Chrome è attiva, devi 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é 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 dell'utente):
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 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 è sufficiente 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 per la privacy dal repository chrome-extension-samples.
Tipi
IPHandlingPolicy
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
types.ChromeSetting<boolean>
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
. -
webRTCIPHandlingPolicyChrome 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
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 e il valore predefinito è
true
. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70 e versioni successiveSe 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
types.ChromeSetting<boolean>
Chrome 70 e versioni successiveSe 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
types.ChromeSetting<boolean>
Deprecata da Chrome 70Utilizza 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
types.ChromeSetting<boolean>
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
types.ChromeSetting<boolean>
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
types.ChromeSetting<boolean>
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
types.ChromeSetting<boolean>
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
types.ChromeSetting<boolean>
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
types.ChromeSetting<boolean>
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
types.ChromeSetting<boolean>
Chrome 111 e versioni successiveSe 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 sufalse
. Se provi a impostare queste API sutrue
, verrà visualizzato un errore. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 e versioni successiveSe 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
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à visualizzato un errore. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
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
types.ChromeSetting<boolean>
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<boolean>
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
. -
types.ChromeSetting<boolean>
Chrome 121 e versioni successiveSe 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 sufalse
. Se provi a impostare questa API sutrue
, verrà visualizzato un errore. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
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
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à visualizzato un errore.