chrome.privacy

Opis

Używaj interfejsu chrome.privacy API, aby kontrolować użycie funkcji Chrome, które mogą wpływać na prywatność użytkownika. Do pobierania i ustawiania konfiguracji Chrome używa prototypu ChromeSettingu API.

Uprawnienia

privacy

Aby używać interfejsu API, musisz zadeklarować uprawnienie „prywatność” w pliku manifestu rozszerzenia. Przykład:

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

Pojęcia i zastosowanie

Odczytywanie bieżącej wartości ustawienia Chrome jest proste. Najpierw znajdź interesującą Cię usługę, a następnie wywołaj w tym obiekcie funkcję get(), aby pobrać jej aktualną wartość oraz poziom kontroli rozszerzenia. Aby na przykład sprawdzić, czy funkcja autouzupełniania danych kart kredytowych w Chrome jest włączona, wpisz:

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

Zmiana wartości ustawienia jest nieco bardziej złożona, bo najpierw musisz sprawdzić, czy rozszerzenie może kontrolować to ustawienie. Użytkownik nie zauważy żadnych zmian w swoich ustawieniach, jeśli rozszerzenie przełączy ustawienie zablokowane przez zasady przedsiębiorstwa (levelOfControl ma wartość „not_controllable”) lub jeśli inne rozszerzenie kontroluje wartość (levelOfControl zostanie ustawiona na „controlled_by_other_extensions”). Wywołanie set() zakończy się, ale ustawienie zostanie natychmiast zastąpione. Może to być mylące, dlatego warto ostrzegać użytkownika, gdy wybrane przez niego ustawienia nie są w rzeczywistości zastosowane.

Oznacza to, że musisz użyć metody get(), aby określić swój poziom dostępu, i wywoływać metodę set() tylko wtedy, gdy rozszerzenie ma kontrolę nad ustawieniem (jeśli rozszerzenie nie może sterować tym ustawieniem, prawdopodobnie warto wyłączyć tę funkcję wizualnie, aby nie dezorientować użytkownika):

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

Jeśli chcesz zmienić wartość ustawienia, dodaj odbiornik do zdarzenia onChange. Ta opcja pozwala też ostrzec użytkownika, jeśli ostatnio zainstalowane rozszerzenie przejmuje kontrolę nad ustawieniem lub gdy zasada przedsiębiorstwa zastępuje Twoją kontrolę. Aby na przykład wykrywać zmiany stanu autouzupełniania danych karty kredytowej, wystarczy wpisać ten kod:

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

Przykłady

Aby wypróbować ten interfejs API, zainstaluj przykładowy interfejs Privacy API z repozytorium chrome-extension-samples.

Typy

IPHandlingPolicy

Chrome 48 i nowsze wersje

Zasada obsługi adresów IP przez WebRTC.

Typ wyliczeniowy

"default_public_and_private_interfaces"

"default_public_interface_only"

Właściwości

network

Ustawienia, które ogólnie wpływają na obsługę połączeń sieciowych przez Chrome.

Typ

obiekt

Właściwości

  • networkPredictionEnabled

    Jeśli ta opcja jest włączona, Chrome próbuje przyspieszyć przeglądanie internetu, wstępnie rozpoznając wpisy DNS oraz zapobiegawczo otwierając połączenia TCP i SSL z serwerami. To ustawienie ma wpływ tylko na działania wykonywane przez wewnętrzną usługę przewidywania Chrome. Nie ma to wpływu na prefektury inicjowane przez stronę internetową ani połączenia wstępne. Wartość tego ustawienia jest wartością logiczną (domyślnie true).

  • webRTCIPHandlingPolicy
    Chrome 48 i nowsze wersje

    Zezwalaj użytkownikom na określanie wpływu na wydajność multimediów i prywatność, które wpływają na sposób kierowania ruchu WebRTC oraz ilość informacji o adresach lokalnych. Wartość tego ustawienia jest typu IPhandlingPolicy, a wartość domyślna to default.

services

Ustawienia umożliwiające włączenie lub wyłączenie funkcji wymagających usług sieciowych innych firm świadczonych przez Google i domyślnego dostawcę wyszukiwania.

Typ

obiekt

