Beschreibung
Mit der chrome.privacy
API können Sie die Nutzung der Funktionen in Chrome steuern, die sich auf den Datenschutz eines Nutzers auswirken können. Diese API verwendet den ChromeSetting-Prototyp vom Typ API, um die Chrome-Konfiguration abzurufen und festzulegen.
Berechtigungen
privacy
Manifest
Sie müssen die Berechtigung „Datenschutz“ im Manifest Ihrer Erweiterung angeben, 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 ermitteln. Sie müssen zuerst die gewünschte Property finden und dann get()
auf dieses Objekt anwenden, um den aktuellen Wert und die Kontrollebene der Erweiterung abzurufen. Wenn Sie beispielsweise wissen möchten, ob die Autofill-Funktion von Chrome aktiviert ist, geben Sie Folgendes ein:
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 der Wert von einer anderen Erweiterung gesteuert wird (levelOfControl
wird auf „controlled_by_other_extensions“ gesetzt). Der set()
-Aufruf ist erfolgreich, die Einstellung wird jedoch sofort überschrieben. Da dies verwirrend sein kann, sollten Sie Nutzer warnen, wenn die von ihnen ausgewählten Einstellungen nicht praktisch angewendet werden.
Sie sollten also die Methode get()
verwenden, um die Zugriffsebene zu ermitteln, und dann nur set()
aufrufen, wenn Ihre Erweiterung die Einstellung übernehmen kann. Wenn Ihre Erweiterung die Einstellung nicht steuern kann, sollten Sie die Funktion visuell deaktivieren, um die Verwirrung der 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 Änderungen am Wert einer Einstellung verfolgen möchten, fügen Sie dem Ereignis onChange
einen Listener hinzu. So können Sie Nutzer beispielsweise warnen, wenn eine neuere Erweiterung die Kontrolle über eine Einstellung übernimmt oder Ihre Einstellungen durch eine Unternehmensrichtlinie überschrieben werden. 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 Beispiel für die Privacy API 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 die Verarbeitung von Netzwerkverbindungen in Chrome im Allgemeinen beeinflussen.
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 vorzeitig geöffnet werden. Diese Einstellung wirkt sich nur auf Aktionen aus, die vom internen Vorhersagedienst von Chrome ausgeführt werden. Dies hat keine Auswirkungen auf von Webseiten initiierte Vorab-Ladevorgänge oder Vorab-Verbindungen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf
true
festgelegt ist. -
webRTCIPHandlingPolicyChrome 48 und höher
Nutzern die Möglichkeit geben, die Kompromisse zwischen Medienleistung und Datenschutz anzugeben, die sich darauf auswirken, wie WebRTC-Traffic weitergeleitet wird und wie viele Informationen zu lokalen Adressen offengelegt werden. Der Wert dieser Einstellung hat den Typ „IPHandlingPolicy“ und ist standardmäßig auf
default
festgelegt.
services
Einstellungen, mit denen Funktionen aktiviert oder deaktiviert werden, für die Netzwerkdienste von Drittanbietern von Google und Ihrem Standardsuchanbieter erforderlich sind.
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 Funktion 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 Funktion 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 bitte „privacy.services.autofillAddressEnabled“ und „privacy.services.autofillCreditCardEnabled“. Diese Option ist in dieser Version aus Gründen der Abwärtskompatibilität verfügbar 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 Funktion 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
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 stellt dann Vervollständigungen für Websites und Suchanfragen bereit, die wahrscheinlich die bisher eingegebenen Zeichen enthalten. 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, wird von Chrome angeboten, fremdsprachige Seiten zu übersetzen. Der Wert dieser Einstellung ist ein boolescher Wert, der standardmäßig auf
true
festgelegt ist.
websites
Einstellungen, die festlegen, welche Informationen Chrome für Websites verfügbar macht.
Typ
Objekt
Attribute
-
adMeasurementEnabled
types.ChromeSetting<boolean>
Chrome 111 und höherWenn diese Option deaktiviert ist, werden auch die Attribution Reporting API und die Private Aggregation API deaktiviert. Der Wert dieser Einstellung ist vom Typ „boolescher Wert“ und der Standardwert ist
true
. Erweiterungen können diese APIs nur deaktivieren, indem sie den Wert auffalse
festlegen. Wenn Sie versuchen, diese APIs auftrue
festzulegen, wird ein Fehler ausgegeben. -
doNotTrackEnabled
types.ChromeSetting<boolean>
Chrome 65 und 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 „boolescher Wert“ und der Standardwert istfalse
. -
fledgeEnabled
types.ChromeSetting<boolean>
Chrome 111 und höherWenn diese Option deaktiviert ist, wird die Fledge API deaktiviert. Der Wert dieser Einstellung ist vom Typ „boolescher Wert“ und der Standardwert ist
true
. Erweiterungen können diese API nur deaktivieren, indem sie den Wert auffalse
festlegen. Wenn Sie versuchen, diese API auftrue
festzulegen, wird ein Fehler ausgegeben. -
hyperlinkAuditingEnabled
types.ChromeSetting<boolean>
Wenn diese Einstellung aktiviert ist, sendet Chrome Prüf-Pings, wenn eine Website dies anfordert (
<a ping>
). Der Wert dieser Einstellung ist vom Typ „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, damit geschützte Inhalte ausgeführt werden können. Der Wert dieser Einstellung ist vom Typ „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 der falsch geschriebenen Überschrift überein. Nein, wir werden das nicht ändern. Der Wert dieser Einstellung ist vom Typ „boolescher Wert“ und der Standardwert isttrue
. -
types.ChromeSetting<boolean>
Chrome 121 und höherWenn diese Option deaktiviert ist, werden auch Gruppen ähnlicher Websites deaktiviert. Der Wert dieser Einstellung ist vom Typ „boolescher Wert“ und der Standardwert ist
true
. Erweiterungen können diese API nur deaktivieren, indem sie den Wert auffalse
festlegen. Wenn Sie versuchen, diese API auftrue
festzulegen, wird ein Fehler ausgegeben. -
thirdPartyCookiesAllowed
types.ChromeSetting<boolean>
Wenn diese Einstellung deaktiviert ist, verhindert Chrome, dass Drittanbieter-Websites Cookies setzen. Der Wert dieser Einstellung ist vom Typ „boolescher Wert“ und der Standardwert ist
true
.**Hinweis:**Einzelne Websites können 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
types.ChromeSetting<boolean>
Chrome 111 und höherWenn diese Option deaktiviert ist, wird auch die Topics API deaktiviert. Der Wert dieser Einstellung ist vom Typ „boolescher Wert“ und der Standardwert ist
true
. Erweiterungen können diese API nur deaktivieren, indem sie den Wert auffalse
festlegen. Wenn Sie versuchen, diese API auftrue
festzulegen, wird ein Fehler ausgegeben.