chrome.privacy

Beschreibung

Mit der chrome.privacy API können Sie die Verwendung von Funktionen in Chrome steuern, die die Privatsphäre eines Nutzers beeinträchtigen können. Diese API basiert auf dem ChromeSetting-Prototyp der API vom Typ, um die Chrome-Konfiguration abzurufen und festzulegen.

Berechtigungen

privacy

Manifest

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

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

Nutzung

Der aktuelle Wert einer Chrome-Einstellung lässt sich ganz einfach abrufen. Suchen Sie zuerst die gewünschte Property 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 Autofill-Funktion von Chrome aktiviert ist, schreiben Sie Folgendes:

chrome.privacy.services.autofillEnabled.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 von 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.

Sie sollten also die Methode get() verwenden, um Ihre Zugriffsebene zu ermitteln, und dann nur set() aufrufen, wenn Ihre Erweiterung die Einstellung steuern kann. Wenn Ihre Erweiterung die Einstellung nicht steuern kann, ist es wahrscheinlich eine gute Idee, die Funktion visuell zu deaktivieren, um Verwirrung beim Nutzer zu vermeiden:

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

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 Autofill-Status achten möchten, reicht der folgende Code aus:

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

Beispiele

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

Typen

AutofillBlockedType

Ausstehend

Kategorien von Autofill-Daten.

Enum

„contact_info“

„payments“

„identity_docs“

„travel“

AutofillSettings

Ausstehend

Websitespezifische Blockierungsregeln für Autofill-Funktionen.

Typ

object[]

Properties

  • blockedTypes

    Die Kategorien von Autofill-Daten, die auf übereinstimmenden Websites blockiert werden sollen.

  • urlPattern

    String

    Ein URL-Muster, das die Websites angibt, für die die Blockierungsregel gilt.

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"

Properties

network

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

Typ

Objekt

Properties

  • 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

Properties

  • 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 veraltet

    Verwenden Sie stattdessen privacy.services.autofillAddressEnabled und privacy.services.autofillCreditCardEnabled. Diese Einstellung bleibt in dieser Version aus Gründen der Abwärtskompatibilität 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 auf true gesetzt ist.

  • Ausstehend

    Wenn diese Option festgelegt ist, können Sie die Autofill-Funktionen websitespezifisch steuern, indem Sie bestimmte Datenkategorien für übereinstimmende URL-Muster blockieren.

  • passwordSavingEnabled

    Wenn diese Option aktiviert ist, fragt der Passwortmanager, 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, versucht Chrome, Sie bestmöglich vor Phishing und Malware zu schützen. 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 gibt Vorhersagen für Websites und Suchanfragen aus, 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, Seiten zu übersetzen, die nicht in einer Sprache verfasst sind, die Sie lesen. 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

Properties

  • 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 Auditing-Pings, wenn eine Website dies anfordert (<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 „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, blockiert Chrome das Setzen von Cookies durch Drittanbieter-Websites. Der Wert dieser Einstellung ist ein boolescher Wert und der Standardwert ist true. Erweiterungen können diese API nicht im Inkognitomodus aktivieren, in dem Drittanbieter-Cookies blockiert werden und nur auf Websiteebene zugelassen werden können. 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.