Permissions-Policy-Generator

Der Permissions-Policy-Generator erstellt den Header, mit dem Sie Kamera, Mikrofon, Standort und weitere Browser-Funktionen für Ihre Seite und eingebettete Frames sperren oder freigeben.

    Funktionen
    FunktionBeschreibungErlaubnisWeitere Origins (Leerzeichen getrennt)
    accelerometerBeschleunigungssensor
    Standard: eigene Seite
    ambient-light-sensorUmgebungslichtsensor
    Standard: eigene Seite
    autoplayAutomatische Medienwiedergabe
    Standard: eigene Seite
    bluetoothWeb Bluetooth
    Standard: eigene Seite
    cameraKamera
    Standard: eigene Seite
    display-captureBildschirmaufnahme
    Standard: eigene Seite
    encrypted-mediaVerschlüsselte Medien (EME, DRM)
    Standard: eigene Seite
    fullscreenVollbild
    Standard: eigene Seite
    gamepadGamepad
    Standard: eigene Seite
    geolocationStandort (Geolocation)
    Standard: eigene Seite
    gyroscopeGyroskop
    Standard: eigene Seite
    hidWebHID-Geräte
    Standard: eigene Seite
    identity-credentials-getFedCM-Anmeldung
    Standard: eigene Seite
    idle-detectionErkennung von Inaktivität
    Standard: eigene Seite
    local-fontsLokale Schriftarten
    Standard: eigene Seite
    magnetometerMagnetometer
    Standard: eigene Seite
    microphoneMikrofon
    Standard: eigene Seite
    midiWeb MIDI
    Standard: eigene Seite
    otp-credentialsSMS-Einmalcodes (WebOTP)
    Standard: eigene Seite
    paymentPayment Request API
    Standard: eigene Seite
    picture-in-pictureBild-im-Bild
    Standard: alle
    publickey-credentials-createPasskeys erstellen (WebAuthn)
    Standard: eigene Seite
    publickey-credentials-getPasskeys verwenden (WebAuthn)
    Standard: eigene Seite
    screen-wake-lockBildschirm wach halten
    Standard: eigene Seite
    serialWeb Serial
    Standard: eigene Seite
    storage-accessStorage Access API
    Standard: alle
    usbWebUSB
    Standard: eigene Seite
    web-shareTeilen-Dialog (Web Share)
    Standard: eigene Seite
    window-managementFensterverwaltung über mehrere Bildschirme
    Standard: eigene Seite
    xr-spatial-trackingWebXR (VR/AR)
    Standard: eigene Seite
    browsing-topicsTopics API (Werbeinteressen)
    Standard: alle
    Permissions-Policy
    allow-Attribut für ein eingebettetes iframe

    Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

    Permissions-Policy verstehen

    Der Permissions-Policy-Generator erstellt den Permissions-Policy Header, mit dem eine Website festlegt, welche Browser-Schnittstellen sie selbst und eingebettete Frames nutzen dürfen. So lassen sich Browser-Funktionen sperren, die Ihre Seite nie braucht, etwa Kamera, Mikrofon, geolocation, USB oder Bewegungssensoren. Schleust ein Angreifer Code ein oder bindet ein Werbe-Frame fremde Skripte ein, bleiben diese Schnittstellen trotzdem zu. Der Header ersetzt den älteren Feature-Policy-Header, der eine andere Schreibweise hatte.

    Die Syntax folgt den Structured Fields: camera=() sperrt die Kamera für alle, geolocation=(self "https://maps.example.de") erlaubt den Standort der eigenen Seite und einer eingebetteten Karte, fullscreen=* erlaubt Vollbild überall. Damit ein iframe eine Funktion tatsächlich nutzen kann, muss sie zweimal freigegeben sein: im Header der einbettenden Seite und im allow-Attribut des iframe, etwa <iframe src="…" allow="geolocation">. Der Generator gibt beides aus.

    Grenzen: Die Unterstützung ist uneinheitlich. Chromium-Browser werten den Header weitgehend aus, Firefox und Safari bislang nur einen Teil, das allow-Attribut ist breiter unterstützt. Unbekannte Funktionsnamen werden ignoriert und erscheinen höchstens als Warnung in der Konsole. Die Permissions-Policy ergänzt eine Content-Security-Policy, ersetzt sie aber nicht; eine CSP erstellen Sie mit dem CSP-Generator.

    Anleitung: Permissions-Policy-Generator in 4 Schritten

    1. Unter „Vorlage“ einen Ausgangspunkt wählen, etwa „Alles sperren“ oder „Typische Website“.
    2. Je Funktion in der Liste festlegen: gesperrt, nur eigene Seite, eigene Seite und weitere Origins oder alle.
    3. Weitere Origins bei Bedarf in das Feld der Funktion schreiben, z. B. https://maps.example.de.
    4. Bei „Ausgabe für“ HTTP-Header, nginx oder Apache wählen und den Code kopieren; das allow-Attribut für iframes steht darunter.

    Typische Anwendungsfälle

    • Eine Website ohne Kamera- oder Mikrofonbedarf gegen eingebettete Fremdinhalte absichern.
    • Einer eingebetteten Karte gezielt den Standortzugriff erlauben, allen anderen Frames nicht.
    • Die Meldung „Permissions-Policy fehlt“ aus einem Header-Scan beheben.
    • Eine alte Feature-Policy in die neue Schreibweise übertragen.
    Fragen

    Häufige Fragen

    Was ist der Unterschied zwischen Permissions-Policy und Feature-Policy?

    Feature-Policy war der Vorgänger mit anderer Schreibweise (camera 'none'). Permissions-Policy nutzt Structured Fields (camera=()). Browser, die Permissions-Policy kennen, bevorzugen sie; den alten Header braucht man heute nur noch selten.

    Was bedeutet camera=() genau?

    Die leere Liste sperrt die Kamera für alle Ursprünge, auch für die eigene Seite. Ruft ein Skript getUserMedia auf, lehnt der Browser ohne Nachfrage beim Nutzer ab.

    Muss ich jede Funktion aufführen?

    Nein. Sinnvoll ist, die Funktionen zu sperren, die Ihre Seite sicher nicht braucht, und die benötigten gezielt freizugeben. Nicht aufgeführte Funktionen behalten ihren Standard, meist self.

    Brauche ich zusätzlich das allow-Attribut am iframe?

    Ja, wenn ein eingebetteter Frame eine Funktion nutzen soll. Der Header erlaubt sie für den Ursprung, das allow-Attribut delegiert sie an genau diesen Frame. Fehlt eines von beiden, bleibt die Funktion gesperrt.

    Was passiert, wenn ich eine Funktion nicht aufführe?

    Dann gilt ihr Standard: Bei den meisten Funktionen ist das die eigene Seite (self), einige wie autoplay oder fullscreen haben eigene Voreinstellungen. Nicht aufgeführte Funktionen bleiben also nicht automatisch gesperrt.

    Kann ich mit der Permissions-Policy Tracking verhindern?

    Nur eingeschränkt. Sie sperrt Browser-Schnittstellen wie Standort, Kamera oder Sensoren, nicht aber Cookies, Skripte oder Netzwerkzugriffe. Dafür sind Content-Security-Policy und Cookie-Einstellungen zuständig.

    Weitere Werkzeuge

    Das könnte auch helfen

    Alle 558 Werkzeuge