{
    "schema": "https://saferpage.de/schemas/consent-banner-template.v1",
    "generated_at": "2026-06-08T16:54:42+00:00",
    "domain": "anrufer.info",
    "available": true,
    "scan": {
        "id": "ea4df023-8c2b-4037-b07d-57b7f1642e77",
        "checked_at": "2026-06-07 03:22:43.653919+02"
    },
    "summary": "anrufer.info: Banner-Vorlage mit 6 Kategorien, 5 Dienstsignal(en), 5 Prior-Blocking-Regel(n) und Default-Denied Consent Mode.",
    "score": 48,
    "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": 1,
            "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": 2,
            "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": 2,
            "include_in_first_layer": false
        }
    ],
    "services": [
        {
            "id": "google_fonts_fonts_gstatic_com",
            "name": "Google Fonts",
            "provider": "Google Fonts",
            "domain": "fonts.gstatic.com",
            "purpose": "Schriften",
            "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": "google_fonts_fonts_googleapis_com",
            "name": "Google Fonts",
            "provider": "Google Fonts",
            "domain": "fonts.googleapis.com",
            "purpose": "Schriften",
            "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": "google_adsense_pagead2_googlesyndication_com",
            "name": "Google AdSense",
            "provider": "Google AdSense",
            "domain": "pagead2.googlesyndication.com",
            "purpose": "Werbung",
            "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": "fccdcf_anrufer_info",
            "name": "FCCDCF",
            "provider": "anrufer.info",
            "domain": "anrufer.info",
            "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": "google_funding_choices_fundingchoicesmessages_google_com",
            "name": "Google Funding Choices",
            "provider": "Google Funding Choices",
            "domain": "fundingchoicesmessages.google.com",
            "purpose": "Consent",
            "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": "<div id=\"saferpage-consent\" class=\"sp-consent\" 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<style>\n.sp-consent{position:fixed;inset:auto 1rem 1rem 1rem;z-index:2147483000;font:16px/1.45 system-ui,sans-serif;color:#12212f}.sp-consent__panel{max-width:720px;margin:auto;background:#fff;border:1px solid #d9e2ec;border-radius:8px;box-shadow:0 24px 80px rgba(15,23,42,.24);padding:1rem}.sp-consent__actions{display:flex;gap:.5rem;flex-wrap:wrap}.sp-consent button{border:1px solid #123047;border-radius:6px;background:#fff;padding:.7rem 1rem;font-weight:700}.sp-consent button[data-sp-consent=accept]{background:#123047;color:#fff}.sp-consent__option{display:flex;gap:.75rem;margin:.65rem 0}.sp-consent__option input{inline-size:1.2rem;block-size:1.2rem}#saferpage-consent-trigger{position:fixed;right:1rem;bottom:1rem;z-index:2147482999}\n</style>\n<script>\n(function(){\n  var categories = [{\"id\":\"notwendig\",\"label\":\"Notwendig\",\"description\":\"Erforderliche Dienste für Sicherheit und Grundfunktionen.\",\"default_state\":\"active\"},{\"id\":\"statistik\",\"label\":\"Statistik\",\"description\":\"Reichweitenmessung und Analyse erst nach Einwilligung.\",\"default_state\":\"denied\"},{\"id\":\"marketing\",\"label\":\"Marketing / Tracking\",\"description\":\"Werbung, Profiling, Retargeting und Tracking erst nach Einwilligung.\",\"default_state\":\"denied\"},{\"id\":\"externe_medien\",\"label\":\"Externe Medien\",\"description\":\"Videos, Karten, Captchas, Fonts und eingebettete Inhalte verzögert laden.\",\"default_state\":\"denied\"},{\"id\":\"komfort\",\"label\":\"Komfort\",\"description\":\"Optionale Funktionen getrennt von Statistik und Marketing steuerbar machen.\",\"default_state\":\"denied\"},{\"id\":\"unklar\",\"label\":\"Unklar / klassifizieren\",\"description\":\"Unklare Dienste bleiben aus, bis Zweck und Rechtsgrundlage geklärt sind.\",\"default_state\":\"denied\"}];\n  var key = 'sp_consent_anrufer.info_v1';\n  window.dataLayer = window.dataLayer || [];\n  window.gtag = window.gtag || function(){ dataLayer.push(arguments); };\n  gtag('consent','default',{ad_storage:'denied',analytics_storage:'denied',ad_user_data:'denied',ad_personalization:'denied',functionality_storage:'denied',security_storage:'granted'});\n  var root = document.getElementById('saferpage-consent');\n  var options = document.getElementById('sp-consent-options');\n  var trigger = document.getElementById('saferpage-consent-trigger');\n  function render(){\n    options.innerHTML = categories.map(function(cat){\n      var disabled = cat.id === 'notwendig' ? ' disabled checked' : '';\n      return '<label class=\"sp-consent__option\"><input type=\"checkbox\" value=\"'+cat.id+'\"'+disabled+'><span><b>'+cat.label+'</b><br>'+cat.description+'</span></label>';\n    }).join('');\n  }\n  function update(mode){\n    var granted = {notwendig:true};\n    if(mode === 'accept') categories.forEach(function(cat){granted[cat.id]=true;});\n    if(mode === 'settings') options.querySelectorAll('input').forEach(function(input){granted[input.value]=input.checked;});\n    localStorage.setItem(key, JSON.stringify({version:'v1', updated_at:new Date().toISOString(), categories:granted}));\n    gtag('consent','update',{ad_storage:granted.marketing?'granted':'denied',analytics_storage:granted.statistik?'granted':'denied',ad_user_data:granted.marketing?'granted':'denied',ad_personalization:granted.marketing?'granted':'denied',functionality_storage:(granted.externe_medien||granted.komfort)?'granted':'denied',security_storage:'granted'});\n    root.hidden = true;\n    window.dispatchEvent(new CustomEvent('saferpage-consent-update',{detail:granted}));\n  }\n  render();\n  if(!localStorage.getItem(key)) root.hidden = false;\n  trigger.addEventListener('click', function(){root.hidden=false;});\n  root.addEventListener('click', function(ev){var mode=ev.target && ev.target.getAttribute('data-sp-consent'); if(mode==='reject') update('reject'); if(mode==='accept') update('accept'); if(mode==='settings') update('settings');});\n})();\n</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."
        }
    ],
    "links": {
        "banner_center": "https://saferpage.de/consent-banner/anrufer.info",
        "json": "https://saferpage.de/consent-banner/anrufer.info/export",
        "csv": "https://saferpage.de/consent-banner/anrufer.info/export-csv",
        "markdown": "https://saferpage.de/consent-banner/anrufer.info/template-md",
        "consent_center": "https://saferpage.de/consent/anrufer.info",
        "cmp_plan": "https://saferpage.de/consent/anrufer.info/cmp-plan",
        "consent_ledger": "https://saferpage.de/consent-ledger/anrufer.info",
        "consent_region": "https://saferpage.de/consent-region/anrufer.info",
        "consent_journey": "https://saferpage.de/consent-journey/anrufer.info",
        "consent_mode": "https://saferpage.de/consent-mode/anrufer.info",
        "cookie_declaration": "https://saferpage.de/cookies/anrufer.info",
        "guide": "https://saferpage.de/guides/tracking-und-consent-reparieren",
        "report": "https://saferpage.de/anrufer.info"
    },
    "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."
}
