Protéger la confidentialité des utilisateurs

Les utilisateurs n'installent pas d'extension si elle compromet leur confidentialité ou demande des autorisations supplémentaires dont elles semblent avoir besoin. Les demandes d'autorisation doivent avoir du sens pour les utilisateurs et se limiter aux informations critiques nécessaires à l'implémentation de l'extension. Les extensions qui collectent ou transmettent des informations sur l'utilisateur doivent respecter les Règles de confidentialité des données utilisateur .

Protéger et respecter les utilisateurs des extensions en prenant ces précautions pour préserver leur identité. N'oubliez pas: moins une extension peut accéder à des données, moins elle risque de fuir accidentellement.

Réduire les autorisations requises

Les API auxquelles une extension peut accéder sont spécifiées dans le champ des autorisations du fichier manifeste. Plus il y a d'autorisations accordées, plus un pirate informatique a de chances d'intercepter des informations. Seules les API dont dépend une extension doivent être répertoriées, et des options moins invasives doivent être prises en compte. Moins une extension demande d'autorisations, moins l'utilisateur reçoit d'avertissements. Les utilisateurs sont plus susceptibles d'installer une extension avec un nombre d'avertissements limité.

Les extensions ne doivent pas pérenniser l'accès aux données utilisateur en demandant des autorisations dont elles n'ont pas besoin actuellement, mais qu'elles pourraient mettre en œuvre à l'avenir. Incluez de nouvelles autorisations avec les mises à jour d'extension et envisagez de les rendre facultatives.

activeTab

Les extensions qui utilisent des autorisations d'hôte pour injecter des scripts peuvent souvent remplacer activeTab. L'autorisation activeTab n'accorde à une extension un accès temporaire à l'onglet actuellement actif que lorsque l'utilisateur appelle l'extension. L'accès est tronqué lorsque l'utilisateur quitte l'onglet actuel ou le ferme. Il sert d'alternative à de nombreuses utilisations de <all_urls>.

{
  "name": "Very Secure Extension",
  "version": "1.0",
  "description": "Example of a Secure Extension",
  "permissions": ["activeTab"],
  "manifest_version": 2
}

L'autorisation activeTab n'affiche aucun message d'avertissement lors de l'installation.

Activer les autorisations facultatives

Permettez aux utilisateurs de choisir les fonctionnalités et les autorisations dont ils ont besoin dans une extension en incluant des autorisations facultatives. Si une fonctionnalité n'est pas essentielle au fonctionnement de base d'une extension, rendez-la facultative et déplacez l'API ou le domaine dans le champ optional_permissions.

{
  "name": "Very Secure Extension",
  ...
  "optional_permissions": [ "tabs", "https://www.google.com/" ],
  ...
}

L'ajout d'autorisations facultatives permet à une extension d'expliquer pourquoi elle a besoin d'une autorisation particulière lorsque l'utilisateur active la fonctionnalité concernée. L'extension peut proposer à l'utilisateur d'activer des fonctionnalités.

Capture d&#39;écran d&#39;un pop-up demandant l&#39;activation des autorisations

Cliquez sur OK pour déclencher l'événement suivant dans le script en arrière-plan.

document.querySelector('#button').addEventListener('click', function(event) {
  // Permissions must be requested from inside a user gesture, like a button's
  // click handler.
  chrome.permissions.request({
    permissions: ['tabs'],
    origins: ['https://www.google.com/']
  }, function(granted) {
    // The callback argument will be true if the user granted the permissions.
    if (granted) {
      // doSomething();
    } else {
      // doSomethingElse();
    }
  });
});

L'utilisateur est alors invité à envoyer la requête suivante.

Capture d&#39;écran d&#39;une demande d&#39;autorisations facultative.

Des autorisations facultatives peuvent également être implémentées dans une mise à jour d'extension. La nouvelle fonctionnalité sera ainsi accessible aux utilisateurs sans désactiver l'extension, comme cela peut se produire si vous effectuez une mise à jour avec de nouvelles autorisations requises.

Limitez et sécurisez les informations utilisateur

Ne demandez que le nombre minimal de données utilisateur dont une extension a besoin. Moins une extension demande à l'utilisateur d'informations, moins l'exposition est importante si l'extension est compromise.

Toutes les données utilisateur demandées doivent être traitées avec soin. Stockez et récupérez les données sur un serveur sécurisé avec un domaine enregistré. Utilisez toujours HTTPS pour vous connecter et évitez de conserver des données utilisateur sensibles côté client d'une extension, car le stockage des extensions n'est pas chiffré.