Description
Utilisez l'API chrome.privacy
pour contrôler l'utilisation des fonctionnalités de Chrome pouvant affecter la confidentialité d'un utilisateur. Cette API s'appuie sur le prototype ChromeSetting du type API pour obtenir et définir la configuration de Chrome.
Autorisations
privacy
Pour utiliser l'API, vous devez déclarer l'autorisation "confidentialité" dans le fichier manifeste de votre extension. 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 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 de la carte 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 aucun changement dans ses paramètres si votre extension active ou désactive un paramètre verrouillé sur une valeur spécifique par les règles d'entreprise (levelOfControl
sera défini sur "not_controllable") ou si une autre extension contrôle la valeur (levelOfControl
sera défini sur "controlled_by_other_extensions"). L'appel set()
aboutit, mais le paramètre est immédiatement remplacé. Comme cela peut prêter à confusion, il est conseillé d'avertir l'utilisateur lorsque les paramètres qu'il a choisis ne sont pas appliqués.
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 contrôler le 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 des utilisateurs):
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 suivre les modifications apportées à la valeur d'un paramètre, ajoutez un écouteur à son événement onChange
. Cela vous permet, entre autres, 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. Par exemple, pour écouter les modifications de l'état de la saisie automatique des cartes de crédit, 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 elle est activée, Chrome tente d'accélérer votre expérience de navigation Web en prérésoluant les entrées DNS et en ouvrant de manière préventive les connexions TCP et SSL aux serveurs. Cette préférence ne concerne que les actions effectuées par le service de prédiction interne de Chrome. Il n'affecte pas les préchargements ou les préconnexions initiés par une page Web. La valeur de cette préférence est une valeur booléenne, par défaut
true
. -
webRTCIPHandlingPolicyChrome 48 ou version ultérieure
Autorisez les utilisateurs à spécifier les compromis entre les performances multimédias et la confidentialité, qui ont un impact sur la manière dont le trafic WebRTC est acheminé et sur la quantité d'informations sur les adresses locales 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 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, par défaut
true
. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70 et versions ultérieuresSi cette option est activée, Chrome propose de remplir automatiquement les adresses et d'autres données de formulaire. La valeur de cette préférence est une valeur booléenne, par défaut
true
. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 et versions ultérieuresSi elle 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, par défaut
true
. -
autofillEnabled
types.ChromeSetting<boolean>
Obsolète depuis Chrome 70Veuillez utiliser privacy.services.autofillAddressEnabled et privacy.services.autofillCreditCardEnabled. Cette option est conservée pour 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, par défaut
true
. -
passwordSavingEnabled
types.ChromeSetting<boolean>
Si cette option est activée, le gestionnaire de mots de passe vous demandera si vous souhaitez enregistrer les mots de passe. La valeur de cette préférence est une valeur booléenne, par défaut
true
. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
Si elle est activée, Chrome fait tout son possible pour vous protéger contre l'hameçonnage et les logiciels malveillants. La valeur de cette préférence est une valeur booléenne, par défaut
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 une valeur booléenne, par défaut
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 qui sont des suggestions probables de ce que vous avez saisi jusqu'à présent. La valeur de cette préférence est une valeur booléenne, par défaut
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 une valeur booléenne, par défaut
false
. -
translationServiceEnabled
types.ChromeSetting<boolean>
Si elle est activée, Chrome vous propose de traduire les pages qui ne sont pas rédigées dans une langue que vous lisez. La valeur de cette préférence est une valeur booléenne, par défaut
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 ou version ultérieureSi elles sont désactivées, 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 est générée. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 et versions ultérieuresSi cette option est activée, Chrome envoie l'en-tête "Ne pas suivre" (
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 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 sera générée. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Si cette préférence est activée, Chrome envoie des pings d'audit lorsqu'un site Web en fait la 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 sur Windows et ChromeOS uniquement: si cette option est activée, Chrome fournit un ID unique aux plug-ins pour 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 ne l'allons pas 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 elle est désactivée, la fonctionnalité 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 que en définissant la valeur surfalse
. Si vous essayez de définir cette API surtrue
, une erreur sera générée. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Si elle 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
.**Remarque:**Certains sites peuvent toujours accéder aux cookies tiers lorsque cette API renvoie
false
, s'ils disposent d'une exception valide ou s'ils utilisent plutôt l'API Storage Access. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 ou version ultérieureSi elle 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 sera générée.