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
privacyManifest
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
Kategorien von Autofill-Daten.
Enum
„contact_info“
„payments“
„identity_docs“
„travel“
AutofillSettings
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
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
types.ChromeSetting<boolean>
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
truegesetzt ist. -
webRTCIPHandlingPolicyChrome 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
defaultgesetzt.
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
types.ChromeSetting<boolean>
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
truegesetzt ist. -
autofillAddressEnabled
types.ChromeSetting<boolean>
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
truegesetzt ist. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
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
truegesetzt ist. -
autofillEnabled
types.ChromeSetting<boolean>
Seit Chrome 70 veraltetVerwenden 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
truegesetzt ist. -
autofillSettingsAusstehend
Wenn diese Option festgelegt ist, können Sie die Autofill-Funktionen websitespezifisch steuern, indem Sie bestimmte Datenkategorien für übereinstimmende URL-Muster blockieren.
-
passwordSavingEnabled
types.ChromeSetting<boolean>
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
truegesetzt ist. -
safeBrowsingEnabled
types.ChromeSetting<boolean>
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
truegesetzt ist. -
safeBrowsingExtendedReportingEnabled
types.ChromeSetting<boolean>
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
falsegesetzt ist. -
searchSuggestEnabled
types.ChromeSetting<boolean>
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
truegesetzt ist. -
spellingServiceEnabled
types.ChromeSetting<boolean>
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
falsegesetzt ist. -
translationServiceEnabled
types.ChromeSetting<boolean>
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
truegesetzt ist.
websites
Einstellungen, die festlegen, welche Informationen Chrome Websites zur Verfügung stellt.
Typ
Objekt
Properties
-
adMeasurementEnabled
types.ChromeSetting<boolean>
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 auffalsesetzen. Wenn Sie versuchen, diese APIs auftruezu setzen, wird ein Fehler ausgelöst. -
doNotTrackEnabled
types.ChromeSetting<boolean>
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 istfalse. -
fledgeEnabled
types.ChromeSetting<boolean>
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 auffalsesetzen. Wenn Sie versuchen, diese API auftruezu setzen, wird ein Fehler ausgelöst. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
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 isttrue. -
protectedContentEnabled
types.ChromeSetting<boolean>
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
types.ChromeSetting<boolean>
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 isttrue. -
types.ChromeSetting<boolean>
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 auffalsesetzen. Wenn Sie versuchen, diese API auftruezu setzen, wird ein Fehler ausgelöst. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
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
falsezurückgibt, wenn sie eine gültige Ausnahme haben oder stattdessen die Storage Access API verwenden. -
topicsEnabled
types.ChromeSetting<boolean>
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 auffalsesetzen. Wenn Sie versuchen, diese API auftruezu setzen, wird ein Fehler ausgelöst.