Die Compliance-Schicht, auf die das Web angewiesen ist

Einwilligungsassistenten, Browser und Regulierungsbehörden sind alle auf die Daten angewiesen, die Sie produzieren. navigator.consent ist die API, die Ihre Compliance-Infrastruktur maschinenlesbar macht und Ihre CMP in die maßgebliche Datenquelle verwandelt, auf die das Einwilligungsökosystem baut.

Mehr als ein Banner

Nutzer sehen das Banner. Sie sehen nicht, was dahintersteckt: Anbieterverwaltung über Jurisdiktionen hinweg, rechtssichere Audit-Trails, Echtzeit-Einwilligungsweiterleitung an nachgelagerte Verarbeiter, mehrsprachige Erfahrungen, die den Bestimmtheitsanforderungen der DSGVO genügen.

Die vorgeschlagene Spezifikation navigator.consent macht diese Arbeit für das restliche Ökosystem sichtbar. Ihre Anbieterdeklarationen werden zu strukturierten Daten, die Einwilligungsassistenten direkt lesen. Ihr Einwilligungsstatus wird prüfbar by Design. Die CMP wird zur maßgeblichen Quelle, auf die die gesamte Einwilligungskette vertraut.

Vom Widerstand gegen Scraping zu offenen und strukturierten Daten

Heute reverse-engineeren Einwilligungsassistenten Ihr DOM: Sie scrapen Buttons, erraten Anbieterlisten und injizieren Klicks. Jedes CMP-Update kann jede Erweiterung zerstören. navigator.consent ersetzt dieses fragile Scraping durch eine strukturierte API: Sie deklarieren Ihre Anbieter und Zwecke, Assistenten lesen die Metadaten direkt.

1// Check which regulations apply
2const { regulations, jurisdiction } =
3 await navigator.consent.getRegulations();
4// → { regulations: ["gdpr", "eprivacy"], jurisdiction: "FR", … }
5
6// Register your consent interface
7const { registrationId } =
8 await navigator.consent.registerInterface({
9 vendor: "My CMP",
10 versionIdentifier: "2.4.1",
11 regulation: regulations[0] ?? "gdpr",
12 jurisdiction: jurisdiction ?? "EU",
13 });
14
15// Declare processing purposes with their legal basis
16await navigator.consent.registerPurposes([
17 {
18 id: "analytics",
19 name: "Analytics",
20 legalBasis: "legitimate_interest",
21 },
22 {
23 id: "advertising",
24 name: "Advertising",
25 legalBasis: "consent",
26 },
27 {
28 id: "functional",
29 name: "Functional",
30 legalBasis: "legitimate_interest",
31 },
32]);
33
34// Declare vendors and link them to purposes
35await navigator.consent.registerVendors([
36 {
37 id: "google-analytics",
38 name: "Google Analytics",
39 domain: "analytics.google.com",
40 privacyPolicyUrl: "https://…/privacy",
41 purposeIds: ["analytics"],
42 },
43 {
44 id: "hotjar",
45 name: "Hotjar",
46 domain: "hotjar.com",
47 privacyPolicyUrl: "https://…/privacy",
48 purposeIds: ["analytics", "advertising"],
49 },
50]);
51
52// Signal the assistant before showing your banner
53// Empty scope = general prompt; the assistant gets
54// a chance to apply user preferences first
55const snap = await navigator.consent.requestConsent();
56
57// If preferences were applied, skip your UI
58if (Object.values(snap.purposes).some(v => v !== "unset")) {
59 applyConsent(snap);
60} else {
61 showConsentBanner();
62}

Was Sie gewinnen

Erweiterungen zerstören Ihre UI nicht mehr

Keine Support-Tickets mehr, wenn Consent-o-matic ein Update veröffentlicht, das Ihr Banner zerstört. Erweiterungen interagieren mit strukturierten Metadaten, nicht mit Ihrem DOM.

CDN-Einsparungen im großen Maßstab

Wenn ein Einwilligungsassistent die Einwilligung über die API abwickelt, muss Ihr vollständiges UI-Bundle (JS, CSS, Schriften, Bilder) nie geladen werden. Im großen Maßstab ist das messbar.

Prüfbar by Design

Jede Präferenzänderung wird mit Herkunft und Zeitstempeln protokolliert. Compliance-Nachweise sind in das Protokoll eingebaut, nicht nachträglich angefügt.

Sie definieren die Referenzdaten

Einwilligungsassistenten sind auf Ihre Anbieter- und Zweckdeklarationen angewiesen. Das Ökosystem liest von Ihnen, nicht um Sie herum.

Eine Integration, jeder Assistent

Eine einzige API-Integration ersetzt N erweiterungsspezifische Behelfslösungen. Jeder aktuelle und künftige Einwilligungsassistent nutzt denselben Kanal.

Regulierungskontext inklusive

Keine eigene IP-Geolokalisierung mehr nötig, um das geltende Regelwerk zu ermitteln. Der Browser liefert den Regulierungskontext direkt über getRegulations(). Ein bewegliches Teil weniger, das Sie und Ihre Kunden gefährden kann.

Was sich nicht ändert

navigator.consent ist eine Transportschicht. Sie ersetzt nicht Ihre rechtlichen, Compliance- oder UX-Verantwortlichkeiten.

Ihre Einwilligungs-UI

Sie präsentieren Einwilligungsinformationen und sammeln Entscheidungen über Ihre eigene Oberfläche. Die API koordiniert, sie schreibt keine UX vor.

Ihre Compliance-Pflichten

Sie bleiben das führende System für Einwilligungsnachweise. Die API fügt einen Koordinierungskanal hinzu, keinen Ersatz.

Ihr Umfang und Ihre Persistenz

Sie definieren den Einwilligungsumfang (Origin, Domain, eTLD+1) und die Persistenzrichtlinie. Der Browser überschreibt dies nicht.

Ihre Anbieterbeziehungen

Offenes Registrierungsmodell. Keine Positivlisten, keine Attestierungsbarrieren, kein Vermittler zwischen Ihnen und Ihren Anbietern.

CMP-seitige Methoden

Alle diese Methoden laufen im DOM-Kontext. Skripte im Extension-Kontext können sie nicht aufrufen. Der Browser setzt diese Grenze durch.

Jetzt integrieren

Spezifikation

Die vollständige API-Spezifikation mit Typen, Methoden und Verhalten.

RFC lesen

JSON Schemas

Maschinenlesbare Payload-Definitionen für alle API-Typen.

Schemas ansehen

Shim & Demo

Ein funktionierender Polyfill zum lokalen Experimentieren.

Shim ausprobieren