{
    "schema": "https://saferpage.de/schemas/consent-banner-template.v1",
    "generated_at": "2026-06-19T03:58:34+00:00",
    "domain": "habbo.de",
    "available": true,
    "scan": {
        "id": "cc5fcf3e-bdf1-412c-b92a-312dec0e2af7",
        "checked_at": "2026-06-19 01:01:48.481537+02"
    },
    "summary": "habbo.de: Banner-Vorlage mit 6 Kategorien, 18 Dienstsignal(en), 18 Prior-Blocking-Regel(n) und Default-Denied Consent Mode.",
    "score": 74,
    "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": 7,
            "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": 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": "cf_bm_hcaptcha_com",
            "name": "__cf_bm",
            "provider": "hCaptcha",
            "domain": "hcaptcha.com",
            "purpose": "Unklar",
            "category_id": "externe_medien",
            "category_label": "Externe Medien",
            "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": "meta_facebook_connect_facebook_net",
            "name": "Meta/Facebook",
            "provider": "Meta/Facebook",
            "domain": "connect.facebook.net",
            "purpose": "Social/Tracking",
            "category_id": "marketing",
            "category_label": "Marketing / Tracking",
            "consent_mode_key": "ad_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": true,
            "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "meta_facebook_facebook_com",
            "name": "Meta/Facebook",
            "provider": "Meta/Facebook",
            "domain": "facebook.com",
            "purpose": "Social/Tracking",
            "category_id": "marketing",
            "category_label": "Marketing / Tracking",
            "consent_mode_key": "ad_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": true,
            "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "hcaptcha_newassets_hcaptcha_com",
            "name": "hCaptcha",
            "provider": "hCaptcha",
            "domain": "newassets.hcaptcha.com",
            "purpose": "Captcha",
            "category_id": "marketing",
            "category_label": "Marketing / Tracking",
            "consent_mode_key": "ad_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": true,
            "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "hcaptcha_56c8f4775c57_w_hcaptcha_com",
            "name": "hCaptcha",
            "provider": "hCaptcha",
            "domain": "56c8f4775c57.w.hcaptcha.com",
            "purpose": "Captcha",
            "category_id": "marketing",
            "category_label": "Marketing / Tracking",
            "consent_mode_key": "ad_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": true,
            "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "hcaptcha_api_hcaptcha_com",
            "name": "hCaptcha",
            "provider": "hCaptcha",
            "domain": "api.hcaptcha.com",
            "purpose": "Captcha",
            "category_id": "marketing",
            "category_label": "Marketing / Tracking",
            "consent_mode_key": "ad_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": true,
            "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "hcaptcha_ddce1e06927c_w_hcaptcha_com",
            "name": "hCaptcha",
            "provider": "hCaptcha",
            "domain": "ddce1e06927c.w.hcaptcha.com",
            "purpose": "Captcha",
            "category_id": "marketing",
            "category_label": "Marketing / Tracking",
            "consent_mode_key": "ad_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": true,
            "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "hcaptcha_js_hcaptcha_com",
            "name": "hCaptcha",
            "provider": "hCaptcha",
            "domain": "js.hcaptcha.com",
            "purpose": "Captcha",
            "category_id": "marketing",
            "category_label": "Marketing / Tracking",
            "consent_mode_key": "ad_storage",
            "default_state": "denied",
            "prior_blocking_required": true,
            "pre_consent": false,
            "privacy_relevant": true,
            "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
        },
        {
            "id": "cf_bm_cookiepro_com",
            "name": "__cf_bm",
            "provider": "cookiepro.com",
            "domain": "cookiepro.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": "accounts_google_com_accounts_google_com",
            "name": "accounts.google.com",
            "provider": "accounts.google.com",
            "domain": "accounts.google.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": "appleid_cdn_apple_com_appleid_cdn_apple_com",
            "name": "appleid.cdn-apple.com",
            "provider": "appleid.cdn-apple.com",
            "domain": "appleid.cdn-apple.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": "browser_token_habbo_de",
            "name": "browser_token",
            "provider": "habbo.de",
            "domain": "habbo.de",
            "purpose": "Notwendig",
            "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": "cookie_cdn_cookiepro_com_cookie_cdn_cookiepro_com",
            "name": "cookie-cdn.cookiepro.com",
            "provider": "cookie-cdn.cookiepro.com",
            "domain": "cookie-cdn.cookiepro.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": "d29usylhdk1xyu_cloudfront_net_d29usylhdk1xyu_cloudfront_net",
            "name": "d29usylhdk1xyu.cloudfront.net",
            "provider": "d29usylhdk1xyu.cloudfront.net",
            "domain": "d29usylhdk1xyu.cloudfront.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": "docj27ko03fnu_cloudfront_net_docj27ko03fnu_cloudfront_net",
            "name": "docj27ko03fnu.cloudfront.net",
            "provider": "docj27ko03fnu.cloudfront.net",
            "domain": "docj27ko03fnu.cloudfront.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": "images_habbo_com_images_habbo_com",
            "name": "images.habbo.com",
            "provider": "images.habbo.com",
            "domain": "images.habbo.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": "quilt_cdn_janrain_com_quilt_cdn_janrain_com",
            "name": "quilt-cdn.janrain.com",
            "provider": "quilt-cdn.janrain.com",
            "domain": "quilt-cdn.janrain.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": "rpxnow_com_rpxnow_com",
            "name": "rpxnow.com",
            "provider": "rpxnow.com",
            "domain": "rpxnow.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."
        }
    ],
    "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=\"habbo.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-19T03:58:34+00:00",
        "domain": "habbo.de",
        "summary": "habbo.de: 18 Auto-Blocking-Regel(n) fuer Skripte, Iframes und Tag-Manager-Trigger aus SaferPage-Dienstsignalen.",
        "rule_count": 18,
        "rules": [
            {
                "id": "cf_bm_hcaptcha_com",
                "service": "__cf_bm",
                "provider": "hCaptcha",
                "domain_pattern": "*.hcaptcha.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://hcaptcha.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"externe_medien\" data-src=\"https://hcaptcha.com/...\" src=\"about:blank\" title=\"__cf_bm\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.externe_medien equals true.",
                "evidence": "Vor Consent sichtbar. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "meta_facebook_connect_facebook_net",
                "service": "Meta/Facebook",
                "provider": "Meta/Facebook",
                "domain_pattern": "*.connect.facebook.net",
                "category_id": "marketing",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:marketing",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"marketing\" data-src=\"https://connect.facebook.net/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"marketing\" data-src=\"https://connect.facebook.net/...\" src=\"about:blank\" title=\"Meta/Facebook\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.marketing equals true.",
                "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "meta_facebook_facebook_com",
                "service": "Meta/Facebook",
                "provider": "Meta/Facebook",
                "domain_pattern": "*.facebook.com",
                "category_id": "marketing",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:marketing",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"marketing\" data-src=\"https://facebook.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"marketing\" data-src=\"https://facebook.com/...\" src=\"about:blank\" title=\"Meta/Facebook\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.marketing equals true.",
                "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "hcaptcha_newassets_hcaptcha_com",
                "service": "hCaptcha",
                "provider": "hCaptcha",
                "domain_pattern": "*.newassets.hcaptcha.com",
                "category_id": "marketing",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:marketing",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"marketing\" data-src=\"https://newassets.hcaptcha.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"marketing\" data-src=\"https://newassets.hcaptcha.com/...\" src=\"about:blank\" title=\"hCaptcha\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.marketing equals true.",
                "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "hcaptcha_56c8f4775c57_w_hcaptcha_com",
                "service": "hCaptcha",
                "provider": "hCaptcha",
                "domain_pattern": "*.56c8f4775c57.w.hcaptcha.com",
                "category_id": "marketing",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:marketing",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"marketing\" data-src=\"https://56c8f4775c57.w.hcaptcha.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"marketing\" data-src=\"https://56c8f4775c57.w.hcaptcha.com/...\" src=\"about:blank\" title=\"hCaptcha\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.marketing equals true.",
                "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "hcaptcha_api_hcaptcha_com",
                "service": "hCaptcha",
                "provider": "hCaptcha",
                "domain_pattern": "*.api.hcaptcha.com",
                "category_id": "marketing",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:marketing",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"marketing\" data-src=\"https://api.hcaptcha.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"marketing\" data-src=\"https://api.hcaptcha.com/...\" src=\"about:blank\" title=\"hCaptcha\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.marketing equals true.",
                "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "hcaptcha_ddce1e06927c_w_hcaptcha_com",
                "service": "hCaptcha",
                "provider": "hCaptcha",
                "domain_pattern": "*.ddce1e06927c.w.hcaptcha.com",
                "category_id": "marketing",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:marketing",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"marketing\" data-src=\"https://ddce1e06927c.w.hcaptcha.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"marketing\" data-src=\"https://ddce1e06927c.w.hcaptcha.com/...\" src=\"about:blank\" title=\"hCaptcha\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.marketing equals true.",
                "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "hcaptcha_js_hcaptcha_com",
                "service": "hCaptcha",
                "provider": "hCaptcha",
                "domain_pattern": "*.js.hcaptcha.com",
                "category_id": "marketing",
                "default_state": "blocked",
                "activation_event": "saferpage-consent-update:marketing",
                "script_rewrite": "<script type=\"text/plain\" data-saferpage-category=\"marketing\" data-src=\"https://js.hcaptcha.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"marketing\" data-src=\"https://js.hcaptcha.com/...\" src=\"about:blank\" title=\"hCaptcha\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.marketing equals true.",
                "evidence": "Datenschutz-/Tracking-Relevanz. Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "cf_bm_cookiepro_com",
                "service": "__cf_bm",
                "provider": "cookiepro.com",
                "domain_pattern": "*.cookiepro.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://cookiepro.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://cookiepro.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": "accounts_google_com_accounts_google_com",
                "service": "accounts.google.com",
                "provider": "accounts.google.com",
                "domain_pattern": "*.accounts.google.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://accounts.google.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://accounts.google.com/...\" src=\"about:blank\" title=\"accounts.google.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "appleid_cdn_apple_com_appleid_cdn_apple_com",
                "service": "appleid.cdn-apple.com",
                "provider": "appleid.cdn-apple.com",
                "domain_pattern": "*.appleid.cdn-apple.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://appleid.cdn-apple.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://appleid.cdn-apple.com/...\" src=\"about:blank\" title=\"appleid.cdn-apple.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "browser_token_habbo_de",
                "service": "browser_token",
                "provider": "habbo.de",
                "domain_pattern": "*.habbo.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://habbo.de/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://habbo.de/...\" src=\"about:blank\" title=\"browser_token\"></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": "cookie_cdn_cookiepro_com_cookie_cdn_cookiepro_com",
                "service": "cookie-cdn.cookiepro.com",
                "provider": "cookie-cdn.cookiepro.com",
                "domain_pattern": "*.cookie-cdn.cookiepro.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://cookie-cdn.cookiepro.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://cookie-cdn.cookiepro.com/...\" src=\"about:blank\" title=\"cookie-cdn.cookiepro.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "d29usylhdk1xyu_cloudfront_net_d29usylhdk1xyu_cloudfront_net",
                "service": "d29usylhdk1xyu.cloudfront.net",
                "provider": "d29usylhdk1xyu.cloudfront.net",
                "domain_pattern": "*.d29usylhdk1xyu.cloudfront.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://d29usylhdk1xyu.cloudfront.net/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://d29usylhdk1xyu.cloudfront.net/...\" src=\"about:blank\" title=\"d29usylhdk1xyu.cloudfront.net\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "docj27ko03fnu_cloudfront_net_docj27ko03fnu_cloudfront_net",
                "service": "docj27ko03fnu.cloudfront.net",
                "provider": "docj27ko03fnu.cloudfront.net",
                "domain_pattern": "*.docj27ko03fnu.cloudfront.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://docj27ko03fnu.cloudfront.net/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://docj27ko03fnu.cloudfront.net/...\" src=\"about:blank\" title=\"docj27ko03fnu.cloudfront.net\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "images_habbo_com_images_habbo_com",
                "service": "images.habbo.com",
                "provider": "images.habbo.com",
                "domain_pattern": "*.images.habbo.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://images.habbo.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://images.habbo.com/...\" src=\"about:blank\" title=\"images.habbo.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "quilt_cdn_janrain_com_quilt_cdn_janrain_com",
                "service": "quilt-cdn.janrain.com",
                "provider": "quilt-cdn.janrain.com",
                "domain_pattern": "*.quilt-cdn.janrain.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://quilt-cdn.janrain.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://quilt-cdn.janrain.com/...\" src=\"about:blank\" title=\"quilt-cdn.janrain.com\"></iframe>",
                "gtm_trigger": "Fire only when event equals saferpage_consent_update and consent.unklar equals true.",
                "evidence": "Aus SaferPage-Scan-Evidenz abgeleitet."
            },
            {
                "id": "rpxnow_com_rpxnow_com",
                "service": "rpxnow.com",
                "provider": "rpxnow.com",
                "domain_pattern": "*.rpxnow.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://rpxnow.com/...\"></script>",
                "iframe_rewrite": "<iframe data-saferpage-category=\"unklar\" data-src=\"https://rpxnow.com/...\" src=\"about:blank\" title=\"rpxnow.com\"></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/habbo.de/blocking-json",
            "blocking_markdown": "https://saferpage.de/consent-banner/habbo.de/blocking-md",
            "banner_center": "https://saferpage.de/consent-banner/habbo.de",
            "cmp_plan": "https://saferpage.de/consent/habbo.de/cmp-plan",
            "consent_journey": "https://saferpage.de/consent-journey/habbo.de",
            "consent_mode": "https://saferpage.de/consent-mode/habbo.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/habbo.de",
        "json": "https://saferpage.de/consent-banner/habbo.de/export",
        "csv": "https://saferpage.de/consent-banner/habbo.de/export-csv",
        "markdown": "https://saferpage.de/consent-banner/habbo.de/template-md",
        "blocking_json": "https://saferpage.de/consent-banner/habbo.de/blocking-json",
        "blocking_markdown": "https://saferpage.de/consent-banner/habbo.de/blocking-md",
        "consent_center": "https://saferpage.de/consent/habbo.de",
        "cmp_plan": "https://saferpage.de/consent/habbo.de/cmp-plan",
        "consent_ledger": "https://saferpage.de/consent-ledger/habbo.de",
        "consent_region": "https://saferpage.de/consent-region/habbo.de",
        "consent_journey": "https://saferpage.de/consent-journey/habbo.de",
        "consent_mode": "https://saferpage.de/consent-mode/habbo.de",
        "cookie_declaration": "https://saferpage.de/cookies/habbo.de",
        "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
        "report": "https://saferpage.de/habbo.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."
}
