HTTP Permissions-Policy geolocation

Typ

Die geolocation-Direktive steuert den Zugriff auf die Geolocation API zur Abfrage des geografischen Standorts.

Syntax

Die Direktive definiert eine Allowlist für Ursprünge, die Geolocation-Daten abfragen dürfen.

http
Permissions-Policy: geolocation=(self)
Permissions-Policy: geolocation=(self "https://maps-widget.com")
Permissions-Policy: geolocation=()

Direktiven

Die Direktive unterstützt Standard-Allowlist-Werte für präzise Zugriffssteuerung.

self
Erlaubt Geolocation-Zugriff nur für das Hauptdokument des gleichen Ursprungs. Eingebettete iFrames von anderen Ursprüngen werden blockiert.
origin-list
Liste von Ursprüngen in Anführungszeichen, z.B. "https://maps.provider.example.com", die zusätzlich zum Hauptdokument Geolocation verwenden dürfen. Für Maps-Widgets.

Beispiele

Die folgenden Beispiele zeigen typische Anwendungsfälle für Delivery-Apps, Maps-Integration und Location-Based-Services.

Delivery-App mit Standortverfolgung

Eine Food-Delivery-App nutzt Geolocation für Lieferadresse und Tracking.

http
HTTP/1.1 200 OK
Content-Type: text/html
Permissions-Policy: geolocation=(self)

<!DOCTYPE html>
<html>
<head><title>Food Delivery</title></head>
<body>
  <button id="locate">Find My Location</button>
  <script>
    document.getElementById('locate').addEventListener('click', () => {
      navigator.geolocation.getCurrentPosition((position) => {
        const lat = position.coords.latitude;
        const lon = position.coords.longitude;
        console.log(`Location: ${lat}, ${lon}`);
        // Use for delivery address lookup
      });
    });
  </script>
</body>
</html>

E-Commerce mit Maps-Widget

Eine E-Commerce-Plattform erlaubt einem Maps-Provider Geolocation für Store-Locator.

http
HTTP/1.1 200 OK
Content-Type: text/html
Permissions-Policy: geolocation=(self "https://maps.google.com")

<!DOCTYPE html>
<html>
<head><title>Store Locator</title></head>
<body>
  <h1>Find Store Near You</h1>
  <iframe src="https://maps.google.com/maps/embed?origin=current"
          allow="geolocation"></iframe>
</body>
</html>

REST-API ohne Standort-Tracking

Ein API-Endpunkt deaktiviert alle Location-Services für maximale Privacy.

http
HTTP/1.1 200 OK
Content-Type: application/json
Permissions-Policy: geolocation=()

{
  "status": "success",
  "stores": []
}

Vorteile für die Systemarchitektur

  • Verhindert unerwünschtes Location-Tracking durch eingebettete Drittanbieter
  • Schützt vor Privacy-Verletzungen durch unbemerktes GPS-Tracking
  • Ermöglicht Location-Based-Services für vertrauenswürdige Ursprünge
  • Reduziert Fingerprinting-Risiken durch Standortdaten

Spezifikation

Definiert in der W3C Geolocation API Spezifikation. Erfordert HTTPS und explizite Nutzer-Permission per Browser-Prompt. GPS, WiFi und IP-basierte Positionierung.

Weitere Spezifikationen

Permissions-Policy Header, Permissions-Policy accelerometer