Właściwości

  • alternateErrorPagesEnabled

    Gdy ta opcja jest włączona, Chrome używa usługi internetowej do rozwiązywania błędów nawigacji. Wartość tego ustawienia jest wartością logiczną (domyślnie true).

  • autofillAddressEnabled
    Chrome 70 i nowsze wersje

    Jeśli ta opcja jest włączona, Chrome oferuje automatyczne wypełnianie adresów i innych danych formularzy. Wartość tego ustawienia jest wartością logiczną (domyślnie true).

  • autofillCreditCardEnabled
    Chrome 70 i nowsze wersje

    Jeśli ta opcja jest włączona, Chrome oferuje automatyczne wypełnianie formularzy kart kredytowych. Wartość tego ustawienia jest wartością logiczną (domyślnie true).

  • autofillEnabled
    Wycofane od Chrome 70

    Użyj privacy.services.autofillAddressEnabled i privacy.services.autofillCreditCardEnabled. Funkcja ta zachowa zgodność wsteczną w tej wersji i w przyszłości zostanie usunięta.

    Jeśli ta opcja jest włączona, Chrome proponuje automatyczne wypełnianie formularzy. Wartość tego ustawienia jest wartością logiczną (domyślnie true).

  • passwordSavingEnabled

    Jeśli ta opcja jest włączona, menedżer haseł zapyta, czy chcesz zapisywać hasła. Wartość tego ustawienia jest wartością logiczną (domyślnie true).

  • safeBrowsingEnabled

    Gdy jest ona włączona, Chrome robi wszystko, co w naszej mocy, aby chronić Cię przed phishingiem i złośliwym oprogramowaniem. Wartość tego ustawienia jest wartością logiczną (domyślnie true).

  • safeBrowsingExtendedReportingEnabled

    Po włączeniu tej funkcji Chrome będzie wysyłać do Google dodatkowe informacje, gdy funkcja Bezpieczne przeglądanie zablokuje stronę, np. treść zablokowanej strony. Wartość tego ustawienia jest wartością logiczną (domyślnie false).

  • searchSuggestEnabled

    Gdy ta opcja jest włączona, Chrome wysyła tekst wpisywany w omniboksie do domyślnej wyszukiwarki, która wyświetla podpowiedzi dotyczące stron i wyszukiwań, które prawdopodobnie pasują do wpisanego do tej pory tekstu. Wartość tego ustawienia jest wartością logiczną (domyślnie true).

  • spellingServiceEnabled

    Gdy ta opcja jest włączona, Chrome używa usługi internetowej do poprawiania błędów ortograficznych. Wartość tego ustawienia jest wartością logiczną (domyślnie false).

  • translationServiceEnabled

    Gdy ta opcja jest włączona, Chrome proponuje tłumaczenie stron w obcych językach. Wartość tego ustawienia jest wartością logiczną (domyślnie true).

websites

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

Typ

obiekt

Właściwości

  • adMeasurementEnabled
    Chrome 111 i nowsze wersje

    Jeśli je wyłączysz, interfejsy Attribution Reporting API i Private Aggregation API zostaną wyłączone. Wartość tego ustawienia jest wartością logiczną, a wartością domyślną jest true. Rozszerzenia mogą wyłączyć te interfejsy API tylko przez ustawienie wartości na false. Próba ustawienia tych interfejsów API na true spowoduje zgłoszenie błędu.

  • doNotTrackEnabled
    Chrome 65 i nowsze wersje

    Jeśli ta opcja jest włączona, Chrome wysyła razem z żądaniami nagłówek „Bez śledzenia” (DNT: 1). Wartość tego ustawienia jest wartością logiczną, a wartością domyślną jest false.

  • fledgeEnabled
    Chrome 111 i nowsze wersje

    Jeśli go wyłączono, interfejs Fledge API jest wyłączony. Wartość tego ustawienia jest wartością logiczną, a wartością domyślną jest true. Rozszerzenia mogą wyłączyć ten interfejs API tylko przez ustawienie wartości false. Próba ustawienia tego interfejsu API na true spowoduje zgłoszenie błędu.

  • hyperlinkAuditingEnabled

    Jeśli ta opcja jest włączona, Chrome wysyła pingi kontrolne na żądanie witryny (<a ping>). Wartość tego ustawienia jest wartością logiczną, a wartością domyślną jest true.

  • protectedContentEnabled

    Dostępne tylko w systemach Windows i ChromeOS: gdy ta opcja jest włączona, Chrome nadaje wtyczkom unikalny identyfikator umożliwiający uruchamianie treści chronionych. Wartość tego ustawienia jest wartością logiczną, a wartością domyślną jest true.

  • referrersEnabled

    Jeśli ta opcja jest włączona, Chrome wysyła w Twoich żądaniach referer nagłówki. Tak, nazwa tego ustawienia nie pasuje do błędnie wpisanego nagłówka. Nie, niczego nie zmienimy. Wartość tego ustawienia jest wartością logiczną, a wartością domyślną jest true.

  • relatedWebsiteSetsEnabled
    Chrome 121 i nowsze wersje

    Jeśli ta opcja jest wyłączona, Zestawy powiązanych witryn są wyłączone. Wartość tego ustawienia jest wartością logiczną, a wartością domyślną jest true. Rozszerzenia mogą wyłączyć ten interfejs API tylko przez ustawienie wartości false. Próba ustawienia tego interfejsu API na true spowoduje zgłoszenie błędu.

  • thirdPartyCookiesAllowed

    Gdy ta opcja jest wyłączona, Chrome blokuje witrynom innych firm możliwość ustawiania plików cookie. Wartość tego ustawienia jest wartością logiczną, a wartością domyślną jest true.

  • topicsEnabled
    Chrome 111 i nowsze wersje

    Jeśli go wyłączysz, interfejs Topics API zostanie zdezaktywowany. Wartość tego ustawienia jest wartością logiczną, a wartością domyślną jest true. Rozszerzenia mogą wyłączyć ten interfejs API tylko przez ustawienie wartości false. Próba ustawienia tego interfejsu API na true spowoduje zgłoszenie błędu.