Protéger la confidentialité des utilisateurs

Les utilisateurs n'installeront pas d'extension si elle compromet leur confidentialité ou demande plus d'autorisations que nécessaire. Les demandes d'autorisation doivent avoir du sens pour les utilisateurs et être limitées aux informations essentielles nécessaires à l'implémentation de l'extension. Les extensions qui collectent ou transmettent des données utilisateur doivent respecter les Règles de confidentialité des données utilisateur .

Protégez et respectez les utilisateurs de votre extension en prenant ces précautions pour préserver leur identité. N'oubliez pas que moins une extension peut accéder à des données, moins elle peut les divulguer 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 vous accordez d'autorisations, plus un pirate informatique a de chances d'intercepter des informations. Seules les API dont dépend une extension doivent être listées, et des options moins intrusives doivent être envisagées. Moins une extension demande d'autorisations, moins l'utilisateur verra d'avertissements concernant les autorisations. Les utilisateurs sont plus susceptibles d'installer une extension avec des avertissements limités.

Les extensions ne doivent pas "anticiper" l'accès aux données utilisateur en demandant des autorisations dont elles n'ont pas besoin actuellement, mais qu'elles pourraient implémenter à l'avenir. Incluez de nouvelles autorisations avec les mises à jour des extensions et envisagez de les rendre facultatives.

activeTab

Les extensions qui utilisent des autorisations d'hôte pour injecter des scripts peuvent souvent utiliser activeTab à la place. L'autorisation activeTab accorde à une extension un accès temporaire à l'onglet actif, uniquement lorsque l'utilisateur appelle l'extension. L'accès est coupé lorsque l'utilisateur quitte ou ferme l'onglet actuel. Elle 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.

Choisir 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 à la fonctionnalité 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'inclusion d'autorisations facultatives permet à une extension d'expliquer pourquoi elle a besoin d'une autorisation spécifique 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 d&#39;activer les autorisations

Si vous cliquez sur OK, l'événement suivant sera déclenché dans le script d'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 ensuite invité à répondre à la demande suivante.

Capture d&#39;écran de la demande d&#39;autorisations facultatives.

Des autorisations facultatives peuvent également être implémentées lors de la mise à jour d'une extension. Cela permettra aux utilisateurs de bénéficier de la nouvelle fonctionnalité sans désactiver l'extension, comme cela peut se produire lors d'une mise à jour avec de nouvelles autorisations requises.

Limiter et sécuriser les informations utilisateur

Ne demandez que le minimum de données utilisateur dont une extension a besoin. Moins une extension demande d'informations à un utilisateur, moins elle est exposée si elle est compromise.

Toutes les données utilisateur demandées doivent être traitées avec soin. Stockez et récupérez des 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é.