{
    "schema": "https://saferpage.de/schemas/consent-banner-template.v1",
    "generated_at": "2026-06-24T16:05:15+00:00",
    "domain": "vwfs.de",
    "available": true,
    "scan": {
        "id": "42150c74-00ad-4d27-be4b-74bd452fe30d",
        "checked_at": "2026-06-24 08:17:12.482179+02"
    },
    "summary": "vwfs.de: Banner-Vorlage mit 6 Kategorien, 10 Dienstsignal(en), 10 Prior-Blocking-Regel(n) und Default-Denied Consent Mode.",
    "score": 91,
    "layout": {
        "type": "bottom_dialog",
        "first_layer_buttons": [
            "Ablehnen",
            "Einstellungen",
            "Akzeptieren"
        ],
        "privacy_trigger": "dauerhafter Button \"Datenschutz-Einstellungen\"",
        "accessibility_notes": [
            "role=dialog",
            "aria-labelledby",
            "Tastaturbedienung und Fokusführung vor Produktivstart testen"
        ]
    },
    "categories": [
        {
            "label": "Notwendig",
            "description": "Erforderliche Dienste für Sicherheit und Grundfunktionen.",
            "default_state": "active",
            "button_copy": "Immer aktiv",
            "id": "notwendig",
            "service_count": 0,
            "include_in_first_layer": true
        },
        {
            "label": "Statistik",
            "description": "Reichweitenmessung und Analyse erst nach Einwilligung.",
            "default_state": "denied",
            "button_copy": "Statistik erlauben",
            "id": "statistik",
            "service_count": 0,
            "include_in_first_layer": true
        },
        {
            "label": "Marketing / Tracking",
            "description": "Werbung, Profiling, Retargeting und Tracking erst nach Einwilligung.",
            "default_state": "denied",
            "button_copy": "Marketing erlauben",
            "id": "marketing",
            "service_count": 0,
            "include_in_first_layer": true
        },
        {
            "label": "Externe Medien",
            "description": "Videos, Karten, Captchas, Fonts und eingebettete Inhalte verzögert laden.",
            "default_state": "denied",
            "button_copy": "Externe Inhalte erlauben",
            "id": "externe_medien",
            "service_count": 0,
            "include_in_first_layer": true
        },
        {
            "label": "Komfort",
            "description": "Optionale Funktionen getrennt von Statistik und Marketing steuerbar machen.",
            "default_state": "denied",
            "button_copy": "Komfort erlauben",
            "id": "komfort",
            "service_count": 0,
            "include_in_first_layer": false
        },
        {
            "label": "Unklar / klassifizieren",
            "description": "Unklare Dienste bleiben aus, bis Zweck und Rechtsgrundlage geklärt sind.",
            "default_state": "denied",
            "button_copy": "Nicht aktivieren",
            "id": "unklar",
            "service_count": 10,
            "include_in_first_layer": false
        }
    ],
    "services": [
        {
            "id": "apikeys_civiccomputing_com_apikeys_civiccomputing_com",
            "name": "apikeys.civiccomputing.com",
            "provider": "apikeys.civiccomputing.com",
            "domain": "apikeys.civiccomputing.com",
            "purpose": "Sonstige",
            "category_id": "unklar",
            "category_label": "Unklar / klassifizieren",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": false,
            "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "assets_adobedtm_com_assets_adobedtm_com",
            "name": "assets.adobedtm.com",
            "provider": "assets.adobedtm.com",
            "domain": "assets.adobedtm.com",
            "purpose": "Sonstige",
            "category_id": "unklar",
            "category_label": "Unklar / klassifizieren",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": false,
            "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "cc_cdn_civiccomputing_com_cc_cdn_civiccomputing_com",
            "name": "cc.cdn.civiccomputing.com",
            "provider": "cc.cdn.civiccomputing.com",
            "domain": "cc.cdn.civiccomputing.com",
            "purpose": "Sonstige",
            "category_id": "unklar",
            "category_label": "Unklar / klassifizieren",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": false,
            "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "cdn_bronson_vwfs_io_cdn_bronson_vwfs_io",
            "name": "cdn.bronson.vwfs.io",
            "provider": "cdn.bronson.vwfs.io",
            "domain": "cdn.bronson.vwfs.io",
            "purpose": "Sonstige",
            "category_id": "unklar",
            "category_label": "Unklar / klassifizieren",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": false,
            "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "cdn3_userzoom_com_cdn3_userzoom_com",
            "name": "cdn3.userzoom.com",
            "provider": "cdn3.userzoom.com",
            "domain": "cdn3.userzoom.com",
            "purpose": "Sonstige",
            "category_id": "unklar",
            "category_label": "Unklar / klassifizieren",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": false,
            "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "cdn4_userzoom_com_cdn4_userzoom_com",
            "name": "cdn4.userzoom.com",
            "provider": "cdn4.userzoom.com",
            "domain": "cdn4.userzoom.com",
            "purpose": "Sonstige",
            "category_id": "unklar",
            "category_label": "Unklar / klassifizieren",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": false,
            "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "clapi_civiccomputing_com_clapi_civiccomputing_com",
            "name": "clapi.civiccomputing.com",
            "provider": "clapi.civiccomputing.com",
            "domain": "clapi.civiccomputing.com",
            "purpose": "Sonstige",
            "category_id": "unklar",
            "category_label": "Unklar / klassifizieren",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": false,
            "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "cms_assets_vwfs_com_cms_assets_vwfs_com",
            "name": "cms-assets.vwfs.com",
            "provider": "cms-assets.vwfs.com",
            "domain": "cms-assets.vwfs.com",
            "purpose": "Sonstige",
            "category_id": "unklar",
            "category_label": "Unklar / klassifizieren",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": false,
            "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "smetrics_vwfs_de_smetrics_vwfs_de",
            "name": "smetrics.vwfs.de",
            "provider": "smetrics.vwfs.de",
            "domain": "smetrics.vwfs.de",
            "purpose": "Sonstige",
            "category_id": "unklar",
            "category_label": "Unklar / klassifizieren",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": false,
            "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "vwfs_survalyzer_eu_vwfs_survalyzer_eu",
            "name": "vwfs.survalyzer.eu",
            "provider": "vwfs.survalyzer.eu",
            "domain": "vwfs.survalyzer.eu",
            "purpose": "Sonstige",
            "category_id": "unklar",
            "category_label": "Unklar / klassifizieren",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": false,
            "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
        }
    ],
    "consent_mode_defaults": {
        "ad_storage": "denied",
        "analytics_storage": "denied",
        "ad_user_data": "denied",
        "ad_personalization": "denied",
        "functionality_storage": "denied",
        "security_storage": "granted"
    },
    "snippets": [
        {
            "id": "html_banner",
            "label": "HTML/CSS/JS Banner-Vorlage",
            "placement": "Vor dem ersten nicht notwendigen Tag einbauen; Backend/Consent-Ledger ergänzen.",
            "code": "<link rel=\"stylesheet\" href=\"https://saferpage.de/assets/consent-banner.css?v=20260610a\">\n<div id=\"saferpage-consent\" class=\"sp-consent\" data-sp-host=\"vwfs.de\" data-sp-categories=\"[{&quot;id&quot;:&quot;notwendig&quot;,&quot;label&quot;:&quot;Notwendig&quot;,&quot;description&quot;:&quot;Erforderliche Dienste für Sicherheit und Grundfunktionen.&quot;,&quot;default_state&quot;:&quot;active&quot;},{&quot;id&quot;:&quot;statistik&quot;,&quot;label&quot;:&quot;Statistik&quot;,&quot;description&quot;:&quot;Reichweitenmessung und Analyse erst nach Einwilligung.&quot;,&quot;default_state&quot;:&quot;denied&quot;},{&quot;id&quot;:&quot;marketing&quot;,&quot;label&quot;:&quot;Marketing / Tracking&quot;,&quot;description&quot;:&quot;Werbung, Profiling, Retargeting und Tracking erst nach Einwilligung.&quot;,&quot;default_state&quot;:&quot;denied&quot;},{&quot;id&quot;:&quot;externe_medien&quot;,&quot;label&quot;:&quot;Externe Medien&quot;,&quot;description&quot;:&quot;Videos, Karten, Captchas, Fonts und eingebettete Inhalte verzögert laden.&quot;,&quot;default_state&quot;:&quot;denied&quot;},{&quot;id&quot;:&quot;komfort&quot;,&quot;label&quot;:&quot;Komfort&quot;,&quot;description&quot;:&quot;Optionale Funktionen getrennt von Statistik und Marketing steuerbar machen.&quot;,&quot;default_state&quot;:&quot;denied&quot;},{&quot;id&quot;:&quot;unklar&quot;,&quot;label&quot;:&quot;Unklar / klassifizieren&quot;,&quot;description&quot;:&quot;Unklare Dienste bleiben aus, bis Zweck und Rechtsgrundlage geklärt sind.&quot;,&quot;default_state&quot;:&quot;denied&quot;}]\" hidden>\n  <div class=\"sp-consent__panel\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"sp-consent-title\">\n    <h2 id=\"sp-consent-title\">Datenschutz-Einstellungen</h2>\n    <p>Wir verwenden notwendige Dienste. Statistik, Marketing und externe Inhalte werden erst nach Ihrer Einwilligung geladen.</p>\n    <div id=\"sp-consent-options\"></div>\n    <div class=\"sp-consent__actions\">\n      <button type=\"button\" data-sp-consent=\"reject\">Ablehnen</button>\n      <button type=\"button\" data-sp-consent=\"settings\">Einstellungen</button>\n      <button type=\"button\" data-sp-consent=\"accept\">Akzeptieren</button>\n    </div>\n  </div>\n</div>\n<button id=\"saferpage-consent-trigger\" type=\"button\">Datenschutz-Einstellungen</button>\n<script src=\"https://saferpage.de/assets/consent-banner.js?v=20260610a\" defer></script>"
        },
        {
            "id": "privacy_trigger",
            "label": "Privacy Trigger Link",
            "placement": "Footer, Datenschutzseite und Cookie-Erklärung",
            "code": "<button type=\"button\" id=\"saferpage-consent-trigger\">Datenschutz-Einstellungen</button>"
        },
        {
            "id": "gtm_event",
            "label": "GTM Event",
            "placement": "Tag Manager Trigger nach Consent-Update",
            "code": "window.addEventListener('saferpage-consent-update', function(e){ dataLayer.push({event:'saferpage_consent_update', consent:e.detail}); });"
        }
    ],
    "quality_gates": [
        {
            "id": "default_denied",
            "label": "Default Denied vor Tags",
            "pass_condition": "Google-/Marketing-/Analytics-Tags laden erst nach restriktivem Default."
        },
        {
            "id": "equal_reject",
            "label": "Ablehnen gleichwertig",
            "pass_condition": "Ablehnen ist auf erster Ebene ähnlich sichtbar wie Akzeptieren."
        },
        {
            "id": "persistent_trigger",
            "label": "Widerruf dauerhaft erreichbar",
            "pass_condition": "Privacy Trigger bleibt nach Entscheidung sichtbar."
        },
        {
            "id": "prior_blocking",
            "label": "Prior Blocking",
            "pass_condition": "Dienste mit prior_blocking_required=true werden vor Freigabe technisch blockiert."
        },
        {
            "id": "consent_ledger",
            "label": "Consent Ledger",
            "pass_condition": "Version, Zeit, Kategorie, Region und Widerruf werden im Betreiber-System protokolliert."
        }
    ],
    "autoblocking_plan": {
        "schema": "https://saferpage.de/schemas/consent-autoblocking-plan.v1",
        "generated_at": "2026-06-24T16:05:15+00:00",
        "domain": "vwfs.de",
        "summary": "vwfs.de: 10 Auto-Blocking-Regel(n) fuer Skripte, Iframes und Tag-Manager-Trigger aus SaferPage-Dienstsignalen.",
        "rule_count": 10,
        "rules": [
            {
                "id": "apikeys_civiccomputing_com_apikeys_civiccomputing_com",
                "service": "apikeys.civiccomputing.com",
                "provider": "apikeys.civiccomputing.com",
                "domain_pattern": "*.apikeys.civiccomputing.com",
                "category_id": "unklar",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:unklar",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"unklar\" data-src=\"https://apikeys.civiccomputing.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://apikeys.civiccomputing.com/...\" src=\"about:blank\" title=\"apikeys.civiccomputing.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "assets_adobedtm_com_assets_adobedtm_com",
                "service": "assets.adobedtm.com",
                "provider": "assets.adobedtm.com",
                "domain_pattern": "*.assets.adobedtm.com",
                "category_id": "unklar",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:unklar",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"unklar\" data-src=\"https://assets.adobedtm.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://assets.adobedtm.com/...\" src=\"about:blank\" title=\"assets.adobedtm.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "cc_cdn_civiccomputing_com_cc_cdn_civiccomputing_com",
                "service": "cc.cdn.civiccomputing.com",
                "provider": "cc.cdn.civiccomputing.com",
                "domain_pattern": "*.cc.cdn.civiccomputing.com",
                "category_id": "unklar",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:unklar",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"unklar\" data-src=\"https://cc.cdn.civiccomputing.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://cc.cdn.civiccomputing.com/...\" src=\"about:blank\" title=\"cc.cdn.civiccomputing.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "cdn_bronson_vwfs_io_cdn_bronson_vwfs_io",
                "service": "cdn.bronson.vwfs.io",
                "provider": "cdn.bronson.vwfs.io",
                "domain_pattern": "*.cdn.bronson.vwfs.io",
                "category_id": "unklar",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:unklar",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"unklar\" data-src=\"https://cdn.bronson.vwfs.io/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://cdn.bronson.vwfs.io/...\" src=\"about:blank\" title=\"cdn.bronson.vwfs.io\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "cdn3_userzoom_com_cdn3_userzoom_com",
                "service": "cdn3.userzoom.com",
                "provider": "cdn3.userzoom.com",
                "domain_pattern": "*.cdn3.userzoom.com",
                "category_id": "unklar",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:unklar",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"unklar\" data-src=\"https://cdn3.userzoom.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://cdn3.userzoom.com/...\" src=\"about:blank\" title=\"cdn3.userzoom.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "cdn4_userzoom_com_cdn4_userzoom_com",
                "service": "cdn4.userzoom.com",
                "provider": "cdn4.userzoom.com",
                "domain_pattern": "*.cdn4.userzoom.com",
                "category_id": "unklar",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:unklar",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"unklar\" data-src=\"https://cdn4.userzoom.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://cdn4.userzoom.com/...\" src=\"about:blank\" title=\"cdn4.userzoom.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "clapi_civiccomputing_com_clapi_civiccomputing_com",
                "service": "clapi.civiccomputing.com",
                "provider": "clapi.civiccomputing.com",
                "domain_pattern": "*.clapi.civiccomputing.com",
                "category_id": "unklar",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:unklar",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"unklar\" data-src=\"https://clapi.civiccomputing.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://clapi.civiccomputing.com/...\" src=\"about:blank\" title=\"clapi.civiccomputing.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "cms_assets_vwfs_com_cms_assets_vwfs_com",
                "service": "cms-assets.vwfs.com",
                "provider": "cms-assets.vwfs.com",
                "domain_pattern": "*.cms-assets.vwfs.com",
                "category_id": "unklar",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:unklar",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"unklar\" data-src=\"https://cms-assets.vwfs.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://cms-assets.vwfs.com/...\" src=\"about:blank\" title=\"cms-assets.vwfs.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "smetrics_vwfs_de_smetrics_vwfs_de",
                "service": "smetrics.vwfs.de",
                "provider": "smetrics.vwfs.de",
                "domain_pattern": "*.smetrics.vwfs.de",
                "category_id": "unklar",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:unklar",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"unklar\" data-src=\"https://smetrics.vwfs.de/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://smetrics.vwfs.de/...\" src=\"about:blank\" title=\"smetrics.vwfs.de\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "vwfs_survalyzer_eu_vwfs_survalyzer_eu",
                "service": "vwfs.survalyzer.eu",
                "provider": "vwfs.survalyzer.eu",
                "domain_pattern": "*.vwfs.survalyzer.eu",
                "category_id": "unklar",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:unklar",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"unklar\" data-src=\"https://vwfs.survalyzer.eu/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://vwfs.survalyzer.eu/...\" src=\"about:blank\" title=\"vwfs.survalyzer.eu\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            }
        ],
        "loader_snippet": "window.addEventListener('saferpage-consent-update', function(event) {\n  var consent = event.detail || {};\n  document.querySelectorAll('script[type=\"text/plain\"][data-saferpage-category][data-src]').forEach(function(node) {\n    var category = node.getAttribute('data-saferpage-category');\n    if (!consent[category] || node.getAttribute('data-saferpage-loaded') === 'true') return;\n    var script = document.createElement('script');\n    Array.prototype.slice.call(node.attributes).forEach(function(attr) {\n      if (attr.name === 'type' || attr.name === 'data-src' || attr.name === 'data-saferpage-category') return;\n      script.setAttribute(attr.name, attr.value);\n    });\n    script.src = node.getAttribute('data-src');\n    script.async = true;\n    node.setAttribute('data-saferpage-loaded', 'true');\n    node.parentNode.insertBefore(script, node.nextSibling);\n  });\n  document.querySelectorAll('iframe[data-saferpage-category][data-src]').forEach(function(node) {\n    var category = node.getAttribute('data-saferpage-category');\n    if (!consent[category] || node.src === node.getAttribute('data-src')) return;\n    node.src = node.getAttribute('data-src');\n  });\n});",
        "gtm_setup": [
            {
                "step": 1,
                "label": "Consent Initialization",
                "action": "Default Consent Mode vor allen Marketing-/Analytics-Tags auf denied setzen."
            },
            {
                "step": 2,
                "label": "Tag Trigger pruefen",
                "action": "Jeder nicht notwendige Tag braucht Kategoriebedingung aus saferpage_consent_update."
            },
            {
                "step": 3,
                "label": "Unklassifizierte Tags blockieren",
                "action": "Neue oder unbekannte Dienste bleiben aus, bis Kategorie, Zweck und Rechtsgrundlage freigegeben sind."
            },
            {
                "step": 4,
                "label": "Reject/GPC testen",
                "action": "Nach Ablehnen und GPC duerfen keine Marketing-/Analytics-/Embed-Tags nachladen."
            }
        ],
        "placeholder_policy": {
            "visual_embeds": "Videos, Karten, Captchas und Social Widgets mit Platzhalter anzeigen und erst nach Kategorie-Freigabe laden.",
            "copy": "Dieser externe Inhalt ist blockiert, bis Sie die passende Datenschutz-Kategorie aktivieren.",
            "preview_limit": "Keine externen Preview-Bilder laden, wenn diese bereits Drittanbieter-Kontakte ausloesen."
        },
        "links": {
            "blocking_json": "https://saferpage.de/consent-banner/vwfs.de/blocking-json",
            "blocking_markdown": "https://saferpage.de/consent-banner/vwfs.de/blocking-md",
            "banner_center": "https://saferpage.de/consent-banner/vwfs.de",
            "cmp_plan": "https://saferpage.de/consent/vwfs.de/cmp-plan",
            "consent_journey": "https://saferpage.de/consent-journey/vwfs.de",
            "consent_mode": "https://saferpage.de/consent-mode/vwfs.de",
            "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren"
        },
        "disclaimer": "Auto-Blocking-Regeln sind Betreiber-Vorlagen. Produktivbetrieb braucht CMP-Freigabe, Tests je Consent-Zustand, CSP-/Tag-Manager-Abgleich und fachliche Freigabe."
    },
    "links": {
        "banner_center": "https://saferpage.de/consent-banner/vwfs.de",
        "json": "https://saferpage.de/consent-banner/vwfs.de/export",
        "csv": "https://saferpage.de/consent-banner/vwfs.de/export-csv",
        "markdown": "https://saferpage.de/consent-banner/vwfs.de/template-md",
        "blocking_json": "https://saferpage.de/consent-banner/vwfs.de/blocking-json",
        "blocking_markdown": "https://saferpage.de/consent-banner/vwfs.de/blocking-md",
        "consent_center": "https://saferpage.de/consent/vwfs.de",
        "cmp_plan": "https://saferpage.de/consent/vwfs.de/cmp-plan",
        "consent_ledger": "https://saferpage.de/consent-ledger/vwfs.de",
        "consent_region": "https://saferpage.de/consent-region/vwfs.de",
        "consent_journey": "https://saferpage.de/consent-journey/vwfs.de",
        "consent_mode": "https://saferpage.de/consent-mode/vwfs.de",
        "cookie_declaration": "https://saferpage.de/cookies/vwfs.de",
        "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
        "report": "https://saferpage.de/vwfs.de"
    },
    "sources": [
        {
            "title": "Termly Preference Center",
            "url": "https://support.termly.io/hc/en-us/articles/30710537528977-How-can-I-let-my-users-manage-their-cookie-preferences",
            "note": "Referenz für installierbares Preference Center."
        },
        {
            "title": "Cookiebot custom banner",
            "url": "https://support.cookiebot.com/hc/en-us/articles/360003921454-Can-I-build-my-own-fully-customized-cookie-consent-banner",
            "note": "Referenz für anpassbare Banner-Elemente und Kategorien."
        },
        {
            "title": "Usercentrics banner layouts",
            "url": "https://usercentrics.com/knowledge-hub/usercentrics-cmp-consent-banner-layouts/",
            "note": "Referenz für Banner-Layout-Varianten und Widget-Muster."
        }
    ],
    "disclaimer": "Diese Banner-Vorlage ist kein vollständiger CMP-Dienst. Betreiber müssen prior blocking, Backend/Consent-Ledger, Rechtsgrundlagen, Barrierefreiheit, Lokalisierung und Re-Scan vor Produktivstart fachlich freigeben."
}
