chrome.privacy

refresh date: 2026-09-25 robots: noindex

Описание

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

Разрешения

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 будет установлено значение "controlled_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. В частности, это позволит вам предупредить пользователя, если недавно установленное расширение перехватит контроль над настройкой или если корпоративная политика переопределит ваш контроль. Чтобы отслеживать изменения статуса автозаполнения, достаточно следующего кода:

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, установите пример Privacy API из репозитория chrome-extension-samples.

Типы

AutofillBlockedType

Chrome 151+

Категории данных автозаполнения.

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

"contact_info"

"payments"

"identity_docs"

"travel"

"all"

IPHandlingPolicy

Chrome 48 и более поздних версий;

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

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

"default"

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

Свойства

network

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

Тип

Объект

Свойства

  • networkPredictionEnabled

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

  • webRTCIPHandlingPolicy
    Chrome 48 и более поздних версий;

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

services

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

Тип

Объект

Свойства

  • alternateErrorPagesEnabled

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

  • autofillAddressEnabled
    Chrome 70 и более поздних версий

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

  • autofillCreditCardEnabled
    Chrome 70 и более поздних версий

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

  • autofillEnabled
    Не поддерживается начиная с Chrome 70

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

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

  • passwordSavingEnabled

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

  • safeBrowsingEnabled

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

  • safeBrowsingExtendedReportingEnabled

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

  • searchSuggestEnabled

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

  • spellingServiceEnabled

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

  • translationServiceEnabled

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

websites

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

Тип

Объект

Свойства

  • adMeasurementEnabled
    Chrome 111 и более поздних версий

    Если вы отключите эту функцию, Attribution Reporting API и Private Aggregation API будут деактивированы. Значение этого параметра имеет логический тип, а значение по умолчанию – true. Расширения могут только отключать эти API, задавая значение false. Если вы попытаетесь задать для этих API значение true, возникнет ошибка.

  • doNotTrackEnabled
    Chrome 65 и более поздних версий;

    Если правило включено, Chrome отправляет заголовок Do Not Track (DNT: 1) вместе с запросами. Значение этого параметра имеет логический тип, а значение по умолчанию – false.

  • fledgeEnabled
    Chrome 111 и более поздних версий

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

  • hyperlinkAuditingEnabled

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

  • protectedContentEnabled

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

  • referrersEnabled

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

  • thirdPartyCookiesAllowed

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

    Примечание. Отдельные сайты могут по-прежнему иметь доступ к сторонним файлам cookie, когда этот API возвращает false, если у них есть действующее исключение или они используют Storage Access API.

  • topicsEnabled
    Chrome 111 и более поздних версий

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