chrome.privacy

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

Chrome (version 48 ou ultérieure)

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.

  • webRTCIPHandlingPolicy
    Chrome (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érieures

    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 une valeur booléenne, true par défaut.

  • autofillCreditCardEnabled

    types.ChromeSetting<boolean>

    Chrome 70 et versions ultérieures

    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 une valeur booléenne, true par défaut.

  • autofillEnabled

    types.ChromeSetting<boolean>

    <ph type="x-smartling-placeholder"></ph> Obsolète depuis Chrome 70

    Veuillez 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&lt;boolean&gt;

    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&lt;boolean&gt;

    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&lt;boolean&gt;

    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&lt;boolean&gt;

    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&lt;boolean&gt;

    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&lt;boolean&gt;

    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&lt;boolean&gt;

    Chrome 111 ou version ultérieure

    Si 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 sur false. Si vous essayez de définir ces API sur true, une erreur se produit.

  • doNotTrackEnabled

    types.ChromeSetting&lt;boolean&gt;

    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 est false.

  • fledgeEnabled

    types.ChromeSetting&lt;boolean&gt;

    Chrome 111 ou version ultérieure

    Si 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 sur false. Si vous essayez de définir cette API sur true, une erreur se produit.

  • hyperlinkAuditingEnabled

    types.ChromeSetting&lt;boolean&gt;

    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 est true.

  • protectedContentEnabled

    types.ChromeSetting&lt;boolean&gt;

    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&lt;boolean&gt;

    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 est true.

  • relatedWebsiteSetsEnabled

    types.ChromeSetting&lt;boolean&gt;

    Chrome 121 ou version ultérieure

    Si 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 sur false. Si vous essayez de définir cette API sur true, une erreur se produit.

  • thirdPartyCookiesAllowed

    types.ChromeSetting&lt;boolean&gt;

    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&lt;boolean&gt;

    Chrome 111 ou version ultérieure

    Si 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 sur false. Si vous essayez de définir cette API sur true, une erreur se produit.