Description
Utilisez l'API chrome.privacy pour contrôler l'utilisation des fonctionnalités de Chrome qui peuvent affecter la confidentialité d'un utilisateur. Cette API s'appuie sur le prototype ChromeSetting de l'API types pour obtenir et définir la configuration de Chrome.
Autorisations
privacyVous devez déclarer l'autorisation "privacy" dans le fichier manifeste de votre extension pour utiliser l'API. Exemple :
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Concepts et utilisation
La lecture de la valeur actuelle d'un paramètre Chrome est simple. Vous devez d'abord trouver la
propriété qui vous intéresse, puis appeler get() sur cet objet afin de récupérer sa
valeur actuelle et le niveau de contrôle de votre extension. Par exemple, pour déterminer si la fonctionnalité de saisie automatique des cartes de crédit de Chrome
est activée, vous devez écrire :
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
La modification de la valeur d'un paramètre est un peu plus complexe, car vous devez d'abord vérifier
que votre extension peut contrôler le paramètre. L'utilisateur ne verra aucune modification de ses paramètres si votre
extension active ou désactive un paramètre qui est soit verrouillé sur une valeur spécifique par des règles d'entreprise
(levelOfControl sera défini sur "not_controllable"), soit contrôlé par une autre extension qui contrôle la
valeur (levelOfControl sera défini sur "controlled_by_other_extensions"). L'appel set() réussira, mais le paramètre sera immédiatement remplacé. Comme cela peut être déroutant, il est conseillé
d'avertir l'utilisateur lorsque les paramètres qu'il a choisis ne sont pas appliqués en pratique.
Cela signifie que vous devez utiliser la méthode get() pour déterminer votre niveau d'accès, puis n'appeler set() que si votre extension peut prendre le contrôle du paramètre (en fait, si votre extension ne peut pas
contrôler le paramètre, il est probablement judicieux de désactiver visuellement la fonctionnalité pour réduire la confusion de l'utilisateur) :
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);
}
});
}
});
Si vous êtes intéressé par les modifications apportées à la valeur d'un paramètre, ajoutez un écouteur à son événement onChange. Entre
autres utilisations, cela vous permettra d'avertir l'utilisateur si une extension installée plus récemment prend
le contrôle d'un paramètre ou si une règle d'entreprise remplace votre contrôle. Pour écouter les modifications apportées à l'état de la saisie automatique des cartes de crédit, par exemple, le code suivant suffit :
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.
}
);
Exemples
Pour essayer cette API, installez l'exemple d'API de confidentialité à partir du dépôt chrome-extension-samples.
Types
IPHandlingPolicy
La règle de gestion des adresses IP de WebRTC.
Énumération
"default"
"default_public_and_private_interfaces"
"default_public_interface_only"
"disable_non_proxied_udp"
Propriétés
network
Paramètres qui influencent la gestion des connexions réseau par Chrome en général.
Type
objet
Propriétés
-
networkPredictionEnabled
types.ChromeSetting<boolean>
Si cette option est activée, Chrome tente d'accélérer votre expérience de navigation sur le Web en pré-résolvant les entrées DNS et en ouvrant de manière préemptive les connexions TCP et SSL aux serveurs. Cette préférence n'affecte que les actions effectuées par le service de prédiction interne de Chrome. Elle n'affecte pas les prélectures ni les préconnexions initiées par les pages Web. La valeur de cette préférence est un booléen, qui est défini par défaut sur
true. -
webRTCIPHandlingPolicyChrome 48+
Permet aux utilisateurs de spécifier les compromis entre performances multimédias et confidentialité, ce qui a une incidence sur le routage du trafic WebRTC et sur la quantité d'informations d'adresse locale exposées. La valeur de cette préférence est de type IPHandlingPolicy et est définie par défaut sur
default.
services
Paramètres qui activent ou désactivent les fonctionnalités nécessitant des services réseau tiers fournis par Google et votre fournisseur de recherche par défaut.
Type
objet
Propriétés
-
alternateErrorPagesEnabled
types.ChromeSetting<boolean>
Si cette option est activée, Chrome utilise un service Web pour résoudre les erreurs de navigation. La valeur de cette préférence est un booléen, qui est défini par défaut sur
true. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70+Si cette option est activée, Chrome propose de remplir automatiquement les adresses et autres données de formulaire. La valeur de cette préférence est un booléen, qui est défini par défaut sur
true. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70+Si cette option est activée, Chrome propose de remplir automatiquement les formulaires de carte de crédit. La valeur de cette préférence est un booléen, qui est défini par défaut sur
true. -
autofillEnabled
types.ChromeSetting<boolean>
Obsolète depuis Chrome 70Veuillez utiliser privacy.services.autofillAddressEnabled et privacy.services.autofillCreditCardEnabled. Cette fonctionnalité est conservée pour assurer la rétrocompatibilité dans cette version et sera supprimée à l'avenir.
Si cette option est activée, Chrome propose de remplir automatiquement les formulaires. La valeur de cette préférence est un booléen, qui est défini par défaut sur
true. -
autofillOtherDatatypesEnabled
types.ChromeSetting<boolean>
En attenteSi cette option est activée, Chrome propose de remplir automatiquement les autres types de données. Cela inclut les documents de voyage et d'identité. La valeur de cette préférence est un booléen, qui est défini par défaut sur
true. -
passwordSavingEnabled
types.ChromeSetting<boolean>
Si cette option est activée, le gestionnaire de mots de passe vous demande si vous souhaitez enregistrer les mots de passe. La valeur de cette préférence est un booléen, qui est défini par défaut sur
true. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
Si cette option est activée, Chrome fait de son mieux pour vous protéger contre l'hameçonnage et les logiciels malveillants. La valeur de cette préférence est un booléen, qui est défini par défaut sur
true. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
Si cette option est activée, Chrome envoie des informations supplémentaires à Google lorsque la navigation sécurisée bloque une page, comme le contenu de la page bloquée. La valeur de cette préférence est un booléen, qui est défini par défaut sur
false. -
searchSuggestEnabled
types.ChromeSetting<boolean>
Si cette option est activée, Chrome envoie le texte que vous saisissez dans l'omnibox à votre moteur de recherche par défaut, qui fournit des prédictions de sites Web et de recherches susceptibles de compléter ce que vous avez saisi jusqu'à présent. La valeur de cette préférence est un booléen, qui est défini par défaut sur
true. -
spellingServiceEnabled
types.ChromeSetting<boolean>
Si cette option est activée, Chrome utilise un service Web pour corriger les fautes d'orthographe. La valeur de cette préférence est un booléen, qui est défini par défaut sur
false. -
translationServiceEnabled
types.ChromeSetting<boolean>
Si cette option est activée, Chrome propose de traduire les pages qui ne sont pas dans une langue que vous lisez. La valeur de cette préférence est un booléen, qui est défini par défaut sur
true.
websites
Paramètres qui déterminent les informations que Chrome met à la disposition des sites Web.
Type
objet
Propriétés
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111+Si cette option est désactivée, l'API Attribution Reporting et l'API Private Aggregation sont désactivées. La valeur de cette préférence est de type booléen et la valeur par défaut est
true. Les extensions ne peuvent désactiver ces API qu'en définissant la valeur surfalse. Si vous essayez de définir ces API surtrue, une erreur s'affiche. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65+Si cette option est activée, Chrome envoie l'en-tête "Do Not Track" (
DNT: 1) avec vos requêtes. La valeur de cette préférence est de type booléen et la valeur par défaut estfalse. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111+Si cette option est désactivée, l'API Fledge est désactivée. La valeur de cette préférence est de type booléen et la valeur par défaut est
true. Les extensions ne peuvent désactiver cette API qu'en définissant la valeur surfalse. Si vous essayez de définir cette API surtrue, une erreur s'affiche. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Si cette option est activée, Chrome envoie des pings d'audit lorsqu'un site Web le demande (
<a ping>). La valeur de cette préférence est de type booléen et la valeur par défaut esttrue. -
protectedContentEnabled
types.ChromeSetting<boolean>
Disponible uniquement sur Windows et ChromeOS : si cette option est activée, Chrome fournit un ID unique aux plug-ins afin d'exécuter du contenu protégé. La valeur de cette préférence est de type booléen et la valeur par défaut est
true. -
referrersEnabled
types.ChromeSetting<boolean>
Si cette option est activée, Chrome envoie des en-têtes
refereravec vos requêtes. Oui, le nom de cette préférence ne correspond pas à l'en-tête mal orthographié. Non, nous n'allons pas le modifier. La valeur de cette préférence est de type booléen et la valeur par défaut esttrue. -
types.ChromeSetting<boolean>
Chrome 121+Si cette option est désactivée, la fonctionnalité d'ensembles de sites Web associés est désactivée. La valeur de cette préférence est de type booléen et la valeur par défaut est
true. Les extensions ne peuvent désactiver cette API qu'en définissant la valeur surfalse. Si vous essayez de définir cette API surtrue, une erreur s'affiche. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Si cette option est désactivée, Chrome empêche les sites tiers de définir des cookies. La valeur de cette préférence est de type booléen et la valeur par défaut est
true. Les extensions ne peuvent pas activer cette API en mode navigation privée, où les cookies tiers sont bloqués et ne peuvent être autorisés qu'au niveau du site. Si vous essayez de définir cette API sur "true" en mode navigation privée, une erreur s'affiche.Remarque : Les sites individuels peuvent toujours accéder aux cookies tiers lorsque cette API renvoie
false, s'ils bénéficient d'une exemption valide ou s'ils utilisent l'API Storage Access à la place. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111+Si cette option est désactivée, l'API Topics est désactivée. La valeur de cette préférence est de type booléen et la valeur par défaut est
true. Les extensions ne peuvent désactiver cette API qu'en définissant la valeur surfalse. Si vous essayez de définir cette API surtrue, une erreur s'affiche.