Gebruikers zullen geen extensie installeren als deze hun privacy schendt of meer machtigingen vraagt dan nodig lijkt. Machtigingsverzoeken moeten logisch zijn voor gebruikers en beperkt blijven tot de essentiële informatie die nodig is voor de werking van de extensie. Extensies die gebruikersgegevens verzamelen of verzenden, moeten voldoen aan het privacybeleid voor gebruikersgegevens .
Bescherm en respecteer gebruikers van extensies door deze voorzorgsmaatregelen te treffen om hun identiteit te beschermen. Onthoud: hoe minder gegevens een extensie kan inzien, hoe kleiner de kans op onbedoelde datalekken.
Beperk het aantal benodigde machtigingen.
De API's waartoe een extensie toegang heeft, worden gespecificeerd in het veld 'permissions' van het manifest . Hoe meer machtigingen worden verleend, hoe meer mogelijkheden een aanvaller heeft om informatie te onderscheppen. Alleen de API's waarvan een extensie afhankelijk is, moeten worden vermeld, en er moet worden gekeken naar minder ingrijpende opties. Hoe minder machtigingen een extensie aanvraagt, hoe minder waarschuwingen over machtigingen aan de gebruiker worden getoond. Gebruikers zullen eerder een extensie installeren met beperkte waarschuwingen.
Extensies mogen de toegang tot gebruikersgegevens niet "toekomstbestendig" maken door machtigingen aan te vragen die ze momenteel niet nodig hebben, maar in de toekomst mogelijk wel zullen implementeren. Voeg nieuwe machtigingen toe aan extensie-updates en overweeg om ze optioneel te maken.
actiefTabblad
Extensies die hostrechten gebruiken om scripts te injecteren, kunnen vaak activeTab vervangen. De activeTab -machtiging geeft een extensie tijdelijke toegang tot het actieve tabblad, alleen wanneer de gebruiker de extensie aanroept . De toegang wordt verbroken wanneer de gebruiker het huidige tabblad verlaat of sluit. Het dient als alternatief voor veel toepassingen van <all_urls> .
{
"name": "Very Secure Extension",
"version": "1.0",
"description": "Example of a Secure Extension",
"permissions": ["activeTab"],
"manifest_version": 2
}
De activeTab-machtiging geeft geen waarschuwingsberichten weer tijdens de installatie.
Kies voor optionele machtigingen.
Geef gebruikers de mogelijkheid om te kiezen welke functies en machtigingen ze nodig hebben van een extensie door optionele machtigingen toe te voegen. Als een functie niet essentieel is voor de kernfunctionaliteit van een extensie, maak deze dan optioneel en verplaats de API of het domein naar het veld optional_permissions .
{
"name": "Very Secure Extension",
...
"optional_permissions": [ "tabs", "https://www.google.com/" ],
...
}
Door optionele machtigingen toe te voegen, kan een extensie uitleggen waarom een bepaalde machtiging nodig is wanneer de gebruiker de betreffende functie inschakelt. De extensie kan de gebruiker de mogelijkheid bieden om functies in te schakelen.

Door op OK! te klikken, wordt de volgende gebeurtenis in het achtergrondscript geactiveerd.
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();
}
});
});
De gebruiker krijgt vervolgens het volgende verzoek te zien.

Optionele machtigingen kunnen ook worden geïmplementeerd in een extensie-update. Hierdoor wordt de nieuwe functie beschikbaar voor gebruikers zonder dat de extensie wordt uitgeschakeld, wat wel het geval kan zijn bij een update met nieuwe vereiste machtigingen.
Beperk en beveilig gebruikersinformatie
Vraag alleen de minimale gebruikersgegevens op die een extensie nodig heeft. Hoe minder informatie een extensie van een gebruiker vraagt, hoe kleiner de kwetsbaarheid als de extensie wordt gehackt.
Alle opgevraagde gebruikersgegevens moeten met zorg worden behandeld. Bewaar en haal gegevens op via een beveiligde server met een geregistreerd domein. Gebruik altijd HTTPS voor de verbinding en vermijd het bewaren van gevoelige gebruikersgegevens aan de clientzijde van een extensie, aangezien de opslag van extensies daar niet versleuteld is.