Пользователи не будут устанавливать расширение, если оно ставит под угрозу их конфиденциальность или запрашивает больше разрешений, чем кажется необходимым. Запросы на предоставление разрешений должны быть понятны пользователям и ограничиваться критически важной информацией, необходимой для работы расширения. Расширения, которые собирают или передают какие-либо данные пользователей, должны соответствовать политике конфиденциальности пользовательских данных .
Защитите и уважайте пользователей расширений, включив следующие меры предосторожности для обеспечения безопасности их личных данных. Помните: чем меньше данных имеет доступ расширение, тем меньше данных может быть случайно раскрыто.
Уменьшите количество необходимых разрешений.
Доступ к API-интерфейсам расширения указывается в поле разрешений манифеста . Чем больше разрешений предоставлено, тем больше возможностей у злоумышленника для перехвата информации. Следует указывать только те API-интерфейсы, от которых зависит расширение, и рассмотреть менее инвазивные варианты. Чем меньше разрешений запрашивает расширение, тем меньше предупреждений о разрешениях будет показано пользователю. Пользователи с большей вероятностью установят расширение с минимальным количеством предупреждений.
Расширения не должны «обеспечивать защиту от устаревания» доступа к пользовательским данным путем запроса разрешений, которые в настоящее время им не нужны, но могут быть реализованы в будущем. Новые разрешения следует включать в обновления расширений и рассмотреть возможность сделать их необязательными .
активная вкладка
Расширения, использующие права доступа хоста для внедрения скриптов, часто могут заменить ключевое слово activeTab . Право activeTab предоставляет расширению временный доступ к текущей активной вкладке только тогда, когда пользователь запускает расширение. Доступ прекращается, когда пользователь переходит на другую вкладку или закрывает её. Оно служит альтернативой для многих случаев использования <all_urls> .
{
"name": "Very Secure Extension",
"version": "1.0",
"description": "Example of a Secure Extension",
"permissions": ["activeTab"],
"manifest_version": 2
}
При установке разрешения activeTab никаких предупреждающих сообщений не отображается.
Выберите дополнительные разрешения
Предоставьте пользователям возможность выбирать, какие функции и разрешения им необходимы от расширения, добавив необязательные разрешения . Если функция не является существенной для основной функциональности расширения, сделайте ее необязательной и переместите API или домен в поле optional_permissions .
{
"name": "Very Secure Extension",
...
"optional_permissions": [ "tabs", "https://www.google.com/" ],
...
}
Включение необязательных разрешений позволяет расширению объяснить, почему ему требуется то или иное разрешение, когда пользователь включает соответствующую функцию. Расширение может предложить пользователю возможность включения функций.

Нажатие кнопки «ОК!» запустит следующее событие в фоновом скрипте.
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();
}
});
});
После этого пользователю будет предложено выполнить следующий запрос.

Дополнительные разрешения также можно добавить при обновлении расширения. Это позволит пользователям получить доступ к новой функции без отключения расширения, что может произойти при обновлении с добавлением необходимых разрешений.
Ограничьте доступ к пользовательской информации и обеспечьте ее безопасность.
Запрашивайте у расширения только минимально необходимые данные о пользователе . Чем меньше информации запрашивает расширение у пользователя, тем меньше риск взлома.
Все запрашиваемые пользовательские данные следует обрабатывать с осторожностью. Храните и извлекайте данные на защищенном сервере с зарегистрированным доменом. Всегда используйте HTTPS для подключения и избегайте хранения конфиденциальных пользовательских данных на стороне клиента расширения, поскольку хранилище расширений не зашифровано.