Описание
Используйте API chrome.privacy
для управления использованием функций Chrome, которые могут повлиять на конфиденциальность пользователя. Этот API опирается на прототип ChromeSetting API типа для получения и установки конфигурации Chrome.
Разрешения
privacy
Для использования API необходимо объявить разрешение «privacy» в манифесте расширения. Например:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Понятия и использование
Чтение текущего значения параметра Chrome — простая операция. Сначала вам нужно найти интересующее вас свойство, затем вы вызовете get()
для этого объекта, чтобы получить его текущее значение и уровень контроля вашего расширения. Например, чтобы определить, включена ли функция автозаполнения кредитных карт Chrome, вы должны написать:
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.value) {
console.log('Autofill is on!');
} else {
console.log('Autofill is off!');
}
});
Изменение значения параметра немного сложнее, поскольку сначала необходимо убедиться, что ваше расширение может управлять параметром. Пользователь не увидит никаких изменений в своих настройках, если ваше расширение переключает параметр, который либо заблокирован определенным значением корпоративными политиками ( levelOfControl
будет установлен на "not_controllable"), либо если другое расширение управляет значением ( levelOfControl
будет установлен на "control_by_other_extensions"). Вызов set()
будет успешным, но параметр будет немедленно переопределен. Поскольку это может сбивать с толку, желательно предупредить пользователя, когда выбранные им параметры не применяются на практике.
Это означает, что вам следует использовать метод get()
для определения вашего уровня доступа, а затем вызывать set()
только в том случае, если ваше расширение может получить контроль над настройкой (на самом деле, если ваше расширение не может контролировать настройку, вероятно, будет хорошей идеей визуально отключить эту функцию, чтобы уменьшить путаницу для пользователя):
chrome.privacy.services.autofillCreditCardEnabled.get({}, function(details) {
if (details.levelOfControl === 'controllable_by_this_extension') {
chrome.privacy.services.autofillCreditCardEnabled.set({ value: true }, function() {
if (chrome.runtime.lastError === undefined) {
console.log("Hooray, it worked!");
} else {
console.log("Sadness!", chrome.runtime.lastError);
}
});
}
});
Если вас интересуют изменения значения параметра, добавьте прослушиватель к его событию onChange
. Среди прочего, это позволит вам предупредить пользователя, если недавно установленное расширение захватит управление параметром или если политика предприятия переопределит ваш контроль. Например, для прослушивания изменений статуса автозаполнения кредитной карты будет достаточно следующего кода:
chrome.privacy.services.autofillCreditCardEnabled.onChange.addListener(
function (details) {
// The new value is stored in `details.value`, the new level of control
// in `details.levelOfControl`, and `details.incognitoSpecific` will be
// `true` if the value is specific to Incognito mode.
}
);
Примеры
Чтобы попробовать этот API, установите пример API конфиденциальности из репозитория chrome-extension-samples .
Типы
IPHandlingPolicy
Политика обработки IP-адресов WebRTC.
Перечисление
"по умолчанию" "default_public_and_private_interfaces" "default_public_interface_only" "отключить_не_прокси_udp"
Характеристики
network
Настройки, влияющие на обработку сетевых подключений в Chrome в целом.
Тип
объект
Характеристики
- networkPredictionEnabled
типы.ChromeSetting <логическое значение>
Если этот параметр включен, Chrome пытается ускорить просмотр веб-страниц, предварительно разрешая записи DNS и заранее открывая соединения TCP и SSL с серверами. Этот параметр влияет только на действия, выполняемые внутренней службой прогнозирования Chrome. Он не влияет на инициированные веб-страницей prefectches или preconnects. Значение этого параметра — логическое, по умолчанию
true
. - webRTCIPHandlingPolicyХром 48+
Разрешить пользователям указывать компромиссы производительности/конфиденциальности мультимедиа, которые влияют на маршрутизацию трафика WebRTC и объем раскрываемой информации о локальном адресе. Значение этого параметра имеет тип IPHandlingPolicy, по умолчанию —
default
.
services
Настройки, которые включают или отключают функции, требующие сторонних сетевых служб, предоставляемых Google и вашим поставщиком поиска по умолчанию.
Тип
объект
Характеристики
- alternativeErrorPagesEnabled
типы.ChromeSetting <логическое значение>
Если включено, Chrome использует веб-сервис для устранения ошибок навигации. Значение этого параметра — логическое, по умолчанию —
true
. - автозаполнениеАдресаВключено
типы.ChromeSetting <логическое значение>
Хром 70+Если включено, Chrome предлагает автоматически заполнять адреса и другие данные форм. Значение этого параметра — логическое, по умолчанию —
true
. - автозаполнениеКредитная картаВключено
типы.ChromeSetting <логическое значение>
Хром 70+Если включено, Chrome предлагает автоматически заполнять формы кредитных карт. Значение этого параметра — логическое, по умолчанию —
true
. - автозаполнениеВключено
типы.ChromeSetting <логическое значение>
Не рекомендуется с Chrome 70Пожалуйста, используйте privacy.services.autofillAddressEnabled и privacy.services.autofillCreditCardEnabled. Это остается для обратной совместимости в этом выпуске и будет удалено в будущем.
Если включено, Chrome предлагает автоматически заполнять формы. Значение этого параметра — логическое, по умолчанию —
true
. - парольСохранениеВключено
типы.ChromeSetting <логическое значение>
Если включено, менеджер паролей спросит, хотите ли вы сохранить пароли. Значение этого параметра — логическое, по умолчанию —
true
. - безопасный просмотрВключен
типы.ChromeSetting <логическое значение>
Если включено, Chrome делает все возможное, чтобы защитить вас от фишинга и вредоносного ПО. Значение этого параметра — логическое, по умолчанию
true
. - безопасный просмотрРасширенныйОтчетностьВключено
типы.ChromeSetting <логическое значение>
Если включено, Chrome будет отправлять дополнительную информацию в Google, когда SafeBrowsing блокирует страницу, например, содержимое заблокированной страницы. Значение этого параметра — логическое, по умолчанию —
false
. - searchSuggestEnabled
типы.ChromeSetting <логическое значение>
Если включено, Chrome отправляет текст, который вы вводите в Omnibox, в вашу поисковую систему по умолчанию, которая предоставляет прогнозы веб-сайтов и поисков, которые, скорее всего, являются завершениями того, что вы ввели до сих пор. Значение этой настройки — логическое, по умолчанию
true
. - орфографияServiceEnabled
типы.ChromeSetting <логическое значение>
Если включено, Chrome использует веб-сервис для исправления орфографических ошибок. Значение этого параметра — логическое, по умолчанию —
false
. - translationServiceEnabled
типы.ChromeSetting <логическое значение>
Если включено, Chrome предлагает переводить страницы, которые не на языке, который вы читаете. Значение этого параметра — логическое, по умолчанию —
true
.
websites
Настройки, определяющие, какую информацию Chrome предоставляет веб-сайтам.
Тип
объект
Характеристики
- adMeasurementEnabled
типы.ChromeSetting <логическое значение>
Хром 111+Если отключено, API Attribution Reporting и API Private Aggregation деактивируются. Значение этого параметра имеет тип boolean, а значение по умолчанию —
true
. Расширения могут отключить эти API, только установив значениеfalse
. Если вы попытаетесь установить эти API вtrue
, возникнет ошибка. - doNotTrackEnabled
типы.ChromeSetting <логическое значение>
Хром 65+Если включено, Chrome отправляет заголовок «Do Not Track» (
DNT: 1
) с вашими запросами. Значение этого параметра имеет тип boolean, а значение по умолчанию —false
. - fledgeEnabled
типы.ChromeSetting <логическое значение>
Хром 111+Если отключено, API Fledge деактивируется. Значение этого параметра имеет тип boolean, а значение по умолчанию —
true
. Расширения могут отключить этот API, только установив значениеfalse
. Если вы попытаетесь установить этот API вtrue
, возникнет ошибка. - гиперссылкаАудитВключен
типы.ChromeSetting <логическое значение>
Если включено, Chrome отправляет пинги аудита по запросу веб-сайта (
<a ping>
). Значение этого параметра имеет тип boolean, а значение по умолчанию —true
. - protectedContentEnabled
типы.ChromeSetting <логическое значение>
Доступно только в Windows и ChromeOS : если включено, Chrome предоставляет плагинам уникальный идентификатор для запуска защищенного контента. Значение этого параметра имеет тип boolean, а значение по умолчанию —
true
. - referrersВключено
типы.ChromeSetting <логическое значение>
Если включено, Chrome отправляет заголовки
referer
с вашими запросами. Да, имя этой настройки не соответствует неправильно написанному заголовку. Нет, мы не собираемся его менять. Значение этой настройки имеет тип boolean, а значение по умолчанию —true
. типы.ChromeSetting <логическое значение>
Хром 121+Если отключено, Related Website Sets деактивируется. Значение этого параметра имеет тип boolean, а значение по умолчанию —
true
. Расширения могут отключить этот API, только установив значениеfalse
. Если вы попытаетесь установить этот API вtrue
, возникнет ошибка.- Файлы cookie третьих сторонРазрешено
типы.ChromeSetting <логическое значение>
Если отключено, Chrome блокирует установку файлов cookie сторонними сайтами. Значение этого параметра имеет тип boolean, а значение по умолчанию —
true
. Расширения могут не включать этот API в режиме Incognito, где сторонние файлы cookie блокируются и могут быть разрешены только на уровне сайта. Если вы попытаетесь установить для этого API значение true в режиме Incognito, возникнет ошибка.Примечание: Отдельные сайты по-прежнему могут иметь доступ к сторонним файлам cookie, когда этот API возвращает
false
, если у них есть действительное исключение или вместо этого они используют API доступа к хранилищу . - темыВключено
типы.ChromeSetting <логическое значение>
Хром 111+Если отключено, API тем деактивируется. Значение этого параметра имеет тип boolean, а значение по умолчанию —
true
. Расширения могут отключить этот API, только установив значениеfalse
. Если вы попытаетесь установить этот API вtrue
, возникнет ошибка.