chrome.privacy

refresh date: 2026-09-25 robots: noindex

Opis

Użyj interfejsu API chrome.privacy, aby kontrolować korzystanie z funkcji Chrome, które mogą wpływać na prywatność użytkownika. Ten interfejs API korzysta z prototypu ChromeSetting interfejsu API typu do pobierania i konfigurowania Chrome.

Uprawnienia

privacy

Plik manifestu

Aby korzystać z interfejsu API, musisz zadeklarować uprawnienie „privacy” w pliku manifestu rozszerzenia. Przykład:

{
  "name": "My extension",
  ...
  "permissions": [
    "privacy"
  ],
  ...
}

Wykorzystanie

Odczytanie bieżącej wartości ustawienia Chrome jest proste. Najpierw musisz znaleźć właściwość, która Cię interesuje, a następnie wywołać get() na tym obiekcie, aby pobrać jego bieżącą wartość i poziom kontroli rozszerzenia. Aby na przykład sprawdzić, czy funkcja autouzupełniania w Chrome jest włączona, wpisz:

chrome.privacy.services.autofillEnabled.get({}, function(details) {
  if (details.value) {
    console.log('Autofill is on!');
  } else {
    console.log('Autofill is off!');
  }
});

Zmiana wartości ustawienia jest nieco bardziej skomplikowana, ponieważ najpierw musisz sprawdzić, czy rozszerzenie może kontrolować ustawienie. Użytkownik nie zobaczy żadnych zmian w ustawieniach, jeśli rozszerzenie przełączy ustawienie, które jest zablokowane na określonej wartości przez zasady firmy (levelOfControl będzie mieć wartość „not_controllable”) lub jeśli wartość jest kontrolowana przez inne rozszerzenie (levelOfControl będzie mieć wartość „controlled_by_other_extensions”). Wywołanie set() zakończy się powodzeniem, ale ustawienie zostanie natychmiast zastąpione. Może to być mylące, dlatego zalecamy ostrzeganie użytkownika, gdy wybrane przez niego ustawienia nie są stosowane w praktyce.

Oznacza to, że musisz użyć metody get(), aby określić poziom dostępu, a następnie wywołać metodę set() tylko wtedy, gdy rozszerzenie może przejąć kontrolę nad ustawieniem (jeśli rozszerzenie nie może kontrolować ustawienia, warto wizualnie wyłączyć tę funkcję, aby nie dezorientować użytkownika):

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);
      }
    });
  }
});

Jeśli interesują Cię zmiany wartości ustawienia, dodaj detektor do zdarzenia onChange. Dzięki temu możesz m.in. ostrzec użytkownika, jeśli nowo zainstalowane rozszerzenie przejmie kontrolę nad ustawieniem lub jeśli zasady firmy zastąpią Twoją kontrolę. Aby monitorować zmiany stanu autouzupełniania, wystarczy na przykład ten kod:

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.
  }
);

Przykłady

Aby wypróbować ten interfejs API, zainstaluj przykład interfejsu API prywatności z repozytorium chrome-extension-samples.

Typy

AutofillBlockedType

Chrome 151 lub nowsza wersja

Kategorie danych autouzupełniania.

Typ wyliczeniowy

"contact_info"

"payments"

"identity_docs"

"travel"

"all"

IPHandlingPolicy

Chrome 48 lub nowsza wersja

Zasada obsługi adresów IP przez WebRTC.

Typ wyliczeniowy

"default"

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

Właściwości

network

Ustawienia, które wpływają na sposób obsługi połączeń sieciowych przez Chrome.

Typ

obiekt

Właściwości

  • networkPredictionEnabled

    Jeśli ta zasada jest włączona, Chrome próbuje przyspieszyć przeglądanie internetu przez wstępne rozpoznawanie wpisów DNS, zapobiegawcze otwieranie połączeń TCP i SSL z serwerami oraz wstępne wczytywanie stron. Wyłączenie tej opcji uniemożliwia właścicielom witryn ładowanie spekulacyjne treści (np. pobieranie z wyprzedzeniem lub renderowanie wstępne za pomocą interfejsu Speculation Rules API). Nie ma to wpływu na wstępne połączenia ani wstępne pobieranie DNS inicjowane przez stronę internetową. Wartość tego ustawienia jest wartością logiczną, która domyślnie wynosi true.

  • webRTCIPHandlingPolicy
    Chrome 48 lub nowsza wersja

    Zezwalaj użytkownikom na określanie kompromisów między wydajnością multimediów a prywatnością, co wpływa na sposób kierowania ruchu WebRTC i ilość ujawnianych informacji o adresie lokalnym. Wartość tego ustawienia jest typu IPHandlingPolicy, a domyślna wartość to default.

services

Ustawienia, które włączają lub wyłączają funkcje wymagające usług sieciowych innych firm świadczonych przez Google i Twojego domyślnego dostawcę wyszukiwania.

Typ

obiekt

