Webseiten: wie der Permissions Policy Header beim Datenschutz hilft

Table of Contents

Der “Permissions Policy”-Header ist ein HTTP-Header, der verwendet wird, um die Berechtigungen und Zugriffsrichtlinien für verschiedene Funktionen und Ressourcen in einer Webanwendung festzulegen. Dieser Header ermöglicht es Webentwicklern, die Kontrolle über den Zugriff auf bestimmte APIs und Funktionen in ihren Webanwendungen zu übernehmen. Hier sind einige der Berechtigungen und Funktionen, die im “Permissions Policy”-Header gesteuert werden können:

  1. Geolocation: Mit dieser Berechtigung können Sie steuern, ob die Webseite auf die Geolokalisierungsfunktionen des Geräts zugreifen darf.Beispiel: Permissions-Policy: geolocation=(self)
  2. Kamera und Mikrofon: Diese Berechtigung kontrolliert den Zugriff auf die Kamera und das Mikrofon des Geräts, die für Video- und Audioaufnahmen verwendet werden.Beispiel: Permissions-Policy: camera=(), microphone=(self)
  3. Automatisches Abspielen von Medien: Mit dieser Berechtigung können Sie steuern, ob Multimedia-Inhalte wie Videos und Audiodateien automatisch abgespielt werden dürfen.Beispiel: Permissions-Policy: autoplay=()
  4. Fullscreen-Modus: Diese Berechtigung erlaubt oder blockiert den Wechsel in den Vollbildmodus.Beispiel: Permissions-Policy: fullscreen=(self)
  5. Eingabeaufforderungen (Prompts): Hiermit können Sie steuern, ob Benutzeraufforderungen wie Standortfreigabe- oder Benachrichtigungsdialoge angezeigt werden dürfen.Beispiel: Permissions-Policy: sync-xhr=()
  6. Scripting-Richtlinien: Mit dieser Berechtigung können Sie die Verwendung von Skripten, eval(), und verwandten Funktionen steuern.Beispiel: Permissions-Policy: script=(self 'unsafe-inline')
  7. Bildschirmaufzeichnung: Steuert den Zugriff auf APIs, die Bildschirmaufzeichnungen ermöglichen.Beispiel: Permissions-Policy: screen-wake-lock=()
  8. Mixed Content: Diese Berechtigung hilft, gemischten Inhalt (HTTP-Ressourcen auf einer HTTPS-Seite) zu steuern.Beispiel: Permissions-Policy: mixed-content=(self)
  9. WebSockets: Kontrolliert den Zugriff auf WebSockets.Beispiel: Permissions-Policy: websockets=(self)
  10. VR und AR: Steuert den Zugriff auf Virtual Reality (VR) und Augmented Reality (AR)-Funktionen.Beispiel: Permissions-Policy: vr=(self)

Nginx Server Konfiguration

Fügen Sie einfach in Ihre Server Konfiguration

add_header Permissions-Policy: accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), cross-origin-isolated=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), geolocation=(), gyroscope=(), keyboard-map=(), magnetometer=(), microphone=(), midi=(), navigation-override=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), sync-xhr=(), usb=(), web-share=(), xr-spatial-tracking=(), clipboard-read=(), clipboard-write=(), gamepad=(), speaker-selection=(), conversion-measurement=(), focus-without-user-activation=(), hid=(), idle-detection=(), interest-cohort=(), serial=(), sync-script=(), trust-token-redemption=(), window-placement=(), vertical-scroll=();

ein um alle möglichen Sensoren per Default zu deaktivieren.

Apache Server Konfiguration

Fügen Sie entweder direkt in die Seitenkonfiguration folgende Zeile ein

Header set Permissions-Policy "accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), cross-origin-isolated=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), geolocation=(), gyroscope=(), keyboard-map=(), magnetometer=(), microphone=(), midi=(), navigation-override=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), sync-xhr=(), usb=(), web-share=(), xr-spatial-tracking=(), clipboard-read=(), clipboard-write=(), gamepad=(), speaker-selection=(), conversion-measurement=(), focus-without-user-activation=(), hid=(), idle-detection=(), interest-cohort=(), serial=(), sync-script=(), trust-token-redemption=(), window-placement=(), vertical-scroll=()"

oder fügen sie diese in Ihr .htaccess File ein. Achten Sie darauf, dass Ihre Apache Konfiguration das Plugin “Headers” aktiviert hat.

Weiterführende Links

Falls Sie noch nicht wissen, welche Sensoren Ihre Webseite genau braucht, nutzen Sie den Permission-Policy Generator hier.

Weitere Erklärungen zum Thema Permission Policy Einstellmöglichkeiten finden Sie hier.

Related Posts

Datenschutz im Krankenhaus

Der Umgang mit persönlichen Daten und besonders schützenswerten Daten wie Gesundheitsdaten ist seit je her ein wichtiges Thema beim Krankenhausaufenthalt. Berechtigt ist die Sorge, dass Zimmernachbarn sensible Daten aus Arztgesprächen mithören oder Patientenakten an Unbefugte weitergegeben werden können. Mit der Datenschutz Grundverordnung (DSGVO), Patienten-Datenschutzgesetz (PDSG) und der ärztlichen Schweigepflicht stehen aber zwei Pfeiler dem unachtsamen Umgang mit persönlichen Daten entgegen. Eine zentrale Rolle bei der Einhaltung der Prinzipien der Datensparsamkeit, Integrität und Vertraulichkeit im Umgang mit Patientenakten spielt dabei der Datenschutzbeauftragter des Krankenhauses.

Read More

DSGVO

Bis 2018 regelte das Bundesdatenschutzgesetz (BDSG) den Datenaustausch in Deutschland. Der Leitsatz steht in § 5 BDSG: es ist Ihnen untersagt, personenbezogene Daten unbefugt zu erheben, zu verarbeiten oder zu nutzen.

Read More

DSGVO Erwägungsgrund 13

Berücksichtigung von Kleinstunternehmen sowie kleinen und mittleren Unternehmen Die Datenschutz-Grundverordnung (DSGVO) der Europäischen Union wurde mit dem Ziel geschaffen, ein einheitliches Datenschutzniveau für natürliche Personen innerhalb der Union sicherzustellen. Sie zielt darauf ab, Unterschiede zu beseitigen, die den freien Verkehr personenbezogener Daten im Binnenmarkt behindern könnten. Dabei ist es von entscheidender Bedeutung, dass die DSGVO Rechtssicherheit und Transparenz für Wirtschaftsteilnehmer, einschließlich Kleinstunternehmen sowie kleiner und mittlerer Unternehmen (KMU), schafft.

Read More