Datenschutz für Nutzer

Nutzer werden eine Erweiterung nicht installieren, wenn dadurch ihre Privatsphäre gefährdet ist oder sie nach weiteren erforderlichen Berechtigungen fragt. Berechtigungsanfragen sollten für Nutzer Sinn ergeben und sich auf die wesentlichen Informationen beschränken, die zur Implementierung der Erweiterung erforderlich sind. Erweiterungen, die Nutzerdaten erheben oder übertragen, müssen den Richtlinien unter Datenschutz entsprechen.

Schützen und respektieren Sie die Nutzer von Erweiterungen, indem Sie diese Vorsichtsmaßnahmen ergreifen, um ihre Identität zu schützen.

Erforderliche Berechtigungen reduzieren

Die APIs, auf die eine Erweiterung zugreifen kann, werden im Feld permissions des Manifests angegeben. Je mehr Berechtigungen erteilt werden, desto mehr Möglichkeiten hat ein Angreifer, Informationen abzufangen. Es sollten nur die APIs aufgeführt werden, von denen eine Erweiterung abhängig ist. Weniger invasive Optionen sollten ebenfalls berücksichtigt werden. Je weniger Berechtigungen eine Erweiterung anfordert, desto weniger Berechtigungen werden dem Nutzer angezeigt. Es ist wahrscheinlicher, dass Nutzer eine Erweiterung installieren, wenn nur wenige Warnungen angezeigt werden.

Erweiterungen sollten keinen „zukunftssicheren“ Zugriff auf Nutzerdaten anfordern, indem Berechtigungen angefordert werden, die sie derzeit nicht benötigen, aber möglicherweise in Zukunft implementieren können. Nehmen Sie neue Berechtigungen in die Aktualisierung von Erweiterungen auf und machen Sie diese gegebenenfalls optional.

activeTab

Erweiterungen, die Hostberechtigungen zum Einfügen von Skripts verwenden, können häufig stattdessen activeTab ersetzen. Die Berechtigung „activeTab“ gewährt einer Erweiterung nur dann vorübergehend Zugriff auf den derzeit aktiven Tab, wenn der Nutzer die Erweiterung aufruft. Der Zugriff wird unterbrochen, wenn der Nutzer den aktuellen Tab verlässt oder ihn schließt. Sie dient als Alternative für viele Anwendungsfälle von <all_urls>.

{
  "name": "Very Secure Extension",
  "version": "1.0",
  "description": "Example of a Secure Extension",
  "permissions": ["activeTab"],
  "manifest_version": 3
}

Die Berechtigung „activeTab“ zeigt während der Installation keine Warnmeldungen an.

Optionale Berechtigungen aktivieren

Mit optionalen Berechtigungen können Nutzer selbst bestimmen, welche Funktionen und Berechtigungen sie für eine Erweiterung benötigen. Wenn eine Funktion für die Hauptfunktion einer Erweiterung nicht erforderlich ist, machen Sie sie optional und verschieben Sie die API oder Domain in das Feld optional_permissions.

{
  "name": "Very Secure Extension",
  ...
  "optional_permissions": [ "tabs", ],
  "optional_host_permissions": ["https://www.google.com/" ],
  ...
}

Mit optionalen Berechtigungen kann eine Erweiterung erklären, warum sie eine bestimmte Berechtigung benötigt, wenn der Nutzer die entsprechende Funktion aktiviert. Nutzer haben dann die Möglichkeit, Funktionen zu aktivieren.

Screenshot eines Pop-ups, in dem Sie zum Aktivieren von Berechtigungen aufgefordert werden

Wenn Sie auf Okay! klicken, wird im Service Worker das folgende Ereignis ausgelöst.

chrome.action.onClicked.addListener((event) => {
  // Permissions must be requested from inside a user gesture, like a button's
  // click handler.
  chrome.permissions.request(
    {
      permissions: ["tabs", "scripting"],
      origins: ['https://www.google.com/']
    },
    function (granted) {
      // The callback argument will be true if the user granted the permissions.
      if (granted) {
        // doSomething();
      } else {
        // doSomethingElse();
      }
    }
  );
});

Der Nutzer erhält dann die folgende Anfrage.

Screenshot einer optionalen Berechtigungsanfrage

Optionale Berechtigungen können auch durch ein Erweiterungsupdate implementiert werden. Dadurch wird die neue Funktion für Nutzer verfügbar gemacht, ohne die Erweiterung zu deaktivieren, wie es bei Updates mit den neuen erforderlichen Berechtigungen der Fall sein kann.

Nutzerinformationen einschränken und schützen

Fordern Sie nur die Mindestmenge an Daten an, die für eine Erweiterung erforderlich ist. Je weniger Informationen der Nutzer von der Erweiterung abfragt, desto weniger werden die Informationen gefährdet.

Alle angeforderten Nutzerdaten sollten mit Sorgfalt behandelt werden. Speichern und Abrufen von Daten auf einem sicheren Server mit einer registrierten Domain. Verwenden Sie für Verbindungen immer HTTPS und vermeiden Sie, dass vertrauliche Nutzerdaten auf der Clientseite einer Erweiterung gespeichert werden, da der Erweiterungsspeicher nicht verschlüsselt ist.

Daten werden gespeichert und Inkognitomodus

Erweiterungen können Daten speichern, indem sie die storage API verwenden oder Serveranfragen stellen, wodurch Daten eingespart werden können. Wenn die Erweiterung etwas speichern muss, überlegen Sie zuerst, ob es sich um ein Inkognitofenster handelt. Erweiterungen werden standardmäßig nicht in Inkognitofenstern ausgeführt.

Im Inkognitomodus werden keine Tracks aufgezeichnet. Beim Umgang mit Daten aus Inkognitofenstern sollten Erweiterungen dieses Versprechen einhalten. Wenn eine Erweiterung den Browserverlauf normalerweise speichert, solltest du diesen nicht aus Inkognitofenstern speichern. Erweiterungen können jedoch Einstellungseinstellungen von jedem Fenster aus speichern, ob im Inkognitomodus oder nicht.

Um festzustellen, ob sich ein Fenster im Inkognitomodus befindet, prüfen Sie das Attribut incognito des entsprechenden tabs.Tab- oder windows.Window-Objekts.

function saveTabData(tab) {
  if (tab.incognito) {
    return;
  } else {
    chrome.storage.local.set({data: tab.url});
  }
}