Użytkownicy nie będą instalować rozszerzenia, jeśli narusza to ich prywatność lub prosi o przyznanie dodatkowych uprawnień których wydaje się potrzebować. Prośby o przyznanie uprawnień powinny być zrozumiałe dla użytkowników i ograniczać się do niezbędne do zaimplementowania rozszerzenia. Rozszerzenia, które zbierają lub przesyłają jakiekolwiek dane użytkownika muszą być zgodne z polityką prywatności danych użytkownika .
Chroń i szanuj użytkowników rozszerzeń, stosując te środki ostrożności w celu zapewnienia bezpieczeństwa ich tożsamości. Pamiętaj: im mniej danych ma dostęp rozszerzenie, tym mniej danych może wycieknąć przypadkowo.
Zmniejsz liczbę wymaganych uprawnień
Interfejsy API, do których ma dostęp rozszerzenie, są określone w polu uprawnień w manifestu. tym większa szansa na przechwycenie informacji. Tylko interfejsy API rozszerzenie zależy od tego, czy musi być wymienione, a rozszerzenie powinno być rozważane w przypadku mniej inwazyjnych reklam. . Im mniej uprawnień żąda rozszerzenie, tym mniej ostrzeżeń o uprawnieniach wyświetli użytkownika. Użytkownicy z większym prawdopodobieństwem zainstalują rozszerzenie z ograniczonymi ostrzeżeniami.
Rozszerzenia nie powinny być „na przyszłość” dostępu do danych użytkownika przez proszenie o uprawnienia, których użytkownik nie robi obecnie potrzebne, ale być może zostaną wprowadzone w przyszłości. Uwzględniaj nowe uprawnienia przy aktualizacjach rozszerzeń i rozważ ustawienie ich jako opcjonalnych.
activeTab
Rozszerzenia, które używają uprawnień hosta do wstrzykiwania skryptów, mogą często zastąpić activeTab
.
Uprawnienie activeTab
przyzna rozszerzeniu tymczasowy dostęp do aktualnie aktywnej karty.
tylko wtedy, gdy użytkownik wywoła rozszerzenie. Dostęp jest ucinany, gdy użytkownik opuści
zamyka bieżącą kartę. Jest alternatywą dla wielu zastosowań <all_urls>
.
{
"name": "Very Secure Extension",
"version": "1.0",
"description": "Example of a Secure Extension",
"permissions": ["activeTab"],
"manifest_version": 2
}
Uprawnienie ActiveTab nie wyświetla żadnych ostrzeżeń podczas instalacji.
Opcjonalne uprawnienia
Możesz umożliwić użytkownikom wybór potrzebnych funkcji i uprawnień przez dodanie rozszerzenia
opcjonalne uprawnienia. Jeśli jakaś funkcja nie jest niezbędna do realizowania głównej funkcjonalności rozszerzenia,
ustaw go jako opcjonalny i przenieś interfejs API lub domenę do pola optional_permissions
.
{
"name": "Very Secure Extension",
...
"optional_permissions": [ "tabs", "https://www.google.com/" ],
...
}
Dodanie uprawnień opcjonalnych pozwala rozszerzeniu wyjaśnić, dlaczego potrzebuje konkretnych uprawnień. gdy użytkownik włączy daną funkcję. Rozszerzenie umożliwia użytkownikowi włączenie funkcje zabezpieczeń.
Kliknięcie OK! spowoduje wywołanie poniższego zdarzenia w skrypcie w tle.
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();
}
});
});
Użytkownik zostanie wtedy proszony o podanie tego żądania.
Opcjonalne uprawnienia można też wdrożyć w ramach aktualizacji rozszerzenia. Jeśli to zrobisz, nowy plik dostępnej dla użytkowników bez wyłączania rozszerzenia, co może się zdarzyć w przypadku aktualizacji do nowego wymagane uprawnienia.
Ograniczanie i zabezpieczanie danych użytkownika
Żądaj tylko minimalnej liczby danych użytkownika, której wymaga rozszerzenie. Im mniej informacji prosi o dane rozszerzenie użytkownika oznacza mniejszą ekspozycję rozszerzenia, jeśli zostanie ono przejęte.
Ze wszystkimi danymi użytkownika należy postępować ostrożnie. Przechowuj i pobieraj dane na bezpiecznym serwerze za pomocą zarejestrowanej domeny. Zawsze używaj protokołu HTTPS do nawiązywania połączenia i unikania przechowywania poufnych danych użytkowników w kliencie bo pamięć rozszerzenia nie jest szyfrowana.