Описание
 Используйте API chrome.privacy для управления использованием функций Chrome, которые могут повлиять на конфиденциальность пользователя. Этот API опирается на прототип ChromeSetting API типа для получения и установки конфигурации Chrome.
Разрешения
privacyМанифест
Для использования API необходимо объявить разрешение «privacy» в манифесте расширения. Например:
{
  "name": "My extension",
  ...
  "permissions": [
    "privacy"
  ],
  ...
}
Использование
 Чтение текущего значения параметра Chrome — простая операция. Сначала вам нужно найти интересующее вас свойство, затем вы вызовете get() для этого объекта, чтобы получить его текущее значение и уровень контроля вашего расширения. Например, чтобы определить, включена ли функция автозаполнения Chrome, вы должны написать:
chrome.privacy.services.autofillEnabled.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.autofillEnabled.get({}, function(details) {
  if (details.levelOfControl === 'controllable_by_this_extension') {
    chrome.privacy.services.autofillEnabled.set({ value: true }, function() {
      if (chrome.runtime.lastError === undefined) {
        console.log("Hooray, it worked!");
      } else {
        console.log("Sadness!", chrome.runtime.lastError);
      }
    });
  }
});
 Если вас интересуют изменения значения параметра, добавьте прослушиватель к его событию onChange . Среди прочего, это позволит вам предупредить пользователя, если недавно установленное расширение захватит управление параметром или если политика предприятия переопределит ваш контроль. Например, для прослушивания изменений статуса Autofill будет достаточно следующего кода:
chrome.privacy.services.autofillEnabled.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, возникнет ошибка.