Description
Utilisez l'API chrome.privacy
pour contrôler l'utilisation des fonctionnalités Chrome susceptibles d'affecter la confidentialité des données de l'utilisateur. Cette API s'appuie sur le prototype ChromeSetting de l'API de type pour obtenir et définir la configuration de Chrome.
Autorisations
privacy
Vous devez déclarer la "confidentialité" dans le fichier manifeste de votre extension pour utiliser l'API. Exemple :
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Concepts et utilisation
Il est facile de lire la valeur actuelle d'un paramètre Chrome. Vous devez d'abord trouver
propriété qui vous intéresse, vous appellerez get()
sur cet objet afin de récupérer ses
la valeur actuelle et le niveau de contrôle de votre extension. Par exemple, pour déterminer si la 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 la vérifier
que votre extension puisse contrôler le paramètre. L'utilisateur ne constatera pas de modification de ses paramètres si vos
L'extension active ou désactive un paramètre qui est verrouillé sur une valeur spécifique par des règles d'entreprise
(levelOfControl
sera défini sur "not_controllable") ou si une autre extension contrôle la
(levelOfControl
sera définie sur "control_by_other_extensions"). L'appel set()
va
réussi, mais le paramètre sera immédiatement remplacé. Comme cela peut prêter à confusion, nous vous recommandons
pour avertir l'utilisateur lorsque les paramètres qu'il a
choisis ne sont pas réellement appliqués.
Cela signifie que vous devez utiliser la méthode get()
pour déterminer votre niveau d'accès, et que
appelez set()
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 fonction pour réduire
confusion):
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 souhaitez modifier 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 s'empare
contrôle d'un paramètre, ou si une règle d'entreprise l'emporte sur votre contrôle. Pour écouter les modifications apportées à
é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 Privacy à partir de chrome-extension-samples. un dépôt de clés.
Types
IPHandlingPolicy
Règle de gestion des adresses IP de WebRTC.
Énumération
"par défaut"
"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 navigation sur le Web en résolvant les entrées DNS et en ouvrant de manière préventive 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. Il ne concerne pas les préfectures ni les préconnexions déclenchées sur une page Web. La valeur de cette préférence est une valeur booléenne,
true
par défaut. -
webRTCIPHandlingPolicyChrome (version 48 ou ultérieure)
Permet aux utilisateurs de spécifier les compromis en termes de performances et de confidentialité des médias qui ont un impact sur le routage du trafic WebRTC et la quantité d'informations d'adresse locales exposées. La valeur de cette préférence est de type IPHandlingPolicy,
default
par défaut.
services
Paramètres permettant d'activer ou de désactiver les fonctionnalités qui nécessitent des services réseau tiers fournis par Google et votre moteur 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 une valeur booléenne,
true
par défaut. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70 et versions ultérieuresSi 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 une valeur booléenne,
true
par défaut. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 et versions ultérieuresSi 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 une valeur booléenne,
true
par défaut. -
autofillEnabled
types.ChromeSetting<boolean>
<ph type="x-smartling-placeholder"></ph> Obsolète depuis Chrome 70Veuillez utiliser privacy.services.autofillAddressEnabled et privacy.services.autofillCreditCardEnabled. Cette fonctionnalité est destinée à 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 une valeur booléenne,
true
par défaut. -
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 une valeur booléenne,
true
par défaut. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
Si cette option est activée, Chrome s'efforce de vous protéger contre l'hameçonnage et les logiciels malveillants. La valeur de cette préférence est une valeur booléenne,
true
par défaut. -
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 une valeur booléenne,
false
par défaut. -
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 correspondre à ce que vous avez saisi. La valeur de cette préférence est une valeur booléenne,
true
par défaut. -
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 une valeur booléenne,
false
par défaut. -
translationServiceEnabled
types.ChromeSetting<boolean>
Si cette option est activée, Chrome vous propose de traduire les pages qui sont écrites dans une langue que vous ne lisez pas. La valeur de cette préférence est une valeur booléenne,
true
par défaut.
websites
Paramètres déterminant les informations que Chrome met à la disposition des sites Web.
Type
objet
Propriétés
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111 ou version ultérieureSi elles sont désactivées, l'API Attribution Reporting et l'API Private Aggregation le sont également. 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 se produit. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome (version 65 ou ultérieure)Si cette option est activée, Chrome envoie une instruction "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 ou version ultérieureSi elle est désactivée, l'API Fledge l'est aussi. 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 se produit. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Si cette option est activée, Chrome envoie des pings d'audit à la demande d'un site Web (
<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
referer
avec 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 ou version ultérieureSi cette option est désactivée, les Ensembles de sites Web associés l'est également. 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 se produit. -
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
. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 ou version ultérieureSi elle est désactivée, l'API Topics l'est également. 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 se produit.