Beschreibung
Mit der chrome.privacy
API können Sie die Nutzung von Chrome-Funktionen steuern, die sich auf den Datenschutz eines Nutzers auswirken können. Diese API basiert auf dem ChromeSetting-Prototyp der Typ-API zum Abrufen und Festlegen der Chrome-Konfiguration.
Berechtigungen
privacy
Manifest
Sie müssen die Berechtigung „privacy“ im Manifest Ihrer Erweiterung deklarieren, um die API zu verwenden. Beispiel:
{
"name": "My extension",
...
"permissions": [
"privacy"
],
...
}
Nutzung
Den aktuellen Wert einer Chrome-Einstellung zu lesen, ist ganz einfach. Zuerst müssen Sie die gewünschte Eigenschaft finden. 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:
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 umschaltet, 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 set()
-Aufruf wird erfolgreich ausgeführt, die Einstellung wird aber sofort überschrieben. Da dies verwirrend sein kann, ist es ratsam, den Nutzer zu warnen, wenn die von ihm ausgewählten Einstellungen nicht angewendet werden.
Das bedeutet, dass Sie die Methode get()
verwenden sollten, um Ihre Zugriffsebene zu ermitteln, und dann nur set()
aufrufen sollten, 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 bei den Nutzern 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 sich für Änderungen am Wert einer Einstellung interessieren, fügen Sie einen Listener für das onChange
-Ereignis hinzu. So können Sie den Nutzer beispielsweise warnen, wenn eine kürzlich installierte Erweiterung die Kontrolle über eine Einstellung übernimmt oder wenn eine Unternehmensrichtlinie Ihre Kontrolle überschreibt. Wenn Sie beispielsweise auf Änderungen am Status von Autofill warten 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 ausprobieren möchten, installieren Sie das Datenschutz-API-Beispiel aus dem Repository chrome-extension-samples.
Typen
IPHandlingPolicy
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
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. Von Webseiten initiierte Prefetch- oder Preconnect-Vorgänge sind davon nicht betroffen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf
true
festgelegt ist. -
webRTCIPHandlingPolicyChrome 48 und höher
Nutzer können die Kompromisse zwischen Medienleistung und Datenschutz festlegen. Das wirkt sich darauf aus, wie WebRTC-Traffic weitergeleitet wird und wie viele Informationen zur lokalen Adresse offengelegt werden. Der Wert dieser Einstellung hat den Typ „IPHandlingPolicy“ und wird standardmäßig auf
default
festgelegt.
services
Einstellungen, mit denen Funktionen aktiviert oder deaktiviert werden, die Drittanbieter-Netzwerkdienste von Google und Ihrem Standardanbieter für die Suche erfordern.
Typ
Objekt
Attribute
-
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
true
festgelegt ist. -
autofillAddressEnabled
types.ChromeSetting<boolean>
Chrome 70 und höherWenn 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
festgelegt ist. -
autofillCreditCardEnabled
types.ChromeSetting<boolean>
Chrome 70 und höherWenn diese Option aktiviert ist, bietet Chrome an, Kreditkartenformulare automatisch auszufüllen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf
true
festgelegt ist. -
autofillEnabled
types.ChromeSetting<boolean>
Seit Chrome 70 eingestelltVerwenden Sie privacy.services.autofillAddressEnabled und privacy.services.autofillCreditCardEnabled. Dies bleibt in dieser Version aus Gründen der Abwärtskompatibilität erhalten und wird in Zukunft entfernt.
Wenn diese Funktion aktiviert ist, bietet Chrome an, Formulare automatisch auszufüllen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf
true
festgelegt ist. -
passwordSavingEnabled
types.ChromeSetting<boolean>
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
festgelegt 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
true
festgelegt 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
false
festgelegt ist. -
searchSuggestEnabled
types.ChromeSetting<boolean>
Wenn diese Option aktiviert ist, sendet Chrome den Text, den Sie in die Omnibox eingeben, an Ihre Standardsuchmaschine. Diese liefert dann Vorschläge für Websites und Suchanfragen, die wahrscheinlich Vervollständigungen Ihrer bisherigen Eingabe sind. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf
true
festgelegt 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
false
festgelegt 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
true
festgelegt ist.
websites
Einstellungen, die festlegen, welche Informationen Chrome Websites zur Verfügung stellt.
Typ
Objekt
Attribute
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111 und höherWenn diese Option deaktiviert ist, werden die Attribution Reporting API und die Private Aggregation API deaktiviert. Der Wert dieser Einstellung ist vom Typ „boolean“ und der Standardwert ist
true
. Erweiterungen dürfen diese APIs nur deaktivieren, indem sie den Wert auffalse
setzen. Wenn Sie versuchen, diese APIs auftrue
festzulegen, wird ein Fehler ausgegeben. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 oder höherWenn diese Option aktiviert ist, sendet Chrome den Header „Do Not Track“ (
DNT: 1
) mit Ihren Anfragen. Der Wert dieser Einstellung ist vom Typ „boolean“ und der Standardwert istfalse
. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 und höherWenn diese Option deaktiviert ist, ist die Fledge API deaktiviert. Der Wert dieser Einstellung ist vom Typ „boolean“ und der Standardwert ist
true
. Erweiterungen dürfen diese API nur deaktivieren, indem sie den Wert auffalse
setzen. Wenn Sie versuchen, diese API auftrue
festzulegen, wird ein Fehler ausgegeben. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Wenn diese Einstellung aktiviert ist, sendet Chrome Audit-Pings, wenn eine Website dies anfordert (
<a ping>
). Der Wert dieser Einstellung ist vom Typ „boolean“ 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, damit geschützte Inhalte ausgeführt werden können. Der Wert dieser Einstellung ist vom Typ „boolean“ 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 das nicht ändern. Der Wert dieser Einstellung ist vom Typ „boolean“ und der Standardwert isttrue
. -
types.ChromeSetting<boolean>
Chrome 121 und höherWenn diese Option deaktiviert ist, ist die Funktion Gruppen ähnlicher Websites deaktiviert. Der Wert dieser Einstellung ist vom Typ „boolean“ und der Standardwert ist
true
. Erweiterungen dürfen diese API nur deaktivieren, indem sie den Wert auffalse
setzen. Wenn Sie versuchen, diese API auftrue
festzulegen, wird ein Fehler ausgegeben. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Wenn diese Option deaktiviert ist, verhindert Chrome, dass Drittanbieter-Websites Cookies festlegen. Der Wert dieser Einstellung ist vom Typ „boolean“ und der Standardwert ist
true
. Erweiterungen dürfen diese API nicht im Inkognitomodus aktivieren, da 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 ausgegeben.Hinweis: Einzelne Websites können möglicherweise weiterhin auf Drittanbieter-Cookies zugreifen, wenn diese API
false
zurückgibt, sofern sie eine gültige Ausnahme haben oder stattdessen die Storage Access API verwenden. -
topicsEnabled
types.ChromeSetting<boolean>
Chrome 111 und höherWenn diese Option deaktiviert ist, ist die Topics API deaktiviert. Der Wert dieser Einstellung ist vom Typ „boolean“ und der Standardwert ist
true
. Erweiterungen dürfen diese API nur deaktivieren, indem sie den Wert auffalse
setzen. Wenn Sie versuchen, diese API auftrue
festzulegen, wird ein Fehler ausgegeben.