{
    "schema": "https://saferpage.de/schemas/technology-detection.v1",
    "generated_at": "2026-06-26T12:33:49+00:00",
    "domain": "20min.ch",
    "available": true,
    "scan": {
        "id": "c0ea7ebf-84fa-4a98-bec6-253b193b0a46",
        "checked_at": "2026-06-26 06:29:37.186308+02"
    },
    "summary": "20min.ch: 27 sichtbare Technik-/Anbietersignale, 5 mit hoher Datenschutzrelevanz, 0 CMS-/Shop-Hinweis(e).",
    "metrics": {
        "technology_count": 27,
        "high_privacy_relevance_count": 5,
        "cms_or_shop_count": 0,
        "external_script_count": 1,
        "request_count": 238,
        "third_party_domain_count": 24,
        "infrastructure_finding_count": 1
    },
    "signals": {
        "server_header": "",
        "generator": "",
        "x_powered_by": "",
        "asset_hosts": [
            "cdn.cookielaw.org",
            "www.20min.ch",
            "api.20min.ch",
            "ats.20min.ch",
            "beagle.prod.tda.link",
            "fundingchoicesmessages.google.com"
        ],
        "external_scripts": [
            "https://cdn.cookielaw.org/scripttemplates/otSDKStub.js"
        ],
        "tls_version": "TLSv1.3",
        "certificate_issuer": "WE1",
        "renderer": "playwright-chromium"
    },
    "category_counts": {
        "Werbung": 2,
        "Analytics/Werbung": 2,
        "tag_manager": 1,
        "Consent": 2,
        "other": 19,
        "JavaScript": 1
    },
    "technologies": [
        {
            "id": "provider_google_adsense",
            "name": "Google AdSense",
            "category": "advertising",
            "category_label": "Werbung",
            "confidence": "browser",
            "risk_score": 80,
            "privacy_relevance": "hoch",
            "evidence": [
                "pagead2.googlesyndication.com",
                "3 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_google_doubleclick",
            "name": "Google DoubleClick",
            "category": "advertising",
            "category_label": "Werbung",
            "confidence": "browser",
            "risk_score": 80,
            "privacy_relevance": "hoch",
            "evidence": [
                "securepubads.g.doubleclick.net",
                "1 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "google_tag_manager",
            "name": "Google Tag Manager",
            "category": "analytics",
            "category_label": "Analytics/Werbung",
            "confidence": "medium",
            "risk_score": 80,
            "privacy_relevance": "hoch",
            "evidence": [
                "Signal: gtm-"
            ],
            "source": "technology_analysis"
        },
        {
            "id": "provider_google_tag_manager",
            "name": "Google Tag Manager",
            "category": "tag_manager",
            "category_label": "tag_manager",
            "confidence": "browser",
            "risk_score": 80,
            "privacy_relevance": "hoch",
            "evidence": [
                "googletagmanager.com",
                "1 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "tracking_google_tag_manager",
            "name": "Google Tag Manager",
            "category": "analytics",
            "category_label": "Analytics/Werbung",
            "confidence": "high",
            "risk_score": 80,
            "privacy_relevance": "hoch",
            "evidence": [
                "google_tag_manager",
                "GTM-PKTSKJX"
            ],
            "source": "privacy_analysis"
        },
        {
            "id": "provider_google_funding_choices",
            "name": "Google Funding Choices",
            "category": "consent",
            "category_label": "Consent",
            "confidence": "browser",
            "risk_score": 58,
            "privacy_relevance": "mittel",
            "evidence": [
                "fundingchoicesmessages.google.com",
                "15 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "onetrust",
            "name": "OneTrust",
            "category": "consent",
            "category_label": "Consent",
            "confidence": "medium",
            "risk_score": 58,
            "privacy_relevance": "mittel",
            "evidence": [
                "Signal: onetrust"
            ],
            "source": "technology_analysis"
        },
        {
            "id": "provider_ep1.adtrafficquality.google",
            "name": "ep1.adtrafficquality.google",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 58,
            "privacy_relevance": "mittel",
            "evidence": [
                "ep1.adtrafficquality.google",
                "2 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_ep2.adtrafficquality.google",
            "name": "ep2.adtrafficquality.google",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 58,
            "privacy_relevance": "mittel",
            "evidence": [
                "ep2.adtrafficquality.google",
                "3 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_google.com",
            "name": "google.com",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 58,
            "privacy_relevance": "mittel",
            "evidence": [
                "google.com",
                "1 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_applets.ebxcdn.com",
            "name": "applets.ebxcdn.com",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 42,
            "privacy_relevance": "niedrig",
            "evidence": [
                "applets.ebxcdn.com",
                "1 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_cdn.brandmetrics.com",
            "name": "cdn.brandmetrics.com",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 42,
            "privacy_relevance": "niedrig",
            "evidence": [
                "cdn.brandmetrics.com",
                "1 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_cdn.cookielaw.org",
            "name": "cdn.cookielaw.org",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 42,
            "privacy_relevance": "niedrig",
            "evidence": [
                "cdn.cookielaw.org",
                "1 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "next.js",
            "name": "Next.js",
            "category": "js_framework",
            "category_label": "JavaScript",
            "confidence": "medium",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "Signal: /_next/static/"
            ],
            "source": "technology_analysis"
        },
        {
            "id": "provider_api.20min.ch",
            "name": "api.20min.ch",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "api.20min.ch",
                "5 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_ats.20min.ch",
            "name": "ats.20min.ch",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "ats.20min.ch",
                "1 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_beagle.prod.tda.link",
            "name": "beagle.prod.tda.link",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "beagle.prod.tda.link",
                "1 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_cl-eu4.k5a.io",
            "name": "cl-eu4.k5a.io",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "cl-eu4.k5a.io",
                "4 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_dev.visualwebsiteoptimizer.com",
            "name": "dev.visualwebsiteoptimizer.com",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "dev.visualwebsiteoptimizer.com",
                "2 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_end.mpod.ch",
            "name": "end.mpod.ch",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "end.mpod.ch",
                "1 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_fooby.ch",
            "name": "fooby.ch",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "fooby.ch",
                "6 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_image.20min.ch",
            "name": "image.20min.ch",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "image.20min.ch",
                "30 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_media.20min.ch",
            "name": "media.20min.ch",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "media.20min.ch",
                "23 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_recipecontent.fooby.ch",
            "name": "recipecontent.fooby.ch",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "recipecontent.fooby.ch",
                "1 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_sb.scorecardresearch.com",
            "name": "sb.scorecardresearch.com",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "sb.scorecardresearch.com",
                "3 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_sst.20min.ch",
            "name": "sst.20min.ch",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "sst.20min.ch",
                "3 Request(s)"
            ],
            "source": "browser_analysis"
        },
        {
            "id": "provider_teaservideo.appuser.ch",
            "name": "teaservideo.appuser.ch",
            "category": "other",
            "category_label": "other",
            "confidence": "browser",
            "risk_score": 35,
            "privacy_relevance": "niedrig",
            "evidence": [
                "teaservideo.appuser.ch",
                "12 Request(s)"
            ],
            "source": "browser_analysis"
        }
    ],
    "operator_actions": [
        {
            "id": "action_provider_google_adsense",
            "technology": "Google AdSense",
            "priority": "hoch",
            "owner": "Marketing/IT/Datenschutz",
            "action": "Tracking-, Werbe- und Tag-Manager-Dienste bis zur aktiven Einwilligung blockieren und in Consent, Datenschutzhinweis und Anbieterregister erklären.",
            "guide_url": "https://saferpage.de/consent/20min.ch"
        },
        {
            "id": "action_provider_google_doubleclick",
            "technology": "Google DoubleClick",
            "priority": "hoch",
            "owner": "Marketing/IT/Datenschutz",
            "action": "Tracking-, Werbe- und Tag-Manager-Dienste bis zur aktiven Einwilligung blockieren und in Consent, Datenschutzhinweis und Anbieterregister erklären.",
            "guide_url": "https://saferpage.de/consent/20min.ch"
        },
        {
            "id": "action_google_tag_manager",
            "technology": "Google Tag Manager",
            "priority": "hoch",
            "owner": "Marketing/IT/Datenschutz",
            "action": "Tracking-, Werbe- und Tag-Manager-Dienste bis zur aktiven Einwilligung blockieren und in Consent, Datenschutzhinweis und Anbieterregister erklären.",
            "guide_url": "https://saferpage.de/consent/20min.ch"
        },
        {
            "id": "action_provider_google_tag_manager",
            "technology": "Google Tag Manager",
            "priority": "hoch",
            "owner": "Marketing/IT/Datenschutz",
            "action": "Tracking-, Werbe- und Tag-Manager-Dienste bis zur aktiven Einwilligung blockieren und in Consent, Datenschutzhinweis und Anbieterregister erklären.",
            "guide_url": "https://saferpage.de/consent/20min.ch"
        },
        {
            "id": "action_tracking_google_tag_manager",
            "technology": "Google Tag Manager",
            "priority": "hoch",
            "owner": "Marketing/IT/Datenschutz",
            "action": "Tracking-, Werbe- und Tag-Manager-Dienste bis zur aktiven Einwilligung blockieren und in Consent, Datenschutzhinweis und Anbieterregister erklären.",
            "guide_url": "https://saferpage.de/consent/20min.ch"
        },
        {
            "id": "action_provider_google_funding_choices",
            "technology": "Google Funding Choices",
            "priority": "mittel",
            "owner": "Website-Betrieb/Datenschutz",
            "action": "Techniksignal fachlich einordnen, Zweck, Anbieter, Datenarten und notwendige Nachweise ergänzen.",
            "guide_url": "https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog"
        },
        {
            "id": "action_onetrust",
            "technology": "OneTrust",
            "priority": "mittel",
            "owner": "Website-Betrieb/Datenschutz",
            "action": "Techniksignal fachlich einordnen, Zweck, Anbieter, Datenarten und notwendige Nachweise ergänzen.",
            "guide_url": "https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog"
        },
        {
            "id": "action_provider_ep1.adtrafficquality.google",
            "technology": "ep1.adtrafficquality.google",
            "priority": "mittel",
            "owner": "Website-Betrieb/Datenschutz",
            "action": "Techniksignal fachlich einordnen, Zweck, Anbieter, Datenarten und notwendige Nachweise ergänzen.",
            "guide_url": "https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog"
        },
        {
            "id": "action_provider_ep2.adtrafficquality.google",
            "technology": "ep2.adtrafficquality.google",
            "priority": "mittel",
            "owner": "Website-Betrieb/Datenschutz",
            "action": "Techniksignal fachlich einordnen, Zweck, Anbieter, Datenarten und notwendige Nachweise ergänzen.",
            "guide_url": "https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog"
        },
        {
            "id": "action_provider_google.com",
            "technology": "google.com",
            "priority": "mittel",
            "owner": "Website-Betrieb/Datenschutz",
            "action": "Techniksignal fachlich einordnen, Zweck, Anbieter, Datenarten und notwendige Nachweise ergänzen.",
            "guide_url": "https://saferpage.de/guides/datenschutz-webseiten-pruefkatalog"
        }
    ],
    "cms_playbooks": [
        {
            "id": "nextjs",
            "platform": "Next.js / React App",
            "summary": "Bei modernen Frontends liegen Tracking, Fonts, Consent und Security-Header oft in Build, Middleware, Tag Manager und CDN-Konfiguration verteilt.",
            "steps": [
                "App Router/Pages, Layouts, Script-Komponenten, Tag Manager und Consent-Initialisierung prüfen.",
                "Consent Defaults vor Analytics-/Ads-Skripten setzen; third-party Scripts mit strategy und Consent-Gate kontrollieren.",
                "Security-Header, Referrer-Policy, CSP und HSTS in Middleware, next.config oder Reverse Proxy setzen.",
                "Build-Artefakte, Sourcemaps, externe Fonts und CDN-Hosts dokumentieren und nach Deployment erneut scannen."
            ],
            "acceptance": [
                "Scripts sind consent-gated.",
                "Header sind im Live-Response sichtbar.",
                "Drittanbieter-Matrix passt zum Release."
            ],
            "owner": "Webbetrieb/IT/Datenschutz",
            "guide_url": "https://saferpage.de/guides/cms-plugin-patchstand-nachweisen",
            "rescan_url": "https://saferpage.de/?url=20min.ch"
        }
    ],
    "infrastructure": {
        "risk_level": "low",
        "positive_signals": [
            "Mehrere IP-Adressen gefunden: Hinweis auf redundante Infrastruktur oder CDN.",
            "IPv6 ist vorhanden.",
            "Moderne TLS-Version aktiv: TLSv1.3.",
            "HSTS ist aktiv.",
            "DMARC ist für die Domain vorhanden."
        ],
        "findings": [
            {
                "id": "caa_missing",
                "title": "CAA-Record fehlt",
                "public": true,
                "category": "dns",
                "severity": "info",
                "recommendation": "Optional CAA setzen, um erlaubte Zertifikatsaussteller festzulegen."
            }
        ]
    },
    "links": {
        "technology_center": "https://saferpage.de/technik/20min.ch",
        "json": "https://saferpage.de/technik/20min.ch/export",
        "csv": "https://saferpage.de/technik/20min.ch/export-csv",
        "markdown": "https://saferpage.de/technik/20min.ch/stack-md",
        "report": "https://saferpage.de/20min.ch",
        "vendors": "https://saferpage.de/anbieter/20min.ch",
        "consent": "https://saferpage.de/consent/20min.ch",
        "findings": "https://saferpage.de/befunde/20min.ch",
        "evidence": "https://saferpage.de/nachweise/20min.ch"
    },
    "disclaimer": "Technik-Erkennung ist passiv: SaferPage wertet sichtbare Header, HTML-, Script-, Asset- und Browserkontakte aus. Nicht sichtbare Servertechnik, interne Plugins und Logins werden nicht behauptet."
}
