Proteggi la privacy degli utenti

Gli utenti non installeranno un'estensione se compromette la loro privacy o chiede più autorizzazioni di quelle che sembrano necessarie. Le richieste di autorizzazione devono avere un senso per gli utenti ed essere limitate alle informazioni critiche necessarie per implementare l'estensione. Le estensioni che raccolgono o trasmettono dati utente devono rispettare le norme sulla privacy dei dati utente .

Proteggi e rispetta gli utenti delle estensioni includendo queste precauzioni per proteggere la loro identità. Ricorda: meno dati un'estensione può accedere, meno dati può divulgare accidentalmente.

Ridurre le autorizzazioni richieste

Le API a cui un'estensione può accedere sono specificate nel campo delle autorizzazioni del file manifest. Più autorizzazioni vengono concesse, più vie di accesso ha un utente malintenzionato per intercettare le informazioni. Devono essere elencate solo le API da cui dipende un'estensione e devono essere prese in considerazione opzioni meno invasive. Meno autorizzazioni richiede un'estensione, meno avvisi di autorizzazione verranno mostrati a un utente. Gli utenti sono più propensi a installare un'estensione con avvisi limitati.

Le estensioni non devono "prepararsi al futuro" per l'accesso ai dati utente richiedendo autorizzazioni di cui non hanno bisogno al momento, ma che potrebbero implementare in futuro. Includi nuove autorizzazioni con gli aggiornamenti delle estensioni e valuta la possibilità di renderle facoltative.

activeTab

Le estensioni che utilizzano le autorizzazioni host per inserire script possono spesso sostituire activeTab. L'autorizzazione activeTab concederà a un'estensione l'accesso temporaneo alla scheda attualmente attiva, solo quando l'utente richiama l'estensione. L'accesso viene interrotto quando l'utente esce dalla scheda corrente o la chiude. Funge da alternativa per molti utilizzi di <all_urls>.

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

L'autorizzazione activeTab non mostra messaggi di avviso durante l'installazione.

Scegliere le autorizzazioni facoltative

Consenti agli utenti di scegliere le funzionalità e le autorizzazioni di cui hanno bisogno da un'estensione includendo le autorizzazioni facoltative. Se una funzionalità non è essenziale per la funzionalità di base di un'estensione, rendila facoltativa e sposta l'API o il dominio nel campo optional_permissions.

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

L'inclusione di autorizzazioni facoltative consente a un'estensione di spiegare perché ha bisogno di una determinata autorizzazione quando l'utente attiva la funzionalità pertinente. L'estensione può offrire all'utente la possibilità di attivare le funzionalità.

Uno screenshot di un popup che chiede di attivare le autorizzazioni

Se fai clic su Ok , nel script di background verrà attivato il seguente evento.

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

All'utente verrà quindi chiesto di rispondere alla seguente richiesta.

Uno screenshot della richiesta di autorizzazioni facoltative.

Le autorizzazioni facoltative possono essere implementate anche in un aggiornamento dell'estensione. In questo modo, la nuova funzionalità sarà disponibile per gli utenti senza disattivare l'estensione, come potrebbe accadere se l'aggiornamento viene eseguito con nuove autorizzazioni obbligatorie.

Limitare e proteggere i dati utente

Richiedi solo i dati utente minimi necessari per un'estensione. Meno informazioni richiede un'estensione a un utente, minore è l'esposizione se l'estensione viene compromessa.

Tutti i dati utente richiesti devono essere trattati con cura. Archivia e recupera i dati in un server sicuro con un dominio registrato. Utilizza sempre HTTPS per la connessione ed evita di conservare i dati utente sensibili nel lato client di un'estensione, poiché lo spazio di archiviazione delle estensioni non è criptato.