Właściwości

  • alternateErrorPagesEnabled

    Jeśli zasada jest włączona, Chrome używa usługi internetowej, aby pomóc w rozwiązywaniu błędów nawigacji. Wartość tego ustawienia jest wartością logiczną, która domyślnie wynosi true.

  • autofillAddressEnabled
    Chrome 70 lub nowsza wersja

    Jeśli zasada jest włączona, Chrome proponuje automatyczne wypełnianie adresów i innych danych formularzy. Wartość tego ustawienia jest wartością logiczną, która domyślnie wynosi true.

  • autofillCreditCardEnabled
    Chrome 70 lub nowsza wersja

    Jeśli zasada jest włączona, Chrome proponuje automatyczne wypełnianie formularzy kart kredytowych. Wartość tego ustawienia jest wartością logiczną, która domyślnie wynosi true.

  • autofillEnabled
    Wycofane od wersji Chrome 70

    Użyj privacy.services.autofillAddressEnabled i privacy.services.autofillCreditCardEnabled. Ta opcja została zachowana w tej wersji ze względu na zgodność wsteczną i zostanie usunięta w przyszłości.

    Jeśli zasada jest włączona, Chrome proponuje automatyczne wypełnianie formularzy. Wartość tego ustawienia jest wartością logiczną, która domyślnie wynosi true.

  • passwordSavingEnabled

    Jeśli zasada jest włączona, menedżer haseł pyta, czy chcesz zapisać hasła. Wartość tego ustawienia jest wartością logiczną, która domyślnie wynosi true.

  • safeBrowsingEnabled

    Jeśli ta opcja jest włączona, Chrome stara się chronić Cię przed phishingiem i złośliwym oprogramowaniem. Wartość tego ustawienia jest wartością logiczną, która domyślnie wynosi true.

  • safeBrowsingExtendedReportingEnabled

    Jeśli ta zasada jest włączona, Chrome wysyła do Google dodatkowe informacje, gdy Bezpieczne przeglądanie blokuje stronę, np. zawartość zablokowanej strony. Wartość tego ustawienia jest wartością logiczną, która domyślnie wynosi false.

  • searchSuggestEnabled

    Jeśli to ustawienie jest włączone, Chrome wysyła tekst wpisywany w omniboksie do domyślnej wyszukiwarki, która podaje podpowiedzi stron internetowych i wyszukiwań, które mogą być uzupełnieniem wpisanego tekstu. Wartość tego ustawienia jest wartością logiczną, która domyślnie wynosi true.

  • spellingServiceEnabled

    Jeśli zasada jest włączona, Chrome używa usługi internetowej do poprawiania błędów pisowni. Wartość tego ustawienia jest wartością logiczną, która domyślnie wynosi false.

  • translationServiceEnabled

    Jeśli ta opcja jest włączona, Chrome proponuje tłumaczenie stron, które nie są w języku, w którym czytasz. Wartość tego ustawienia jest wartością logiczną, która domyślnie wynosi true.

websites

Ustawienia określające, jakie informacje Chrome udostępnia witrynom.

Typ

obiekt

Właściwości

  • adMeasurementEnabled
    Chrome 111 lub nowsza wersja

    Jeśli ta opcja jest wyłączona, interfejsy Attribution Reporting API i Private Aggregation API są dezaktywowane. Wartość tego ustawienia jest typu logicznego, a wartość domyślna to true. Rozszerzenia mogą wyłączyć te interfejsy API tylko przez ustawienie wartości false. Jeśli spróbujesz ustawić te interfejsy API na true, pojawi się błąd.

  • doNotTrackEnabled
    Chrome 65 lub nowsza wersja

    Jeśli zasada jest włączona, Chrome wysyła z żądaniami nagłówek „Do Not Track” (DNT: 1). Wartość tego ustawienia jest typu logicznego, a wartość domyślna to false.

  • fledgeEnabled
    Chrome 111 lub nowsza wersja

    Jeśli ta opcja jest wyłączona, interfejs Fledge API jest dezaktywowany. Wartość tego ustawienia jest typu logicznego, a wartość domyślna to true. Rozszerzenia mogą wyłączyć ten interfejs API tylko przez ustawienie wartości false. Jeśli spróbujesz ustawić ten interfejs API na true, wystąpi błąd.

  • hyperlinkAuditingEnabled

    Jeśli zasada jest włączona, Chrome wysyła pingi kontrolne, gdy zażąda tego witryna (<a ping>). Wartość tej zasady jest typu logicznego, a wartość domyślna to true.

  • protectedContentEnabled

    Dostępne tylko w systemach Windows i ChromeOS: jeśli ta opcja jest włączona, Chrome udostępnia wtyczkom unikalny identyfikator, aby umożliwić uruchamianie chronionych treści. Wartość tego ustawienia jest typu logicznego, a wartość domyślna to true.

  • referrersEnabled

    Jeśli zasada jest włączona, Chrome wysyła nagłówki referer z Twoimi żądaniami. Tak, nazwa tej opcji nie pasuje do nagłówka z błędem pisowni. Nie, nie zamierzamy tego zmieniać. Wartość tego ustawienia jest typu logicznego, a wartość domyślna to true.

  • thirdPartyCookiesAllowed

    Jeśli zasada jest wyłączona, Chrome blokuje witrynom innych firm możliwość ustawiania plików cookie. Wartość tego ustawienia jest typu logicznego, a wartość domyślna to true. Rozszerzenia nie mogą włączać tego interfejsu API w trybie incognito, w którym pliki cookie innych firm są blokowane i mogą być dozwolone tylko na poziomie witryny. Jeśli spróbujesz ustawić ten interfejs API na wartość „true” w trybie incognito, pojawi się błąd.

    Uwaga: poszczególne witryny mogą nadal mieć dostęp do plików cookie innych firm, gdy ten interfejs API zwraca wartość false, jeśli mają ważne zwolnienie lub zamiast tego używają interfejsu Storage Access API.

  • topicsEnabled
    Chrome 111 lub nowsza wersja

    Jeśli zasada jest wyłączona, interfejs Topics API jest nieaktywny. Wartość tego ustawienia jest typu logicznego, a wartość domyślna to true. Rozszerzenia mogą wyłączyć ten interfejs API tylko przez ustawienie wartości false. Jeśli spróbujesz ustawić ten interfejs API na true, wystąpi błąd.