chrome.privacy

Beschreibung

Mit der chrome.privacy API können Sie die Verwendung der Funktionen in Chrome steuern, die sich auf die Privatsphäre eines Nutzers auswirken können. Diese API verwendet den Prototyp ChromeSetting der API vom Typ, um die Chrome-Konfiguration abzurufen und festzulegen.

Berechtigungen

privacy

Sie müssen die Berechtigung "privacy" im Manifest Ihrer Erweiterung deklarieren, um die API verwenden zu können. Beispiel:

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

Konzepte und Verwendung

Der aktuelle Wert einer Chrome-Einstellung lässt sich ganz einfach abrufen. Suchen Sie zuerst die gewünschte Eigenschaft und rufen Sie dann get() für dieses Objekt auf, um den aktuellen Wert und die Steuerungsebene Ihrer Erweiterung abzurufen. Wenn Sie beispielsweise feststellen möchten, ob die Funktion zum automatischen Ausfüllen von Kreditkarten in Chrome aktiviert ist, schreiben Sie Folgendes:

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

Das Ändern des Werts einer Einstellung ist etwas komplexer, da Sie zuerst prüfen müssen, ob Ihre Erweiterung die Einstellung steuern kann. Der Nutzer sieht keine Änderung an seinen Einstellungen, wenn Ihre Erweiterung eine Einstellung ändert, die entweder durch Unternehmensrichtlinien auf einen bestimmten Wert festgelegt ist (levelOfControl wird auf „not_controllable“ gesetzt) oder wenn eine andere Erweiterung den Wert steuert (levelOfControl wird auf „controlled_by_other_extensions“ gesetzt). Der Aufruf set() ist erfolgreich, die Einstellung wird aber sofort überschrieben. Da dies verwirrend sein kann, sollten Sie den Nutzer warnen, wenn die von ihm ausgewählten Einstellungen nicht angewendet werden.

Verwenden Sie also die get() Methode, um Ihre Zugriffsebene zu ermitteln, und rufen Sie dann nur set() auf, wenn Ihre Erweiterung die Steuerung der Einstellung übernehmen kann. Wenn Ihre Erweiterung die Einstellung nicht steuern kann, sollten Sie die Funktion visuell deaktivieren, um Verwirrung beim Nutzer zu vermeiden:

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

Wenn Sie an Änderungen des Werts einer Einstellung interessiert sind, fügen Sie einen Listener zum onChange-Ereignis hinzu. So können Sie den Nutzer beispielsweise warnen, wenn eine kürzlich installierte Erweiterung die Steuerung einer Einstellung übernimmt oder wenn eine Unternehmensrichtlinie Ihre Steuerung überschreibt. Wenn Sie beispielsweise auf Änderungen des Status der Funktion zum automatischen Ausfüllen von Kreditkarten hören möchten, reicht der folgende Code aus:

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

Beispiele

Wenn Sie diese API testen möchten, installieren Sie das Beispiel für die Privacy API aus dem Repository chrome-extension-samples.

Typen

IPHandlingPolicy

Chrome 48+

Richtlinie für das IP-Handling von WebRTC.

Enum

"default"

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

Attribute

network

Einstellungen, die sich allgemein auf die Verarbeitung von Netzwerkverbindungen in Chrome auswirken.

Typ

Objekt

Attribute

  • networkPredictionEnabled

    Wenn diese Option aktiviert ist, versucht Chrome, das Surfen im Web zu beschleunigen, indem DNS-Einträge vorab aufgelöst und TCP- und SSL-Verbindungen zu Servern präventiv geöffnet werden. Diese Einstellung wirkt sich nur auf Aktionen aus, die vom internen Vorhersagedienst von Chrome ausgeführt werden. Sie hat keine Auswirkungen auf von Webseiten initiierte Vorabrufe oder Vorverbindungen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf true gesetzt ist.

  • webRTCIPHandlingPolicy
    Chrome 48+

    Ermöglicht Nutzern, die Kompromisse zwischen Medienleistung und Datenschutz festzulegen, die sich darauf auswirken, wie WebRTC-Traffic weitergeleitet wird und wie viele Informationen zur lokalen Adresse preisgegeben werden. Der Wert dieser Einstellung hat den Typ IPHandlingPolicy und ist standardmäßig auf default gesetzt.

services

Einstellungen, mit denen Funktionen aktiviert oder deaktiviert werden, für die Netzwerkdienste von Drittanbietern erforderlich sind, die von Google und Ihrem Standardsuchanbieter bereitgestellt werden.

Typ

Objekt

