{
    "schema": "https://saferpage.de/schemas/consent-banner-template.v1",
    "generated_at": "2026-07-03T03:23:08+00:00",
    "domain": "polynorm.ch",
    "available": true,
    "scan": {
        "id": "3d3748a6-0a49-422b-9bde-04b2f51bcb6d",
        "checked_at": "2026-07-02 14:03:51.557425+02"
    },
    "summary": "polynorm.ch: Banner-Vorlage mit 6 Kategorien, 24 Dienstsignal(en), 22 Prior-Blocking-Regel(n) und Default-Denied Consent Mode.",
    "score": 85,
    "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": 2,
            "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": 1,
            "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": 1,
            "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": 20,
            "include_in_first_layer": false
        }
    ],
    "services": [
        {
            "id": "media_licdn_com_media_licdn_com",
            "name": "media.licdn.com",
            "provider": "media.licdn.com",
            "domain": "media.licdn.com",
            "purpose": "Sonstige",
            "category_id": "externe_medien",
            "category_label": "Externe Medien",
            "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": "lang_linkedin_com",
            "name": "lang",
            "provider": "linkedin.com",
            "domain": "linkedin.com",
            "purpose": "Funktional",
            "category_id": "komfort",
            "category_label": "Komfort",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": true,
            "privacy_relevant": false,
            "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "cf_bm_linkedin_com",
            "name": "__cf_bm",
            "provider": "linkedin.com",
            "domain": "linkedin.com",
            "purpose": "Unklar",
            "category_id": "unklar",
            "category_label": "Unklar / vor Consent prüfen",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": true,
            "privacy_relevant": false,
            "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "px3_protechts_net",
            "name": "_px3",
            "provider": "protechts.net",
            "domain": "protechts.net",
            "purpose": "Unklar",
            "category_id": "unklar",
            "category_label": "Unklar / vor Consent prüfen",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": true,
            "privacy_relevant": false,
            "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "pxvid_protechts_net",
            "name": "_pxvid",
            "provider": "protechts.net",
            "domain": "protechts.net",
            "purpose": "Unklar",
            "category_id": "unklar",
            "category_label": "Unklar / vor Consent prüfen",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": true,
            "privacy_relevant": false,
            "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "bcookie_linkedin_com",
            "name": "bcookie",
            "provider": "linkedin.com",
            "domain": "linkedin.com",
            "purpose": "Unklar",
            "category_id": "unklar",
            "category_label": "Unklar / vor Consent prüfen",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": true,
            "privacy_relevant": false,
            "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "bscookie_linkedin_com",
            "name": "bscookie",
            "provider": "linkedin.com",
            "domain": "linkedin.com",
            "purpose": "Unklar",
            "category_id": "unklar",
            "category_label": "Unklar / vor Consent prüfen",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": true,
            "privacy_relevant": false,
            "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "client_protechts_net_client_protechts_net",
            "name": "client.protechts.net",
            "provider": "client.protechts.net",
            "domain": "client.protechts.net",
            "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": "collector_pxdojv695v_protechts_net_collector_pxdojv695v_protechts_net",
            "name": "collector-pxdojv695v.protechts.net",
            "provider": "collector-pxdojv695v.protechts.net",
            "domain": "collector-pxdojv695v.protechts.net",
            "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": "crcldu_com_crcldu_com",
            "name": "crcldu.com",
            "provider": "crcldu.com",
            "domain": "crcldu.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": "fst_ec_perimeterx_net_fst_ec_perimeterx_net",
            "name": "fst-ec.perimeterx.net",
            "provider": "fst-ec.perimeterx.net",
            "domain": "fst-ec.perimeterx.net",
            "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": "ift_px_cloud_net_ift_px_cloud_net",
            "name": "ift.px-cloud.net",
            "provider": "ift.px-cloud.net",
            "domain": "ift.px-cloud.net",
            "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": "li_protechts_net_li_protechts_net",
            "name": "li.protechts.net",
            "provider": "li.protechts.net",
            "domain": "li.protechts.net",
            "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": "li_alerts_linkedin_com",
            "name": "li_alerts",
            "provider": "linkedin.com",
            "domain": "linkedin.com",
            "purpose": "Unklar",
            "category_id": "unklar",
            "category_label": "Unklar / vor Consent prüfen",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": true,
            "privacy_relevant": false,
            "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "li_gc_linkedin_com",
            "name": "li_gc",
            "provider": "linkedin.com",
            "domain": "linkedin.com",
            "purpose": "Unklar",
            "category_id": "unklar",
            "category_label": "Unklar / vor Consent prüfen",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": true,
            "privacy_relevant": false,
            "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "lidc_linkedin_com",
            "name": "lidc",
            "provider": "linkedin.com",
            "domain": "linkedin.com",
            "purpose": "Unklar",
            "category_id": "unklar",
            "category_label": "Unklar / vor Consent prüfen",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": true,
            "privacy_relevant": false,
            "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "linkedin_com_linkedin_com",
            "name": "linkedin.com",
            "provider": "linkedin.com",
            "domain": "linkedin.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": "polynorm_containers_piwik_pro_polynorm_containers_piwik_pro",
            "name": "polynorm.containers.piwik.pro",
            "provider": "polynorm.containers.piwik.pro",
            "domain": "polynorm.containers.piwik.pro",
            "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": "ppms_privacy_19f3cb90_9eaf_4610_8480_9313ae23f149_polynorm_ch",
            "name": "ppms_privacy_19f3cb90-9eaf-4610-8480-9313ae23f149",
            "provider": "polynorm.ch",
            "domain": "polynorm.ch",
            "purpose": "Unklar",
            "category_id": "unklar",
            "category_label": "Unklar / vor Consent prüfen",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": true,
            "privacy_relevant": false,
            "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "pxcts_protechts_net",
            "name": "pxcts",
            "provider": "protechts.net",
            "domain": "protechts.net",
            "purpose": "Unklar",
            "category_id": "unklar",
            "category_label": "Unklar / vor Consent prüfen",
            "consent_mode_key": "functionality_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": true,
            "privacy_relevant": false,
            "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "static_licdn_com_static_licdn_com",
            "name": "static.licdn.com",
            "provider": "static.licdn.com",
            "domain": "static.licdn.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": "tzm_protechts_net_tzm_protechts_net",
            "name": "tzm.protechts.net",
            "provider": "tzm.protechts.net",
            "domain": "tzm.protechts.net",
            "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": "jsessionid_linkedin_com",
            "name": "JSESSIONID",
            "provider": "linkedin.com",
            "domain": "linkedin.com",
            "purpose": "Notwendig",
            "category_id": "notwendig",
            "category_label": "Notwendig",
            "consent_mode_key": "security_storage",
            "default_state": "active",
            "prior_blocking_required": false,
            "pre_consent": true,
            "privacy_relevant": false,
            "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "csrftoken_polynorm_ch",
            "name": "csrftoken",
            "provider": "polynorm.ch",
            "domain": "polynorm.ch",
            "purpose": "Notwendig",
            "category_id": "notwendig",
            "category_label": "Notwendig",
            "consent_mode_key": "security_storage",
            "default_state": "active",
            "prior_blocking_required": false,
            "pre_consent": true,
            "privacy_relevant": false,
            "evidence": "Vor Consent sichtbar. 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=\"polynorm.ch\" 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-07-03T03:23:08+00:00",
        "domain": "polynorm.ch",
        "summary": "polynorm.ch: 22 Auto-Blocking-Regel(n) für Skripte, Iframes und Tag-Manager-Trigger aus SaferPage-Dienstsignalen.",
        "rule_count": 22,
        "rules": [
            {
                "id": "media_licdn_com_media_licdn_com",
                "service": "media.licdn.com",
                "provider": "media.licdn.com",
                "domain_pattern": "*.media.licdn.com",
                "category_id": "externe_medien",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:externe_medien",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"externe_medien\" data-src=\"https://media.licdn.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"externe_medien\" data-src=\"https://media.licdn.com/...\" src=\"about:blank\" title=\"media.licdn.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.externe_medien equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "lang_linkedin_com",
                "service": "lang",
                "provider": "linkedin.com",
                "domain_pattern": "*.linkedin.com",
                "category_id": "komfort",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:komfort",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"komfort\" data-src=\"https://linkedin.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"komfort\" data-src=\"https://linkedin.com/...\" src=\"about:blank\" title=\"lang\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.komfort equals true.",
                "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "cf_bm_linkedin_com",
                "service": "__cf_bm",
                "provider": "linkedin.com",
                "domain_pattern": "*.linkedin.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://linkedin.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://linkedin.com/...\" src=\"about:blank\" title=\"__cf_bm\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "px3_protechts_net",
                "service": "_px3",
                "provider": "protechts.net",
                "domain_pattern": "*.protechts.net",
                "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://protechts.net/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://protechts.net/...\" src=\"about:blank\" title=\"_px3\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "pxvid_protechts_net",
                "service": "_pxvid",
                "provider": "protechts.net",
                "domain_pattern": "*.protechts.net",
                "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://protechts.net/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://protechts.net/...\" src=\"about:blank\" title=\"_pxvid\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "bcookie_linkedin_com",
                "service": "bcookie",
                "provider": "linkedin.com",
                "domain_pattern": "*.linkedin.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://linkedin.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://linkedin.com/...\" src=\"about:blank\" title=\"bcookie\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "bscookie_linkedin_com",
                "service": "bscookie",
                "provider": "linkedin.com",
                "domain_pattern": "*.linkedin.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://linkedin.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://linkedin.com/...\" src=\"about:blank\" title=\"bscookie\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "client_protechts_net_client_protechts_net",
                "service": "client.protechts.net",
                "provider": "client.protechts.net",
                "domain_pattern": "*.client.protechts.net",
                "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://client.protechts.net/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://client.protechts.net/...\" src=\"about:blank\" title=\"client.protechts.net\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "collector_pxdojv695v_protechts_net_collector_pxdojv695v_protechts_net",
                "service": "collector-pxdojv695v.protechts.net",
                "provider": "collector-pxdojv695v.protechts.net",
                "domain_pattern": "*.collector-pxdojv695v.protechts.net",
                "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://collector-pxdojv695v.protechts.net/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://collector-pxdojv695v.protechts.net/...\" src=\"about:blank\" title=\"collector-pxdojv695v.protechts.net\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "crcldu_com_crcldu_com",
                "service": "crcldu.com",
                "provider": "crcldu.com",
                "domain_pattern": "*.crcldu.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://crcldu.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://crcldu.com/...\" src=\"about:blank\" title=\"crcldu.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "fst_ec_perimeterx_net_fst_ec_perimeterx_net",
                "service": "fst-ec.perimeterx.net",
                "provider": "fst-ec.perimeterx.net",
                "domain_pattern": "*.fst-ec.perimeterx.net",
                "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://fst-ec.perimeterx.net/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://fst-ec.perimeterx.net/...\" src=\"about:blank\" title=\"fst-ec.perimeterx.net\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "ift_px_cloud_net_ift_px_cloud_net",
                "service": "ift.px-cloud.net",
                "provider": "ift.px-cloud.net",
                "domain_pattern": "*.ift.px-cloud.net",
                "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://ift.px-cloud.net/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://ift.px-cloud.net/...\" src=\"about:blank\" title=\"ift.px-cloud.net\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "li_protechts_net_li_protechts_net",
                "service": "li.protechts.net",
                "provider": "li.protechts.net",
                "domain_pattern": "*.li.protechts.net",
                "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://li.protechts.net/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://li.protechts.net/...\" src=\"about:blank\" title=\"li.protechts.net\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "li_alerts_linkedin_com",
                "service": "li_alerts",
                "provider": "linkedin.com",
                "domain_pattern": "*.linkedin.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://linkedin.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://linkedin.com/...\" src=\"about:blank\" title=\"li_alerts\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "li_gc_linkedin_com",
                "service": "li_gc",
                "provider": "linkedin.com",
                "domain_pattern": "*.linkedin.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://linkedin.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://linkedin.com/...\" src=\"about:blank\" title=\"li_gc\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "lidc_linkedin_com",
                "service": "lidc",
                "provider": "linkedin.com",
                "domain_pattern": "*.linkedin.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://linkedin.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://linkedin.com/...\" src=\"about:blank\" title=\"lidc\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "linkedin_com_linkedin_com",
                "service": "linkedin.com",
                "provider": "linkedin.com",
                "domain_pattern": "*.linkedin.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://linkedin.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://linkedin.com/...\" src=\"about:blank\" title=\"linkedin.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "polynorm_containers_piwik_pro_polynorm_containers_piwik_pro",
                "service": "polynorm.containers.piwik.pro",
                "provider": "polynorm.containers.piwik.pro",
                "domain_pattern": "*.polynorm.containers.piwik.pro",
                "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://polynorm.containers.piwik.pro/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://polynorm.containers.piwik.pro/...\" src=\"about:blank\" title=\"polynorm.containers.piwik.pro\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "ppms_privacy_19f3cb90_9eaf_4610_8480_9313ae23f149_polynorm_ch",
                "service": "ppms_privacy_19f3cb90-9eaf-4610-8480-9313ae23f149",
                "provider": "polynorm.ch",
                "domain_pattern": "*.polynorm.ch",
                "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://polynorm.ch/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://polynorm.ch/...\" src=\"about:blank\" title=\"ppms_privacy_19f3cb90-9eaf-4610-8480-9313ae23f149\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "pxcts_protechts_net",
                "service": "pxcts",
                "provider": "protechts.net",
                "domain_pattern": "*.protechts.net",
                "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://protechts.net/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://protechts.net/...\" src=\"about:blank\" title=\"pxcts\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "static_licdn_com_static_licdn_com",
                "service": "static.licdn.com",
                "provider": "static.licdn.com",
                "domain_pattern": "*.static.licdn.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://static.licdn.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://static.licdn.com/...\" src=\"about:blank\" title=\"static.licdn.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "tzm_protechts_net_tzm_protechts_net",
                "service": "tzm.protechts.net",
                "provider": "tzm.protechts.net",
                "domain_pattern": "*.tzm.protechts.net",
                "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://tzm.protechts.net/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://tzm.protechts.net/...\" src=\"about:blank\" title=\"tzm.protechts.net\"></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 prüfen",
                "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 dürfen 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 auslösen."
        },
        "links": {
            "blocking_json": "https://saferpage.de/consent-banner/polynorm.ch/blocking-json",
            "blocking_markdown": "https://saferpage.de/consent-banner/polynorm.ch/blocking-md",
            "banner_center": "https://saferpage.de/consent-banner/polynorm.ch",
            "cmp_plan": "https://saferpage.de/consent/polynorm.ch/cmp-plan",
            "consent_journey": "https://saferpage.de/consent-journey/polynorm.ch",
            "consent_mode": "https://saferpage.de/consent-mode/polynorm.ch",
            "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/polynorm.ch",
        "json": "https://saferpage.de/consent-banner/polynorm.ch/export",
        "csv": "https://saferpage.de/consent-banner/polynorm.ch/export-csv",
        "markdown": "https://saferpage.de/consent-banner/polynorm.ch/template-md",
        "blocking_json": "https://saferpage.de/consent-banner/polynorm.ch/blocking-json",
        "blocking_markdown": "https://saferpage.de/consent-banner/polynorm.ch/blocking-md",
        "consent_center": "https://saferpage.de/consent/polynorm.ch",
        "cmp_plan": "https://saferpage.de/consent/polynorm.ch/cmp-plan",
        "consent_ledger": "https://saferpage.de/consent-ledger/polynorm.ch",
        "consent_region": "https://saferpage.de/consent-region/polynorm.ch",
        "consent_journey": "https://saferpage.de/consent-journey/polynorm.ch",
        "consent_mode": "https://saferpage.de/consent-mode/polynorm.ch",
        "cookie_declaration": "https://saferpage.de/cookies/polynorm.ch",
        "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
        "report": "https://saferpage.de/polynorm.ch"
    },
    "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."
}
