chrome.privacy

Beschreibung

Mit der chrome.privacy API können Sie die Nutzung von Chrome-Funktionen steuern, die sich auf die Privatsphäre eines Nutzers auswirken können. Diese API basiert auf dem ChromeSetting-Prototyp des Typs API, um die Chrome-Konfiguration abzurufen und festzulegen.

Berechtigungen

privacy

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

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

Konzepte und Nutzung

Der aktuelle Wert einer Chrome-Einstellung lässt sich ganz einfach ablesen. Sie müssen zuerst die gewünschte Property finden. Dann rufen Sie get() für das Objekt auf, um den aktuellen Wert und die Kontrollebene Ihrer Erweiterung abzurufen. Wenn Sie beispielsweise feststellen möchten, ob die Chrome-Funktion zum automatischen Ausfüllen von Kreditkarten aktiviert ist, geben Sie Folgendes ein:

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 komplizierter, da du zuerst prüfen musst, ob deine Erweiterung die Einstellung steuern kann. Der Nutzer sieht keine Änderungen an seinen Einstellungen, wenn Ihre Erweiterung eine Einstellung umschaltet, die entweder auf einen bestimmten Wert durch Unternehmensrichtlinien gesperrt ist (levelOfControl wird auf „not_controllable“), oder wenn eine andere Erweiterung den Wert steuert (levelOfControl auf „control_by_other_extensions“ gesetzt). Der set()-Aufruf ist erfolgreich, aber die Einstellung wird sofort überschrieben. Da dies verwirrend sein kann, ist es ratsam, den Nutzer zu warnen, wenn die ausgewählten Einstellungen nicht praktisch angewendet werden.

Sie müssen also die Methode get() verwenden, um Ihre Zugriffsebene zu ermitteln, und dann set() nur dann aufrufen, wenn Ihre Erweiterung die Kontrolle über die Einstellung übernehmen kann. Wenn Ihre Erweiterung die Einstellung nicht steuern kann, empfiehlt es sich wahrscheinlich, die Funktion visuell zu deaktivieren, um Verwirrung bei Nutzern 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 Änderungen am Wert einer Einstellung vornehmen möchten, fügen Sie dem zugehörigen onChange-Ereignis einen Listener hinzu. Auf diese Weise können Sie Nutzer unter anderem warnen, wenn eine kürzlich installierte Erweiterung die Kontrolle über eine Einstellung übernimmt oder wenn die Unternehmensrichtlinie diese Einstellung überschreibt. Um beispielsweise auf Änderungen am Autofill-Status der Kreditkarte zu warten, 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 Privacy API-Beispiel aus dem Repository chrome-extension-sample.

Typen

IPHandlingPolicy

Chrome 48 und höher

Die Richtlinie zur IP-Verarbeitung von WebRTC.

Enum

"default_public_and_private_interfaces"

"default_public_interface_only"

"disable_non_proxied_udp"

Attribute

network

Einstellungen, die sich auf die allgemeine Handhabung von Netzwerkverbindungen durch 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 der internen Vervollständigungsfunktion von Chrome aus. Von Webseiten initiierte Präfekturen oder Vorabverbindungen sind nicht betroffen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig true ist.

  • webRTCIPHandlingPolicy
    Chrome 48 und höher

    Nutzer können die Kompromisse bei Medienleistung und Datenschutz festlegen, die sich darauf auswirken, wie WebRTC-Traffic weitergeleitet und wie viele lokale Adressinformationen offengelegt werden. Der Wert dieser Einstellung hat den Typ IPHandlingPolicy und hat standardmäßig den Wert default.

services

Einstellungen, mit denen Funktionen aktiviert oder deaktiviert werden können, für die von Google und Ihrem Standardsuchanbieter bereitgestellte Netzwerkdienste von Drittanbietern erforderlich sind

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 true ist.

  • autofillAddressEnabled
    Chrome 70 oder höher

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

  • autofillCreditCardEnabled
    Chrome 70 oder höher

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

  • autofillEnabled
    Seit Chrome 70 eingestellt

    Verwenden Sie „privacy.services.autofillAddressEnabled“ und „privacy.services.autofillCreditCardEnabled“. Aus Gründen der Abwärtskompatibilität in dieser Version bleibt sie erhalten 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 true 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 true 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 true 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 false ist.

  • searchSuggestEnabled

    Wenn diese Option aktiviert ist, sendet Chrome den von Ihnen in die Omnibox eingegebenen Text an Ihre Standardsuchmaschine. Diese macht Vorschläge für Websites und Suchanfragen, die wahrscheinlich die Vervollständigung Ihrer bisherigen Eingabe darstellen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig true 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 false ist.

  • translationServiceEnabled

    Wenn diese Option aktiviert ist, bietet Chrome die Übersetzung von fremdsprachigen Seiten an. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig true ist.

websites

Einstellungen, mit denen festgelegt wird, welche Informationen Chrome Websites zur Verfügung stellt.

Typ

Objekt

Attribute

  • adMeasurementEnabled
    Chrome 111 und höher

    Wenn die Option deaktiviert ist, werden auch die Attribution Reporting API und die Private Aggregation API deaktiviert. Der Wert dieser Einstellung ist boolesch 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 ausgegeben.

  • doNotTrackEnabled
    Chrome 65 und höher

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

  • fledgeEnabled
    Chrome 111 und höher

    Wenn diese Option deaktiviert ist, ist die Fledge API deaktiviert. Der Wert dieser Einstellung ist boolesch 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 ausgegeben.

  • hyperlinkAuditingEnabled

    Wenn diese Option aktiviert ist, sendet Chrome Audit-Pings, wenn sie von einer Website (<a ping>) angefordert werden. 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, über die geschützte Inhalte ausgeführt werden können. Der Wert dieser Einstellung ist boolesch und der Standardwert ist true.

  • referrersEnabled

    Wenn diese Option aktiviert ist, sendet Chrome referer-Header mit deinen Anfragen. Ja, der Name dieser Einstellung stimmt nicht mit der falsch geschriebenen Kopfzeile überein. Nein, wir werden es nicht ändern. Der Wert dieser Einstellung ist boolesch und der Standardwert ist true.

  • relatedWebsiteSetsEnabled
    Chrome 121 und höher

    Ist die Option deaktiviert, sind Gruppen ähnlicher Websites deaktiviert. Der Wert dieser Einstellung ist boolesch 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 ausgegeben.

  • thirdPartyCookiesAllowed

    Wenn die Option deaktiviert ist, blockiert Chrome Websites von Drittanbietern daran, Cookies zu setzen. Der Wert dieser Einstellung ist boolesch und der Standardwert ist true.

  • topicsEnabled
    Chrome 111 und höher

    Wenn sie deaktiviert ist, ist auch die Topics API deaktiviert. Der Wert dieser Einstellung ist boolesch 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 ausgegeben.