chrome.privacy

Описание

Используйте 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 будет установлен в "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, установите пример API конфиденциальности из репозитория chrome-extension-samples .

Типы

IPHandlingPolicy

Chrome 48+

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

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

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

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

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

network

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

Тип

объект

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

  • networkPredictionEnabled

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

  • webRTCIPHandlingPolicy
    Chrome 48+

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

services

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

Тип

объект

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

  • alternateErrorPagesEnabled

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

  • autofillAddressEnabled
    Chrome 70+

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

  • autofillCreditCardEnabled
    Chrome 70+

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

  • автозаполнение включено
    Устарело с версии Chrome 70.

    Пожалуйста, используйте параметры privacy.services.autofillAddressEnabled и privacy.services.autofillCreditCardEnabled. Это сохранено для обеспечения обратной совместимости в данном релизе и будет удалено в будущем.

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

  • autofillOtherDatatypesEnabled
    В ожидании

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

  • passwordSavingEnabled

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

  • safeBrowsingEnabled

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

  • safeBrowsingExtendedReportingEnabled

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

  • searchSuggestEnabled

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

  • spellingServiceEnabled

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

  • translation → включено

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

websites

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

Тип

объект

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

  • adMeasurementEnabled
    Chrome 111+

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

  • doNotTrackEnabled
    Chrome 65+

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

  • fledgeEnabled
    Chrome 111+

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

  • hyperlinkAuditingEnabled

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

  • protectedContentEnabled

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

  • referrersEnabled

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

  • relatedWebsiteSetsEnabled
    Chrome 121+

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

  • Сторонние файлы cookie разрешены

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

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

  • topicsEnabled
    Chrome 111+

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

,

Описание

Используйте 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 будет установлен в "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, установите пример API конфиденциальности из репозитория chrome-extension-samples .

Типы

IPHandlingPolicy

Chrome 48+

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

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

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

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

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

network

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

Тип

объект

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

  • networkPredictionEnabled

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

  • webRTCIPHandlingPolicy
    Chrome 48+

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

services

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

Тип

объект

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

  • alternateErrorPagesEnabled

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

  • autofillAddressEnabled
    Chrome 70+

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

  • autofillCreditCardEnabled
    Chrome 70+

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

  • автозаполнение включено
    Устарело с версии Chrome 70.

    Пожалуйста, используйте параметры privacy.services.autofillAddressEnabled и privacy.services.autofillCreditCardEnabled. Это сохранено для обеспечения обратной совместимости в данном релизе и будет удалено в будущем.

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

  • autofillOtherDatatypesEnabled
    В ожидании

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

  • passwordSavingEnabled

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

  • safeBrowsingEnabled

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

  • safeBrowsingExtendedReportingEnabled

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

  • searchSuggestEnabled

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

  • spellingServiceEnabled

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

  • translation → включено

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

websites

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

Тип

объект

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

  • adMeasurementEnabled
    Chrome 111+

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

  • doNotTrackEnabled
    Chrome 65+

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

  • fledgeEnabled
    Chrome 111+

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

  • hyperlinkAuditingEnabled

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

  • protectedContentEnabled

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

  • referrersEnabled

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

  • relatedWebsiteSetsEnabled
    Chrome 121+

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

  • Сторонние файлы cookie разрешены

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

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

  • topicsEnabled
    Chrome 111+

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