Attribute

  • alternateErrorPagesEnabled

    Wenn diese Option aktiviert ist, verwendet Chrome einen Webdienst, um Navigationsfehler zu beheben. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf true gesetzt ist.

  • autofillAddressEnabled
    Chrome 70+

    Wenn diese Option aktiviert ist, bietet Chrome an, Adressen und andere Formulardaten automatisch auszufüllen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf true gesetzt ist.

  • autofillCreditCardEnabled
    Chrome 70+

    Wenn diese Option aktiviert ist, bietet Chrome an, Kreditkartenformulare automatisch auszufüllen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf true gesetzt ist.

  • autofillEnabled
    Seit Chrome 70 eingestellt

    Verwenden Sie stattdessen privacy.services.autofillAddressEnabled und privacy.services.autofillCreditCardEnabled. Diese Einstellung ist in dieser Version aus Gründen der Abwärtskompatibilität weiterhin verfügbar und wird in Zukunft entfernt.

    Wenn diese Option aktiviert ist, bietet Chrome an, Formulare automatisch auszufüllen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf true gesetzt ist.

  • autofillOtherDatatypesEnabled
    Ausstehend

    Wenn diese Option aktiviert ist, bietet Chrome an, die anderen Datentypen automatisch auszufüllen. Dazu gehören Reise- und Ausweisdokumente. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf true gesetzt ist.

  • passwordSavingEnabled

    Wenn diese Option aktiviert ist, werden Sie vom Passwortmanager gefragt, ob Sie Passwörter speichern möchten. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf true gesetzt ist.

  • safeBrowsingEnabled

    Wenn diese Option aktiviert ist, schützt Chrome Sie bestmöglich vor Phishing und Malware. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf true gesetzt ist.

  • safeBrowsingExtendedReportingEnabled

    Wenn diese Option aktiviert ist, sendet Chrome zusätzliche Informationen an Google, wenn Safe Browsing eine Seite blockiert, z. B. den Inhalt der blockierten Seite. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf false gesetzt ist.

  • searchSuggestEnabled

    Wenn diese Option aktiviert ist, sendet Chrome den Text, den Sie in die Omnibox eingeben, an Ihre Standardsuchmaschine. Diese liefert Vorhersagen für Websites und Suchanfragen, die wahrscheinlich Vervollständigungen des bisher eingegebenen Texts sind. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf true gesetzt ist.

  • spellingServiceEnabled

    Wenn diese Option aktiviert ist, verwendet Chrome einen Webdienst, um Rechtschreibfehler zu korrigieren. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf false gesetzt ist.

  • translationServiceEnabled

    Wenn diese Option aktiviert ist, bietet Chrome an, fremdsprachige Seiten zu übersetzen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf true gesetzt ist.

websites

Einstellungen, die festlegen, welche Informationen Chrome Websites zur Verfügung stellt.

Typ

Objekt

Attribute

  • adMeasurementEnabled
    Chrome 111+

    Wenn diese Option deaktiviert ist, werden die Attribution Reporting API und die Private Aggregation API deaktiviert. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist true. Erweiterungen können diese APIs nur deaktivieren, indem sie den Wert auf false setzen. Wenn Sie versuchen, diese APIs auf true zu setzen, wird ein Fehler ausgelöst.

  • doNotTrackEnabled
    Chrome 65+

    Wenn diese Option aktiviert ist, sendet Chrome den Header „Do Not Track“ (DNT: 1) mit Ihren Anfragen. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist false.

  • fledgeEnabled
    Chrome 111+

    Wenn diese Option deaktiviert ist, wird die Fledge API deaktiviert. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist true. Erweiterungen können diese API nur deaktivieren, indem sie den Wert auf false setzen. Wenn Sie versuchen, diese API auf true zu setzen, wird ein Fehler ausgelöst.

  • hyperlinkAuditingEnabled

    Wenn diese Option aktiviert ist, sendet Chrome auf Anfrage einer Website Audit-Pings (<a ping>). Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist true.

  • protectedContentEnabled

    Nur unter Windows und ChromeOS verfügbar: Wenn diese Option aktiviert ist, stellt Chrome Plug-ins eine eindeutige ID zur Verfügung, um geschützte Inhalte auszuführen. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist true.

  • referrersEnabled

    Wenn diese Option aktiviert ist, sendet Chrome referer Header mit Ihren Anfragen. Ja, der Name dieser Einstellung stimmt nicht mit dem falsch geschriebenen Header überein. Nein, wir werden ihn nicht ändern. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist true.

  • relatedWebsiteSetsEnabled
    Chrome 121+

    Wenn diese Option deaktiviert ist, wird die Funktion für Gruppen ähnlicher Websites deaktiviert. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist true. Erweiterungen können diese API nur deaktivieren, indem sie den Wert auf false setzen. Wenn Sie versuchen, diese API auf true zu setzen, wird ein Fehler ausgelöst.

  • thirdPartyCookiesAllowed

    Wenn diese Option deaktiviert ist, verhindert Chrome, dass Drittanbieter-Websites Cookies setzen. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist true. Erweiterungen können diese API nicht im Inkognitomodus aktivieren. Dort werden Drittanbieter-Cookies blockiert und können nur auf Websiteebene zugelassen werden. Wenn Sie versuchen, diese API im Inkognitomodus auf „true“ zu setzen, wird ein Fehler ausgelöst.

    Hinweis: Einzelne Websites können möglicherweise weiterhin auf Drittanbieter-Cookies zugreifen, wenn diese API false zurückgibt, wenn sie eine gültige Ausnahme haben oder stattdessen die Storage Access API verwenden.

  • topicsEnabled
    Chrome 111+

    Wenn diese Option deaktiviert ist, wird die Topics API deaktiviert. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist true. Erweiterungen können diese API nur deaktivieren, indem sie den Wert auf false setzen. Wenn Sie versuchen, diese API auf true zu setzen, wird ein Fehler ausgelöst.