HTTP Permissions-Policy local-fonts

Typ

Die local-fonts-Direktive steuert den Zugriff auf die Local Font Access API zur Auflistung installierter Systemschriftarten.

Syntax

Die Direktive definiert eine Allowlist für Ursprünge, die lokale Fonts abfragen dürfen.

http
Permissions-Policy: local-fonts=(self)
Permissions-Policy: local-fonts=(self "https://editor.design-tool.com")
Permissions-Policy: local-fonts=()

Direktiven

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

self
Erlaubt Local-Font-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://canvas.editor.example.com", die zusätzlich zum Hauptdokument Font-Zugriff erhalten. Für Design-Werkzeuge.

Beispiele

Die folgenden Beispiele zeigen typische Anwendungsfälle für Design-Tools, Font-Picker und grafische Editoren.

Online-Design-Tool mit Font-Picker

Ein Web-basiertes Design-Tool nutzt Local Font Access für Systemschriftarten-Auswahl.

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

<!DOCTYPE html>
<html>
<head><title>Design Studio</title></head>
<body>
  <button id="pick-font">Choose Font</button>
  <script>
    document.getElementById('pick-font').addEventListener('click', async () => {
      const fonts = await window.queryLocalFonts();
      fonts.forEach(font => {
        console.log(`${font.family} - ${font.style}`);
      });
      // Show font picker UI
    });
  </script>
</body>
</html>

Embedded Graphics-Editor

Eine Content-Plattform erlaubt einem eingebetteten Editor Local-Font-Zugriff.

http
HTTP/1.1 200 OK
Content-Type: text/html
Permissions-Policy: local-fonts=(self "https://editor.graphics-tool.example.com")

<!DOCTYPE html>
<html>
<head><title>Content Creation</title></head>
<body>
  <iframe src="https://editor.graphics-tool.example.com/canvas"
          allow="local-fonts"></iframe>
</body>
</html>

REST-API ohne Font-Enumeration

Ein API-Endpunkt deaktiviert Local-Font-Access für Privacy-Schutz.

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

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

Vorteile für die Systemarchitektur

  • Ermöglicht professionelle Design-Tools mit lokalem Font-Zugriff
  • Verhindert Font-basiertes Fingerprinting durch Drittanbieter
  • Unterstützt native-ähnliche Font-Picker in Web-Anwendungen
  • Reduziert Privacy-Risiken durch Policy-basierte Kontrolle

Spezifikation

Definiert in der W3C Local Font Access API Spezifikation. Chromium-basierte Browser als Origin Trial. Erfordert explizite Nutzer-Permission per Prompt.

Weitere Spezifikationen

Permissions-Policy Header, Content-Security-Policy Header