Protege la privacidad del usuario

Los usuarios no instalarán una extensión si esta compromete su privacidad o solicita más permisos de los que parece necesitar. Las solicitudes de permisos deben ser comprensibles para los usuarios y limitarse a la información crítica necesaria para implementar la extensión. Las extensiones que recopilan o transmiten datos del usuario deben cumplir con las políticas de privacidad de los datos del usuario .

Protege y respeta a los usuarios de extensiones incluyendo estas precauciones para mantener su identidad segura. Recuerda que, cuantos menos datos pueda acceder una extensión, menos datos podrá filtrar accidentalmente.

Reduce los permisos obligatorios

Las APIs a las que puede acceder una extensión se especifican en el campo de permisos del manifiesto. Cuantos más permisos se otorguen, más vías tendrá un atacante para interceptar información. Solo se deben enumerar las APIs de las que depende una extensión, y se deben considerar las opciones menos invasivas. Cuantos menos permisos solicite una extensión, menos advertencias de permisos se mostrarán al usuario. Es más probable que los usuarios instalen una extensión con advertencias limitadas.

Las extensiones no deben "prepararse para el futuro" solicitando permisos que no necesitan actualmente, pero que podrían implementar en el futuro para acceder a los datos del usuario. Incluye permisos nuevos con las actualizaciones de la extensión y considera hacerlos opcionales.

activeTab

Las extensiones que usan permisos de host para insertar secuencias de comandos a menudo pueden sustituir activeTab. El permiso activeTab otorgará a la extensión acceso temporal a la pestaña activa en ese momento, solo cuando el usuario invoque la extensión. El acceso se corta cuando el usuario abandona o cierra la pestaña actual. Sirve como alternativa para muchos usos de <all_urls>.

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

El permiso activeTab no muestra mensajes de advertencia durante la instalación.

Habilita los permisos opcionales

Incluye permisos opcionales para que los usuarios puedan elegir qué funciones y permisos necesitan de una extensión. Si una función no es esencial para la funcionalidad principal de una extensión, haz que sea opcional y mueve la API o el dominio al campo optional_permissions.

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

Incluir permisos opcionales permite que una extensión explique por qué necesita un permiso en particular cuando el usuario habilita la función correspondiente. La extensión puede ofrecerle al usuario una opción para habilitar funciones.

Captura de pantalla de una ventana emergente que solicita habilitar permisos

Si haces clic en Aceptar, se activará el siguiente evento en la secuencia de comandos en segundo plano.

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();
    }
  });
});

Luego, se le mostrará al usuario la siguiente solicitud.

Captura de pantalla de la solicitud de permisos opcionales.

Los permisos opcionales también se pueden implementar en una actualización de la extensión. Si lo haces, la nueva función estará disponible para los usuarios sin inhabilitar la extensión, como puede suceder si se actualiza con permisos obligatorios nuevos.

Limita y protege la información del usuario

Solicita solo los datos del usuario mínimos que necesita una extensión. Cuanta menos información solicite una extensión a un usuario, menor será la exposición si la extensión se ve comprometida.

Todos los datos del usuario solicitados deben tratarse con cuidado. Almacena y recupera datos en un servidor seguro con un dominio registrado. Siempre usa HTTPS para conectarte y evita conservar datos sensibles del usuario en el lado del cliente de una extensión, ya que el almacenamiento de extensiones no está encriptado.