chrome.privacy

Описание

Используйте API chrome.privacy для управления использованием функций Chrome, которые могут повлиять на конфиденциальность пользователя. Этот API использует прототип ChromeSetting типа API для получения и настройки конфигурации Chrome.

Разрешения

privacy

Чтобы использовать API, вы должны объявить разрешение «конфиденциальности» в манифесте вашего расширения. Например:

{
  "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

Хром 48+

Политика обработки IP-адресов WebRTC.

Перечисление

"по умолчанию"

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

Характеристики

network

Настройки, влияющие на обработку сетевых подключений Chrome в целом.

Тип

объект

Характеристики

  • сетьПрогнозирование включено

    типы.ChromeSetting <логическое значение>

    Если этот параметр включен, Chrome пытается ускорить просмотр веб-страниц, предварительно разрешая записи DNS и упреждающе открывая соединения TCP и SSL с серверами. Эта настройка влияет только на действия, выполняемые внутренней службой прогнозирования Chrome. Это не влияет на префекты или предварительные соединения, инициированные веб-страницей. Значение этого предпочтения является логическим, по умолчанию оно равно true .

  • Хром 48+

    Разрешить пользователям указывать компромисс между производительностью мультимедиа и конфиденциальностью, который влияет на то, как будет маршрутизироваться трафик WebRTC и какой объем информации о локальном адресе будет раскрыт. Значение этого предпочтения имеет тип IPHandlingPolicy, по умолчанию — default .

services

Настройки, которые включают или отключают функции, требующие сторонних сетевых служб, предоставляемых Google и вашим поставщиком услуг поиска по умолчанию.

Тип

объект

Характеристики

  • альтернативныйErrorPagesEnabled

    типы.ChromeSetting <логическое значение>

    Если этот параметр включен, Chrome использует веб-службу для устранения ошибок навигации. Значение этого предпочтения является логическим, по умолчанию оно равно true .

  • автозаполнение адреса включено

    типы.ChromeSetting <логическое значение>

    Хром 70+

    Если этот параметр включен, Chrome предлагает автоматически заполнять адреса и другие данные формы. Значение этого предпочтения является логическим, по умолчанию оно равно true .

  • автозаполнениеCreditCardEnabled

    типы.ChromeSetting <логическое значение>

    Хром 70+

    Если этот параметр включен, Chrome предлагает автоматически заполнять формы кредитных карт. Значение этого предпочтения является логическим, по умолчанию оно равно true .

  • автозаполнение включено

    типы.ChromeSetting <логическое значение>

    Устарело с Chrome 70.

    Используйте Privacy.services.autofillAddressEnabled и Privacy.services.autofillCreditCardEnabled. Это осталось для обратной совместимости в этом выпуске и будет удалено в будущем.

    Если этот параметр включен, Chrome предлагает автоматически заполнять формы. Значение этого предпочтения является логическим, по умолчанию оно равно true .

  • парольСохранениеВключено

    типы.ChromeSetting <логическое значение>

    Если этот параметр включен, менеджер паролей спросит, хотите ли вы сохранить пароли. Значение этого предпочтения является логическим, по умолчанию оно равно true .

  • безопасный просмотр включен

    типы.ChromeSetting <логическое значение>

    Если этот параметр включен, Chrome делает все возможное, чтобы защитить вас от фишинга и вредоносного ПО. Значение этого предпочтения является логическим, по умолчанию оно равно true .

  • SafeBrowsingExtendedReportingEnabled

    типы.ChromeSetting <логическое значение>

    Если этот параметр включен, Chrome будет отправлять в Google дополнительную информацию, когда SafeBrowsing блокирует страницу, например содержимое заблокированной страницы. Значение этого предпочтения является логическим, по умолчанию оно равно false .

  • поискSuggestEnabled

    типы.ChromeSetting <логическое значение>

    Если этот параметр включен, Chrome отправляет текст, который вы вводите в омнибокс, в поисковую систему по умолчанию, которая предоставляет прогнозы веб-сайтов и поисковых запросов, которые, вероятно, являются завершением того, что вы уже набрали. Значение этого предпочтения является логическим, по умолчанию оно равно true .

  • орфографияServiceEnabled

    типы.ChromeSetting <логическое значение>

    Если этот параметр включен, Chrome использует веб-службу для исправления орфографических ошибок. Значение этого предпочтения является логическим, по умолчанию оно равно false .

  • переводServiceEnabled

    типы.ChromeSetting <логическое значение>

    Если этот параметр включен, Chrome предлагает перевести страницы, которые не на языке, который вы читаете. Значение этого предпочтения является логическим, по умолчанию оно равно true .

websites

Настройки, определяющие, какую информацию Chrome предоставляет веб-сайтам.

Тип

объект

Характеристики

  • adMeasurementEnabled

    типы.ChromeSetting <логическое значение>

    Хром 111+

    Если этот параметр отключен, API отчетов об атрибуции и API частного агрегирования деактивируются. Значение этого предпочтения имеет тип boolean, а значение по умолчанию — true . Расширения могут отключить эти API, только установив значение false . Если вы попытаетесь установить для этих API значение true , возникнет ошибка.

  • doNotTrackEnabled

    типы.ChromeSetting <логическое значение>

    Хром 65+

    Если этот параметр включен, Chrome отправляет заголовок «Не отслеживать» ( DNT: 1 ) вместе с вашими запросами. Значение этого предпочтения имеет тип boolean, а значение по умолчанию — false .

  • FledgeEnabled

    типы.ChromeSetting <логическое значение>

    Хром 111+

    Если этот параметр отключен, Fledge API деактивируется. Значение этого предпочтения имеет тип boolean, а значение по умолчанию — true . Расширения могут отключить этот API, только установив значение false . Если вы попытаетесь установить для этого API значение true , это выдаст ошибку.

  • гиперссылкаAuditingEnabled

    типы.ChromeSetting <логическое значение>

    Если этот параметр включен, Chrome отправляет пинги аудита по запросу веб-сайта ( <a ping> ). Значение этого предпочтения имеет тип boolean, а значение по умолчанию — true .

  • защищенныйконтентенаблед

    типы.ChromeSetting <логическое значение>

    Доступно только в Windows и ChromeOS . Если этот параметр включен, Chrome предоставляет плагинам уникальный идентификатор для запуска защищенного контента. Значение этого предпочтения имеет тип boolean, а значение по умолчанию — true .

  • рефереры включены

    типы.ChromeSetting <логическое значение>

    Если этот параметр включен, Chrome отправляет заголовки referer вместе с вашими запросами. Да, имя этого предпочтения не соответствует заголовку с ошибкой. Нет, мы не собираемся это менять. Значение этого предпочтения имеет тип boolean, а значение по умолчанию — true .

  • связанныеWebsiteSetsEnabled

    типы.ChromeSetting <логическое значение>

    Хром 121+

    Если этот параметр отключен, наборы связанных веб-сайтов деактивируются. Значение этого предпочтения имеет тип boolean, а значение по умолчанию — true . Расширения могут отключить этот API, только установив значение false . Если вы попытаетесь установить для этого API значение true , это выдаст ошибку.

  • ThirdPartyCookiesРазрешено

    типы.ChromeSetting <логическое значение>

    Если этот параметр отключен, Chrome блокирует установку файлов cookie сторонними сайтами. Значение этого предпочтения имеет тип boolean, а значение по умолчанию — true .

  • темыВключено

    типы.ChromeSetting <логическое значение>

    Хром 111+

    Если этот параметр отключен, API тем деактивируется. Значение этого предпочтения имеет тип boolean, а значение по умолчанию — true . Расширения могут отключить этот API, только установив значение false . Если вы попытаетесь установить для этого API значение true , это выдаст ошибку.