Scan-Fakten als JSON anzeigen
{
"schema": "https://saferpage.de/schemas/public-scan-facts.v1",
"claim_boundary": "Öffentliche Rohdaten enthalten nur Scan-Fakten, Statuswerte, Evidence-Grenzen und feste Detail-/Hintergrund-Links. Betreiber-Hintergrund, Planungen, Checklisten, Code und allgemeine Empfehlungen stehen auf separaten Seiten.",
"current_evidence_policy": {
"schema": "https://saferpage.de/schemas/public-scan-current-evidence-policy.v1",
"status": "current_scan_fields_only",
"summary": "Der Fakten-JSON exportiert nur Felder, die im gespeicherten aktuellen Scan wirklich vorhanden sind. Fehlende neue Evidence wird nicht aus alten Testergebnisformaten nachgebaut.",
"guardrails": [
"Keine synthetischen Boundary-Fallbacks fuer alte Scans",
"Keine Nachbewertung alter Testergebnisse im Fakten-JSON",
"Keine Betreiber-Empfehlung im Report-JSON"
]
},
"host": "bayern.de",
"normalized_url": "https://bayern.de/",
"score": 58,
"verdict": {
"color": "orange",
"label": "auffällig",
"score": 58
},
"scan_id": "432e0fdd-86fc-494e-8a14-91208d2feea6",
"created_at": "2026-06-19 01:00:32.399403+02",
"evidence": {
"dns": {
"ok": true,
"addresses": [
"195.200.71.187"
],
"duration_ms": 2
},
"tls": {
"ok": true,
"cipher": "TLS_AES_256_GCM_SHA384",
"issuer": [
[
[
"countryName",
"US"
]
],
[
[
"organizationName",
"Let's Encrypt"
]
],
[
[
"commonName",
"YR1"
]
]
],
"subject": [
[
[
"commonName",
"bayern.de"
]
]
],
"version": "TLSv1.3",
"not_after": "Sep 3 23:25:56 2026 GMT",
"hostname_matches": true,
"days_until_expiry": 77,
"subject_alt_names": [
"bayern.de"
],
"issuer_common_name": "YR1"
},
"http": {
"ok": true,
"status": 200,
"headers": {
"age": "106",
"via": "1.1 varnish (Varnish/5.2)",
"date": "Thu, 18 Jun 2026 22:58:17 GMT",
"link": "<http://www.bayern.de>; rel=shortlink",
"vary": "Accept-Encoding",
"server": "CERN httpd",
"x-varnish": "52937310 44327252",
"connection": "close",
"set-cookie": "TS01ee0451=018dc40135d08bd16b0865e538b32eaaf347e8417b80ed607b6a5af982360df43778ab77cf09f20a72b5919cc196ca1bc0fc7bfd0e; Path=/",
"content-type": "text/html; charset=UTF-8",
"accept-ranges": "bytes",
"content-length": "179974",
"x-frame-options": "sameorigin",
"x-xss-protection": "1; mode=block",
"x-content-type-options": "nosniff",
"content-security-policy": "default-src 'self' *.bayern.de *.youtube.co *.youtube.com *.whappodo.com *.youtube-nocookie.com *.podigee.io *.podigee-cdn.net *.readspeaker.com *.linguatec.org 'unsafe-inline' 'unsafe-eval' data:",
"strict-transport-security": "max-age=31536000"
},
"body_size": 179974,
"final_url": "https://www.bayern.de/",
"duration_ms": 1109
},
"scanner": {
"bot_url": "https://saferpage.de/bot",
"context": "crawler",
"user_agent": "SaferPageCrawler/0.3 (+https://saferpage.de/bot; schedules passive DACH website checks; report examples: https://saferpage.de/tests; kostenloser Report: <a href=\"https://saferpage.de/bayern.de\">https://saferpage.de/bayern.de</a>)",
"default_user_agent": "SaferPageBot/0.2 (+https://saferpage.de/bot; passive website safety check; no attack tests)"
},
"domain_records": {
"mx": true,
"caa": true,
"spf": true,
"dmarc": true,
"dnssec": false,
"records": {
"mx": [
"10 mail.bayern.de."
],
"ns": [
"ns4.m-online.net.",
"ns.bayern.de.",
"ns3.m-online.net.",
"ns2.bayern.de."
],
"caa": [
"0 issue \"globalsign.com",
"0 issue \"digicert.com",
"0 issuewild \"telesec.de",
"0 issuewild \"globalsign.com",
"0 issue \"telesec.de",
"0 issue \"sectigo.com",
"0 issue \"letsencrypt.org",
"0 issuewild \"letsencrypt.org",
"0 issue \"eunetic.de",
"0 issuewild \"digicert.com",
"0 issuewild \"sectigo.com"
],
"txt": [
"v=spf1 ip4:195.200.70.64/26 ip4:193.34.207.156/31 ip4:193.34.207.154/31 ip4:46.29.101.1/32 ip4:46.29.101.2/32 ip4:217.150.155.10/32 ip4:217.150.155.12/32 -all"
],
"cname": [],
"dmarc": [
"v=DMARC1; p=reject; aspf=r; adkim=r; pct=100; rf=afrf; ri=86400"
],
"dnskey_present": false
},
"spf_includes": [],
"verifications": []
},
"googlebot_http": {
"ok": true,
"status": 200,
"headers": {
"age": "106",
"via": "1.1 varnish (Varnish/5.2)",
"date": "Thu, 18 Jun 2026 22:58:17 GMT",
"link": "<http://www.bayern.de>; rel=shortlink",
"vary": "Accept-Encoding",
"server": "CERN httpd",
"x-varnish": "58593274 44327252",
"connection": "close",
"set-cookie": "TS01ee0451=018dc40135afc463d15ae01ec1a3d81f527f36aa28a9d83b5c67fd2d5c7cce92ea844baabe23f6c2396e49b059e8fe3c8686b63733; Path=/",
"content-type": "text/html; charset=UTF-8",
"accept-ranges": "bytes",
"content-length": "179974",
"x-frame-options": "sameorigin",
"x-xss-protection": "1; mode=block",
"x-content-type-options": "nosniff",
"content-security-policy": "default-src 'self' *.bayern.de *.youtube.co *.youtube.com *.whappodo.com *.youtube-nocookie.com *.podigee.io *.podigee-cdn.net *.readspeaker.com *.linguatec.org 'unsafe-inline' 'unsafe-eval' data:",
"strict-transport-security": "max-age=31536000"
},
"body_size": 179974,
"final_url": "https://www.bayern.de/",
"duration_ms": 1189
},
"ai_search_policy_evidence": {
"files": [
{
"id": "robots_txt",
"url": "https://www.bayern.de/robots.txt",
"label": "robots.txt",
"reason": "",
"status": "found",
"body_size": 23,
"truncated": false,
"body_sha256": "3a125e84a637dc3f5442bb6949fa200056f37db4627b4c2a3addc55bbb89b703",
"duration_ms": 125,
"http_status": 200,
"ai_bot_policy": {
"bot_directives": [],
"explicit_ai_bots": [],
"explicit_ai_bot_count": 0,
"wildcard_directive_count": 1,
"wildcard_directives_sample": [
{
"value": "",
"directive": "disallow"
}
]
},
"relevant_lines": [
"User-agent: *",
"Disallow:"
]
},
{
"id": "llms_txt",
"url": "https://www.bayern.de/llms.txt",
"label": "llms.txt",
"reason": "fetch_failed",
"status": "not_available",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 3061,
"http_status": null,
"relevant_lines": []
},
{
"id": "ai_txt",
"url": "https://www.bayern.de/.well-known/ai.txt",
"label": "AI Policy",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 1360,
"http_status": 404,
"relevant_lines": []
},
{
"id": "ai_policy_txt",
"url": "https://www.bayern.de/.well-known/ai-policy.txt",
"label": "AI Policy",
"reason": "fetch_failed",
"status": "not_available",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 3066,
"http_status": null,
"relevant_lines": []
},
{
"id": "ward_txt",
"url": "https://www.bayern.de/.well-known/ward.txt",
"label": "WARD Policy",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 1188,
"http_status": 404,
"relevant_lines": []
}
],
"origin": "https://www.bayern.de",
"schema": "https://saferpage.de/schemas/ai-search-policy-evidence.v1",
"status": "checked",
"metrics": {
"file_count": 5,
"found_file_count": 1,
"policy_file_count": 0,
"explicit_ai_bot_count": 0
},
"summary": "1 von 5 Policy-Datei(en) gefunden; 0 explizite KI-Bot-Regel(n) in robots.txt.",
"available": true,
"guardrails": [
"Nur feste Same-Origin-Policy-Dateien",
"Keine Off-Host-Redirects",
"64-KB-Body-Limit",
"Öffentlich nur Hash, Status und kurze relevante Zeilen"
],
"known_ai_bots": [
"GPTBot",
"ChatGPT-User",
"Google-Extended",
"ClaudeBot",
"PerplexityBot",
"CCBot"
],
"explicit_ai_bots": [],
"policy_file_count": 0,
"llms_ward_policy_status": "not_publicly_verified",
"robots_ai_policy_status": "generic_robots_policy"
},
"adtech_transparency_evidence": {
"files": [
{
"id": "ads_txt",
"url": "https://www.bayern.de/ads.txt",
"label": "ads.txt",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 1916,
"http_status": 404,
"ads_txt_policy": [],
"relevant_lines": [],
"sellers_json_policy": []
},
{
"id": "app_ads_txt",
"url": "https://www.bayern.de/app-ads.txt",
"label": "app-ads.txt",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 1300,
"http_status": 404,
"ads_txt_policy": [],
"relevant_lines": [],
"sellers_json_policy": []
},
{
"id": "sellers_json",
"url": "https://www.bayern.de/sellers.json",
"label": "sellers.json",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 2466,
"http_status": 404,
"ads_txt_policy": [],
"relevant_lines": [],
"sellers_json_policy": []
}
],
"origin": "https://www.bayern.de",
"schema": "https://saferpage.de/schemas/adtech-transparency-evidence.v1",
"status": "checked",
"metrics": {
"file_count": 3,
"direct_count": 0,
"reseller_count": 0,
"found_file_count": 0,
"ads_txt_entry_count": 0,
"exchange_domain_count": 0,
"app_ads_txt_entry_count": 0,
"sellers_json_seller_count": 0
},
"summary": "0 von 3 AdTech-Transparenzdatei(en) gefunden; 0 DIRECT- und 0 RESELLER-Zeile(n).",
"available": true,
"guardrails": [
"Nur feste Same-Origin-AdTech-Dateien",
"Keine Off-Host-Redirects",
"64-KB-Body-Limit",
"Öffentlich nur Hash, Status, Zähler und kurze relevante Zeilen"
],
"direct_count": 0,
"ads_txt_found": false,
"reseller_count": 0,
"app_ads_txt_found": false,
"sellers_json_found": false,
"ads_txt_entry_count": 0,
"exchange_domain_count": 0,
"sellers_json_parse_ok": false,
"app_ads_txt_entry_count": 0,
"sellers_json_seller_count": 0
},
"security_trust_policy_evidence": {
"files": [
{
"id": "security_txt",
"url": "https://www.bayern.de/.well-known/security.txt",
"label": "security.txt",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 1697,
"http_status": 404,
"relevant_lines": [],
"security_txt_policy": []
},
{
"id": "security_txt_legacy",
"url": "https://www.bayern.de/security.txt",
"label": "security.txt legacy",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 1131,
"http_status": 404,
"relevant_lines": [],
"security_txt_policy": []
}
],
"origin": "https://www.bayern.de",
"schema": "https://saferpage.de/schemas/security-trust-policy-evidence.v1",
"status": "checked",
"metrics": {
"file_count": 2,
"field_count": 0,
"contact_count": 0,
"found_file_count": 0,
"preferred_well_known_found": 0
},
"summary": "0 von 2 security.txt-Ziel(en) gefunden; 0 Kontaktfeld(er), 0 strukturierte Feld(er).",
"available": true,
"guardrails": [
"Nur feste Same-Origin-security.txt-Ziele",
"Keine Off-Host-Redirects",
"64-KB-Body-Limit",
"Öffentlich nur Hash, Status und kurze relevante Zeilen"
],
"field_count": 0,
"contact_count": 0,
"fields_present": [],
"policy_present": false,
"expires_present": false,
"encryption_present": false,
"security_txt_found": false,
"preferred_well_known_found": false
}
},
"findings": [
{
"id": "pre_consent_nonessential_cookies",
"title": "Möglicherweise nicht notwendige Cookies vor Einwilligung",
"public": true,
"source": "chromium_cookie_inventory",
"cookies": [
"TS01ee0451",
"LB_STK_BAYERN_DE"
],
"audience": "nutzer",
"category": "privacy",
"severity": "warning",
"evidence_items": [
"TS01ee0451",
"LB_STK_BAYERN_DE"
],
"user_importance": 127,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "pii_sensitive_get_form",
"forms": [
{
"fields": [
"address",
"email"
]
}
],
"title": "Formular mit personenbezogenen Feldern nutzt GET",
"public": true,
"audience": "nutzer",
"category": "privacy",
"severity": "warning",
"user_importance": 124,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "consent_state_reject_evidence_failed",
"title": "Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus",
"public": true,
"audience": "nutzer",
"category": "privacy",
"severity": "warning",
"evidence_items": [
"Nach 'Ablehnen': 1 neue Cookie(s), 0 neue Tracking-Kontakt(e)"
],
"user_importance": 120,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "post_reject_new_cookies",
"count": 1,
"title": "Neue Cookies nach Ablehnen erkannt",
"public": true,
"audience": "nutzer",
"category": "privacy",
"severity": "warning",
"evidence_items": [
"Nach 'Ablehnen' neu gesetzt: 1 Cookie(s)"
],
"user_importance": 119,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "tracking_pixel_detected",
"count": 2,
"title": "Tracking-Pixel oder pixelnahe Requests erkannt",
"public": true,
"audience": "nutzer",
"category": "privacy",
"severity": "info",
"evidence_items": [
"https://www.bayern.de/wp-content/uploads/2021/02/Facebook.png",
"https://www.piwik.bayern.de/piwik/piwik.php?idsite=2"
],
"user_importance": 119,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "privacy_policy_provider_disclosure_gap",
"title": "Erkannte Anbieter fehlen in der Datenschutzerklärung",
"public": true,
"audience": "nutzer",
"category": "privacy",
"severity": "warning",
"evidence_items": [
"Erkannte Anbieter sind nicht alle in der Datenschutzerklärung erwähnt"
],
"user_importance": 116,
"importance_label": "Wichtig für Nutzer",
"missing_providers": [
"Matomo"
]
},
{
"id": "external_link_spam",
"title": "Sehr viele externe Links erkannt",
"public": true,
"audience": "nutzer",
"category": "seo",
"severity": "warning",
"evidence_items": [
"66 externe Links auf der Startseite"
],
"user_importance": 116,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "browser_keystroke_listener_signals",
"count": 148,
"title": "Viele Tastatur-/Eingabe-Listener im Browser erkannt",
"public": true,
"audience": "nutzer",
"category": "privacy",
"severity": "info",
"evidence_items": [
"Tastatur-Eingabe-Listener (Session-Replay-nah) im Browser-Lauf erkannt"
],
"user_importance": 110,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "cookie_missing_secure",
"title": "Cookie ohne Secure-Flag",
"public": true,
"cookies": [
"TS01ee0451"
],
"audience": "nutzer",
"category": "privacy",
"severity": "warning",
"evidence_items": [
"TS01ee0451"
],
"user_importance": 102,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "cookie_missing_samesite",
"title": "Cookie ohne SameSite-Attribut",
"public": true,
"cookies": [
"TS01ee0451"
],
"audience": "nutzer",
"category": "privacy",
"severity": "info",
"evidence_items": [
"TS01ee0451"
],
"user_importance": 98,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "csp_unsafe_inline",
"title": "CSP erlaubt unsafe-inline für Skripte",
"public": true,
"audience": "nutzer",
"category": "security_headers",
"severity": "warning",
"user_importance": 96,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "csp_unsafe_eval",
"title": "CSP erlaubt eval-nahe Skriptausführung",
"public": true,
"audience": "nutzer",
"category": "security_headers",
"severity": "warning",
"user_importance": 94,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "form_label_missing",
"count": 1,
"title": "Formularfelder ohne klare Beschriftung",
"public": true,
"audience": "nutzer",
"category": "accessibility",
"severity": "warning",
"evidence_items": [
"type=checkbox"
],
"user_importance": 92,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "csp_permissive_script_sources",
"title": "CSP erlaubt sehr breite Skriptquellen",
"public": true,
"sources": [
"*.bayern.de",
"*.youtube.co",
"*.youtube.com",
"*.whappodo.com",
"*.youtube-nocookie.com",
"*.podigee.io",
"*.podigee-cdn.net",
"*.readspeaker.com"
],
"audience": "nutzer",
"category": "security_headers",
"severity": "info",
"user_importance": 88,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "browser_consent_settings_missing",
"title": "Keine sichtbaren Cookie-Einstellungen im Banner",
"public": true,
"audience": "nutzer",
"category": "privacy",
"severity": "info",
"user_importance": 86,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "button_name_missing",
"count": 1,
"title": "Buttons ohne erkennbaren Namen",
"public": true,
"audience": "nutzer",
"category": "accessibility",
"severity": "warning",
"evidence_items": [
"type=submit class=\"button-search\""
],
"user_importance": 86,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "external_script_without_sri",
"count": 1,
"title": "Externe Skripte ohne Subresource Integrity",
"public": true,
"audience": "nutzer",
"category": "security_headers",
"severity": "info",
"evidence_items": [
"https://cdn-eu.readspeaker.com/script/14078/webReader/webReader.js?pids=wr"
],
"user_importance": 84,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "image_alt_missing",
"count": 32,
"title": "Bilder ohne Alternativtext",
"public": true,
"audience": "nutzer",
"category": "accessibility",
"severity": "info",
"evidence_items": [
"/wp-content/themes/bayernde/assets/images/svg/icon-men.svg",
"/wp-content/themes/bayernde/assets/images/svg/Close.svg",
"/wp-content/themes/bayernde/assets/images/svg/suche.svg",
"/wp-content/uploads/2026/06/260618JOK117-845x476.jpg",
"/wp-content/uploads/2026/06/260618JOK120-Cropped-845x476.jpg",
"/wp-content/uploads/2026/06/260618JOK123-845x476.jpg",
"/wp-content/uploads/2026/05/IMG_1464-845x476.jpeg",
"/wp-content/uploads/2026/05/IMG_1621.jpeg"
],
"user_importance": 82,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "large_html_response",
"title": "HTML-Antwort ist groß",
"public": true,
"audience": "nutzer",
"category": "performance",
"severity": "info",
"evidence_items": [
"HTML-Größe: 179974 Bytes"
],
"user_importance": 82,
"importance_label": "Wichtig für Nutzer"
},
{
"id": "csp_missing_object_src",
"title": "CSP ohne object-src",
"public": true,
"audience": "betreiber",
"category": "security_headers",
"severity": "info",
"evidence_items": [
"Content-Security-Policy ohne object-src-Direktive"
],
"user_importance": 76,
"importance_label": "Technischer Hinweis"
},
{
"id": "compression_missing",
"title": "Komprimierung nicht erkannt",
"public": true,
"audience": "betreiber",
"category": "performance",
"severity": "info",
"evidence_items": [
"HTTP-Antwort ohne gzip/br-Komprimierung (kein Content-Encoding-Header)"
],
"user_importance": 76,
"importance_label": "Technischer Hinweis"
},
{
"id": "csp_missing_base_uri",
"title": "CSP ohne base-uri",
"public": true,
"audience": "betreiber",
"category": "security_headers",
"severity": "info",
"evidence_items": [
"Content-Security-Policy ohne base-uri-Direktive"
],
"user_importance": 74,
"importance_label": "Technischer Hinweis"
},
{
"id": "too_many_render_blocking_assets",
"title": "Viele potenziell blockierende Assets",
"public": true,
"audience": "betreiber",
"category": "performance",
"severity": "info",
"evidence_items": [
"Viele render-blockierende CSS/JS-Ressourcen im <head> der Startseite"
],
"user_importance": 74,
"importance_label": "Technischer Hinweis"
},
{
"id": "missing_cross_origin_embedder_policy",
"title": "Cross-Origin-Embedder-Policy fehlt",
"public": true,
"audience": "betreiber",
"category": "security_headers",
"severity": "info",
"evidence_items": [
"HTTP-Header „Cross-Origin-Embedder-Policy\" fehlt in der Antwort der Startseite"
],
"user_importance": 68,
"importance_label": "Technischer Hinweis"
},
{
"id": "sampled_internal_page_error",
"title": "Mindestens eine priorisierte Unterseite war nicht erfolgreich abrufbar",
"public": true,
"audience": "betreiber",
"category": "crawl",
"severity": "info",
"evidence_items": [
"https://www.bayern.de/datenschutz → HTTP None",
"https://www.bayern.de/impressum → HTTP None",
"https://www.bayern.de/buergerservice/kontakt → HTTP None"
],
"user_importance": 68,
"importance_label": "Technischer Hinweis"
},
{
"id": "missing_cross_origin_opener_policy",
"title": "Cross-Origin-Opener-Policy fehlt",
"public": true,
"audience": "betreiber",
"category": "security_headers",
"severity": "info",
"evidence_items": [
"HTTP-Header „Cross-Origin-Opener-Policy\" fehlt in der Antwort der Startseite"
],
"user_importance": 66,
"importance_label": "Technischer Hinweis"
},
{
"id": "missing_cross_origin_resource_policy",
"title": "Cross-Origin-Resource-Policy fehlt",
"public": true,
"audience": "betreiber",
"category": "security_headers",
"severity": "info",
"evidence_items": [
"HTTP-Header „Cross-Origin-Resource-Policy\" fehlt in der Antwort der Startseite"
],
"user_importance": 64,
"importance_label": "Technischer Hinweis"
},
{
"id": "consent_banner_dark_pattern_risk",
"count": 1,
"title": "Consent-Banner mit Dark-Pattern-/UX-Risiko",
"public": true,
"audience": "betreiber",
"category": "privacy",
"severity": "warning",
"evidence_items": [
"Banner-UX: Akzeptieren 1 vs. Ablehnen 1 – Ablehnen weniger prominent/gleichwertig"
],
"user_importance": 60,
"importance_label": "Technischer Hinweis"
},
{
"id": "missing_referrer_policy",
"title": "Referrer-Policy fehlt",
"public": true,
"audience": "betreiber",
"category": "security_headers",
"severity": "info",
"evidence_items": [
"HTTP-Header „Referrer-Policy\" fehlt in der Antwort der Startseite"
],
"user_importance": 40,
"importance_label": "Technischer Hinweis"
},
{
"id": "missing_permissions_policy",
"title": "Permissions-Policy fehlt",
"public": true,
"audience": "betreiber",
"category": "security_headers",
"severity": "info",
"evidence_items": [
"HTTP-Header „Permissions-Policy\" fehlt in der Antwort der Startseite"
],
"user_importance": 40,
"importance_label": "Technischer Hinweis"
},
{
"id": "unknown_vendor_jurisdiction",
"title": "Anbieter-Jurisdiktion nicht klar ableitbar",
"public": true,
"audience": "betreiber",
"category": "privacy",
"severity": "info",
"evidence_items": [
"Drittanbieter mit unklarer Anbieter-Jurisdiktion / möglichem Drittlandtransfer"
],
"user_importance": 30,
"importance_label": "Technischer Hinweis"
}
],
"audit_modules": [
{
"id": "security_tls",
"color": "red",
"score": 46,
"title": "Sicherheit, TLS & Header",
"source": "DNS, TLS, HTTP-Status, Zertifikat und Security-Header",
"status": "kritisch",
"evidence": "0 Infrastruktur-Hinweis(e), Security-Header: 4/9 vorhanden, 5 fehlen, externe Skript-Hosts: 1."
},
{
"id": "accessibility_usability",
"color": "orange",
"score": 56,
"title": "Barrierefreiheit & Usability",
"source": "Passives HTML-Sample: Bilder, Formulare, Buttons, Sprache, Headings und Viewport",
"status": "auffällig",
"evidence": "32 Bild(er) ohne alt, 1 Formularfeld(er) ohne Beschriftung, 1 Button(s) ohne Namen."
},
{
"id": "browser_evidence",
"color": "orange",
"score": 70,
"title": "Browser-Nachweis",
"source": "Headless Chromium mit Screenshot- und Request-Telemetrie",
"status": "auffällig",
"evidence": "109 Request(s), 2 Drittanbieter-Domain(s), davon 0 datenschutzrelevant, 2 Browser-Cookie(s), Transfer-Prüfbedarf: 0, Referrer-/URL-Leaks: 0, Fingerprinting-/Replay-Hinweise: 1."
},
{
"id": "site_coverage",
"color": "orange",
"score": 71,
"title": "Seitenabdeckung & Crawl",
"source": "Startseiten-Links, Compliance-Links und begrenzter interner Zusatzabruf",
"status": "auffällig",
"evidence": "30 interne Linkziele erkannt, 4 priorisierte Unterseite(n) abgerufen."
},
{
"id": "privacy_consent",
"color": "orange",
"score": 72,
"title": "Datenschutz, Cookies & Consent",
"source": "Browser, HTTP-Header, HTML und Consent-/Cookie-Heuristik",
"status": "auffällig",
"evidence": "0 Tracking-Script(s), 2 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: ja, Consent-Audit: 72."
},
{
"id": "tracking_pixels_beacons",
"color": "yellow",
"score": 80,
"title": "Tracking-Pixel & Beacons",
"source": "HTML-Pixel, Link-Ping-Attribute, Chromium-Requests und Browser-API-Instrumentierung",
"status": "prüfen",
"evidence": "2 Pixel-/Bildtracking-Hinweis(e), 0 Beacon-/Telemetry-Hinweis(e), 0 Link-Ping(s)."
},
{
"id": "performance_mobile",
"color": "yellow",
"score": 82,
"title": "Performance & mobile Nutzbarkeit",
"source": "HTTP-Antwort, HTML-Größe, Komprimierung und mobile Basis",
"status": "prüfen",
"evidence": "Performance-Score 82, Antwortzeit 1109 ms."
},
{
"id": "seo_integrity",
"color": "yellow",
"score": 82,
"title": "SEO-Integrität & Cloaking",
"source": "HTML-Inhalt, strukturierte Daten, Links und Googlebot-Vergleich",
"status": "prüfen",
"evidence": "1 SEO-Spam-Hinweis(e), 0 Cloaking-Hinweis(e)."
},
{
"id": "forms_payments",
"color": "yellow",
"score": 84,
"title": "Formulare, Login & Zahlung",
"source": "HTML-Formulare, Eingabefelder, Zahlungsanbieter und Kontextlinks",
"status": "prüfen",
"evidence": "Aus diesem Rohfeld wird im Report keine zusätzliche Scan-Feststellung abgeleitet; Betreiberkontext und Umsetzungshinweise stehen auf separaten Seiten."
},
{
"id": "pii_exposure",
"color": "yellow",
"score": 86,
"title": "PII, URL-Parameter & Datenleck-Schutz",
"source": "URL-Parameter, interne Links, HTML-Formulare, Browser-Drittanbieter und Dateneingabe-Kontext",
"status": "prüfen",
"evidence": "1 PII-/Datenleck-Hinweis(e) aus URL-, Formular- und Browserkontext."
},
{
"id": "cookie_inventory",
"color": "green",
"score": 95,
"title": "Cookie-Inventar",
"source": "HTTP-Set-Cookie und Chromium-Cookies beim ersten Seitenaufruf",
"status": "unauffällig",
"evidence": "2 Cookie(s), 0 Tracking-/Werbe-Cookie(s), 0 Drittanbieter-Cookie(s), 0 langlebig, 0 sehr lang."
},
{
"id": "script_supply_chain",
"color": "green",
"score": 96,
"title": "Externe Skripte & SRI",
"source": "HTML-Script-Tags, Anbieterklassifikation und SRI-Attribute",
"status": "unauffällig",
"evidence": "1 externe Skript(e) von 1 Host(s), 1 ohne SRI, 0 Tracking-/Tag-nahe Skript(e)."
},
{
"id": "consent_journey",
"color": "green",
"score": 100,
"title": "Consent-Journey-Matrix",
"source": "Chromium-Zustände: Erstaufruf, Reject, Accept und GPC",
"status": "unauffällig",
"evidence": "Consent-Journey: 0 neue Datenschutz-Domain(s) nach Ablehnen, 0 nach Akzeptieren, 0 im GPC-Aufruf."
},
{
"id": "embedded_content",
"color": "green",
"score": 100,
"title": "Externe Inhalte & Widgets",
"source": "HTML-Embeds und Chromium-Drittanbieter-Requests",
"status": "unauffällig",
"evidence": "0 externe Embed-/Widget-Dienst(e), 0 davon im ersten Browseraufruf geladen."
},
{
"id": "google_third_parties",
"color": "green",
"score": 100,
"title": "Google-Dienste & Drittanbieter",
"source": "Chromium-Requests, Anbieterklassifikation und Google Consent Mode Heuristik",
"status": "unauffällig",
"evidence": "Keine Google-Domain, keine Google-Tracking-ID und keine datenschutzrelevanten Drittanbieter im passiven Check erkannt."
},
{
"id": "operator_transparency",
"color": "green",
"score": 100,
"title": "Impressum, Kontakt & Datenschutzerklärung",
"source": "Deutschsprachige Betreiber- und Datenschutzhinweis-Erkennung",
"status": "unauffällig",
"evidence": "Impressum: ja, Datenschutz: ja, Kontakt: ja."
},
{
"id": "referrer_url_leaks",
"color": "green",
"score": 100,
"title": "Referrer & URL-Leaks",
"source": "Chromium-Request-Telemetrie ohne gespeicherte Parameterwerte",
"status": "unauffällig",
"evidence": "0 Drittanbieter-Domain(s) mit Referrer-/URL-Leak-Prüfbedarf, 0 sensible Query-Kontexte."
}
],
"ai_search_policy_evidence": {
"files": [
{
"id": "robots_txt",
"url": "https://www.bayern.de/robots.txt",
"label": "robots.txt",
"reason": "",
"status": "found",
"body_size": 23,
"truncated": false,
"body_sha256": "3a125e84a637dc3f5442bb6949fa200056f37db4627b4c2a3addc55bbb89b703",
"duration_ms": 125,
"http_status": 200,
"ai_bot_policy": {
"bot_directives": [],
"explicit_ai_bots": [],
"explicit_ai_bot_count": 0,
"wildcard_directive_count": 1,
"wildcard_directives_sample": [
{
"value": "",
"directive": "disallow"
}
]
},
"relevant_lines": [
"User-agent: *",
"Disallow:"
]
},
{
"id": "llms_txt",
"url": "https://www.bayern.de/llms.txt",
"label": "llms.txt",
"reason": "fetch_failed",
"status": "not_available",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 3061,
"http_status": null,
"relevant_lines": []
},
{
"id": "ai_txt",
"url": "https://www.bayern.de/.well-known/ai.txt",
"label": "AI Policy",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 1360,
"http_status": 404,
"relevant_lines": []
},
{
"id": "ai_policy_txt",
"url": "https://www.bayern.de/.well-known/ai-policy.txt",
"label": "AI Policy",
"reason": "fetch_failed",
"status": "not_available",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 3066,
"http_status": null,
"relevant_lines": []
},
{
"id": "ward_txt",
"url": "https://www.bayern.de/.well-known/ward.txt",
"label": "WARD Policy",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 1188,
"http_status": 404,
"relevant_lines": []
}
],
"origin": "https://www.bayern.de",
"schema": "https://saferpage.de/schemas/ai-search-policy-evidence.v1",
"status": "checked",
"metrics": {
"file_count": 5,
"found_file_count": 1,
"policy_file_count": 0,
"explicit_ai_bot_count": 0
},
"summary": "1 von 5 Policy-Datei(en) gefunden; 0 explizite KI-Bot-Regel(n) in robots.txt.",
"available": true,
"guardrails": [
"Nur feste Same-Origin-Policy-Dateien",
"Keine Off-Host-Redirects",
"64-KB-Body-Limit",
"Öffentlich nur Hash, Status und kurze relevante Zeilen"
],
"known_ai_bots": [
"GPTBot",
"ChatGPT-User",
"Google-Extended",
"ClaudeBot",
"PerplexityBot",
"CCBot"
],
"explicit_ai_bots": [],
"policy_file_count": 0,
"llms_ward_policy_status": "not_publicly_verified",
"robots_ai_policy_status": "generic_robots_policy"
},
"adtech_transparency_evidence": {
"files": [
{
"id": "ads_txt",
"url": "https://www.bayern.de/ads.txt",
"label": "ads.txt",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 1916,
"http_status": 404,
"ads_txt_policy": [],
"relevant_lines": [],
"sellers_json_policy": []
},
{
"id": "app_ads_txt",
"url": "https://www.bayern.de/app-ads.txt",
"label": "app-ads.txt",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 1300,
"http_status": 404,
"ads_txt_policy": [],
"relevant_lines": [],
"sellers_json_policy": []
},
{
"id": "sellers_json",
"url": "https://www.bayern.de/sellers.json",
"label": "sellers.json",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 2466,
"http_status": 404,
"ads_txt_policy": [],
"relevant_lines": [],
"sellers_json_policy": []
}
],
"origin": "https://www.bayern.de",
"schema": "https://saferpage.de/schemas/adtech-transparency-evidence.v1",
"status": "checked",
"metrics": {
"file_count": 3,
"direct_count": 0,
"reseller_count": 0,
"found_file_count": 0,
"ads_txt_entry_count": 0,
"exchange_domain_count": 0,
"app_ads_txt_entry_count": 0,
"sellers_json_seller_count": 0
},
"summary": "0 von 3 AdTech-Transparenzdatei(en) gefunden; 0 DIRECT- und 0 RESELLER-Zeile(n).",
"available": true,
"guardrails": [
"Nur feste Same-Origin-AdTech-Dateien",
"Keine Off-Host-Redirects",
"64-KB-Body-Limit",
"Öffentlich nur Hash, Status, Zähler und kurze relevante Zeilen"
],
"direct_count": 0,
"ads_txt_found": false,
"reseller_count": 0,
"app_ads_txt_found": false,
"sellers_json_found": false,
"ads_txt_entry_count": 0,
"exchange_domain_count": 0,
"sellers_json_parse_ok": false,
"app_ads_txt_entry_count": 0,
"sellers_json_seller_count": 0
},
"security_trust_policy_evidence": {
"files": [
{
"id": "security_txt",
"url": "https://www.bayern.de/.well-known/security.txt",
"label": "security.txt",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 1697,
"http_status": 404,
"relevant_lines": [],
"security_txt_policy": []
},
{
"id": "security_txt_legacy",
"url": "https://www.bayern.de/security.txt",
"label": "security.txt legacy",
"reason": "http_error",
"status": "missing",
"body_size": 0,
"truncated": false,
"body_sha256": "",
"duration_ms": 1131,
"http_status": 404,
"relevant_lines": [],
"security_txt_policy": []
}
],
"origin": "https://www.bayern.de",
"schema": "https://saferpage.de/schemas/security-trust-policy-evidence.v1",
"status": "checked",
"metrics": {
"file_count": 2,
"field_count": 0,
"contact_count": 0,
"found_file_count": 0,
"preferred_well_known_found": 0
},
"summary": "0 von 2 security.txt-Ziel(en) gefunden; 0 Kontaktfeld(er), 0 strukturierte Feld(er).",
"available": true,
"guardrails": [
"Nur feste Same-Origin-security.txt-Ziele",
"Keine Off-Host-Redirects",
"64-KB-Body-Limit",
"Öffentlich nur Hash, Status und kurze relevante Zeilen"
],
"field_count": 0,
"contact_count": 0,
"fields_present": [],
"policy_present": false,
"expires_present": false,
"encryption_present": false,
"security_txt_found": false,
"preferred_well_known_found": false
},
"site_coverage_analysis": {
"color": "orange",
"pages": [
{
"url": "https://www.bayern.de/datenschutz",
"path": "/datenschutz",
"text": "Datenschutzerklärung",
"source": "homepage_link",
"category": "datenschutz",
"priority": 100
},
{
"url": "https://www.bayern.de/impressum",
"path": "/impressum",
"text": "Impressum",
"source": "homepage_link",
"category": "impressum",
"priority": 96
},
{
"url": "https://www.bayern.de/buergerservice/kontakt",
"path": "/buergerservice/kontakt",
"text": "Kontakt BAYERN|DIREKT",
"source": "homepage_link",
"category": "kontakt",
"priority": 90
},
{
"url": "https://www.bayern.de/buergerservice/newsletter",
"path": "/buergerservice/newsletter",
"text": "Newsletter",
"source": "homepage_link",
"category": "newsletter",
"priority": 64
},
{
"url": "https://www.bayern.de/presse/presse-abo",
"path": "/presse/presse-abo",
"text": "Presse-Abo",
"source": "homepage_link",
"category": "newsletter",
"priority": 64
},
{
"url": "https://www.bayern.de/staatsregierung/preise-und-auszeichnungen",
"path": "/staatsregierung/preise-und-auszeichnungen",
"text": "Preise und Auszeichnungen",
"source": "homepage_link",
"category": "preise",
"priority": 58
},
{
"url": "https://www.bayern.de/and-the-winner-is-beste-metzgereien-bayerns-erhalten-staatsehrenpreis-2026",
"path": "/and-the-winner-is-beste-metzgereien-bayerns-erhalten-staatsehrenpreis-2026",
"text": "„And the winner is …“ – beste Metzgereien Bayerns erhalten Staatsehrenpreis 2026",
"source": "homepage_link",
"category": "unterseite",
"priority": 20
},
{
"url": "https://www.bayern.de/bericht-aus-der-kabinettssitzung-vom-16-juni-2026",
"path": "/bericht-aus-der-kabinettssitzung-vom-16-juni-2026",
"text": "Kabinettssitzung am 16. Juni 2026",
"source": "homepage_link",
"category": "unterseite",
"priority": 20
},
{
"url": "https://www.bayern.de/buergerservice/apps-messenger-rss",
"path": "/buergerservice/apps-messenger-rss",
"text": "Apps, Messenger, RSS",
"source": "homepage_link",
"category": "unterseite",
"priority": 20
},
{
"url": "https://www.bayern.de/buergerservice/broschueren",
"path": "/buergerservice/broschueren",
"text": "Broschüren",
"source": "homepage_link",
"category": "unterseite",
"priority": 20
},
{
"url": "https://www.bayern.de/buergerservice/buergerbeauftragter",
"path": "/buergerservice/buergerbeauftragter",
"text": "Bürgerbeauftragter",
"source": "homepage_link",
"category": "unterseite",
"priority": 20
},
{
"url": "https://www.bayern.de/buergerservice/gebaerdensprache",
"path": "/buergerservice/gebaerdensprache",
"text": "Gebärdensprache",
"source": "homepage_link",
"category": "unterseite",
"priority": 20
}
],
"score": 71,
"status": "auffällig",
"summary": "30 interne Linkziele erkannt (0 aus Sitemap), 4 priorisierte Unterseite(n) zusätzlich abgerufen.",
"findings": [
{
"id": "sampled_internal_page_error",
"title": "Mindestens eine priorisierte Unterseite war nicht erfolgreich abrufbar",
"public": true,
"category": "crawl",
"severity": "info"
},
{
"id": "privacy_policy_provider_disclosure_gap",
"title": "Erkannte Anbieter fehlen in der Datenschutzerklärung",
"public": true,
"category": "privacy",
"severity": "warning",
"missing_providers": [
"Matomo"
]
}
],
"robots_ok": true,
"categories": {
"preise": 1,
"kontakt": 1,
"impressum": 1,
"newsletter": 2,
"unterseite": 24,
"datenschutz": 1
},
"sample_limit": 4,
"sampled_count": 4,
"sampled_pages": [
{
"ok": false,
"url": "https://www.bayern.de/datenschutz",
"path": "/datenschutz",
"audit": [],
"forms": 0,
"title": "",
"status": null,
"category": "datenschutz",
"duration_ms": 4039,
"privacy_hint": false,
"privacy_policy_audit": []
},
{
"ok": false,
"url": "https://www.bayern.de/impressum",
"path": "/impressum",
"audit": [],
"forms": 0,
"title": "",
"status": null,
"category": "impressum",
"duration_ms": 4040,
"privacy_hint": false,
"privacy_policy_audit": []
},
{
"ok": false,
"url": "https://www.bayern.de/buergerservice/kontakt",
"path": "/buergerservice/kontakt",
"audit": [],
"forms": 0,
"title": "",
"status": null,
"category": "kontakt",
"duration_ms": 4040,
"privacy_hint": false,
"privacy_policy_audit": []
},
{
"ok": true,
"url": "https://www.bayern.de/buergerservice/newsletter",
"path": "/buergerservice/newsletter",
"audit": {
"form_count": 3,
"finding_ids": [
"cookie_missing_secure",
"cookie_missing_samesite",
"operator_identity_unclear"
],
"cookie_count": 1,
"imprint_found": true,
"consent_hint_found": true,
"reject_option_found": true,
"privacy_policy_found": true,
"tracking_script_count": 0,
"pre_consent_cookie_count": 1,
"pre_consent_tracking_cookie_count": 0
},
"forms": 3,
"title": "Newsletter – Bayerisches Landesportal",
"status": 200,
"category": "newsletter",
"duration_ms": 1461,
"privacy_hint": true,
"privacy_policy_audit": []
}
],
"robots_checked": true,
"sitemap_sources": [
"https://www.bayern.de/sitemap.xml",
"http://www.bayern.de/wp-sitemap-posts-post-1.xml",
"http://www.bayern.de/wp-sitemap-posts-post-2.xml",
"http://www.bayern.de/wp-sitemap-posts-post-3.xml",
"http://www.bayern.de/wp-sitemap-posts-post-4.xml",
"http://www.bayern.de/wp-sitemap-posts-post-5.xml",
"http://www.bayern.de/wp-sitemap-posts-post-6.xml",
"http://www.bayern.de/wp-sitemap-posts-post-7.xml"
],
"sitemap_available": true,
"sitemap_url_count": 0,
"homepage_link_count": 207,
"internal_link_count": 30,
"privacy_policy_audit": [],
"sitemap_source_count": 8,
"provider_disclosure_audit": {
"color": "red",
"found": [],
"score": 0,
"checks": [
{
"id": "analytics_matomo",
"found": false,
"category": "analytics",
"evidence": [
"piwik.bayern.de"
],
"keywords": [
"matomo",
"piwik"
],
"provider": "Matomo",
"category_label": "Sonstige"
}
],
"reason": "no_policy_text",
"status": "kritisch",
"missing": [
"Matomo"
],
"summary": "1 technische Anbieter erkannt, aber keine Datenschutzerklärung im Sample ausgewertet.",
"available": true,
"missing_count": 1,
"detected_count": 1,
"mentioned_count": 0
},
"important_categories_found": [
"datenschutz",
"impressum",
"kontakt"
],
"sampled_tracking_page_count": 0,
"sampled_form_privacy_gap_count": 0,
"sitemap_candidate_source_count": 1
},
"page_analysis": {
"h1": [
"Offizielles Landesportal der Bayerischen Staatsregierung: Aktuelle Meldungen, Informationen zum Freistaat Bayern, Politikthemen."
],
"h2": [
"<a href=\"/bericht-aus-der-kabinettssitzung-vom-16-juni-2026/\" target=\"_self\">Kabinettssitzung am 16. Juni 2026</a>",
"<a href=\"/muenchner-bewerbungskonzept-fuer-olympische-und-paralympische-spiele/\" target=\"_self\"> Münchner Bewerbungskonzept für Olympische und Paralympische Spiele</a>",
"<a href=\"/veraendern-um-zu-bewahren-die-bayern-agenda-2030/\" target=\"_self\">Verändern, um zu bewahren: Die Bayern-Agenda 2030</a>",
"<a href=\"/yad-vashem-eroeffnet-bildungszentrum-ministerpraesident-dr-soeder-was-fuer-eine-ehre-bayern-wird-fuer-yad-vashem-ein-gutes-zuhause-sein/\" target=\"_self\">Yad Vashem eröffnet Bildungszentrum in München</a>",
"<a href=\"/eusalp-ai-hackathon/\" target=\"_self\"> EUSALP AI Hackathon</a>",
"<a href=\"/staatsminister-dr-herrmann-in-den-usa-und-kanada/\" target=\"_self\"> Staatsminister Dr. Herrmann in den USA und Kanada</a>",
"Bayern in Zahlen",
"Presse",
"Bayern in",
"Social Media"
],
"title": "Bayerisches Landesportal – Das Landesportal des Freistaats Bayern und der Bayerischen Staatsregierung",
"keywords": [
[
"bayern",
65
],
[
"münchen",
50
],
[
"gemeinsam",
30
],
[
"olympia",
25
],
[
"freistaat",
18
],
[
"will",
18
],
[
"youtube",
17
],
[
"spiele",
16
],
[
"schalter",
15
],
[
"daten",
14
]
],
"language": "de",
"description": "Offizielles Landesportal der Bayerischen Staatsregierung: Aktuelle Meldungen, Infos zum Freistaat Bayern, Politikthemen.",
"favicon_url": "https://www.bayern.de/favicon.ico",
"link_counts": {
"external": 50,
"internal": 157
},
"preview_image": "/cache/screenshots/bayern.de-160x150-dfd1ba2e26dd033bfd.png",
"screenshot_url": "/cache/screenshots/bayern.de-160x150-dfd1ba2e26dd033bfd.png",
"external_scripts": [
"https://cdn-eu.readspeaker.com/script/14078/webReader/webReader.js?pids=wr"
],
"browser_final_url": "https://www.bayern.de/",
"meta_preview_image": "",
"screenshot_renderer": "playwright-chromium",
"external_link_targets": [
{
"host": "facebook.com",
"count": 11,
"examples": [
{
"href": "https://www.facebook.com/bayern",
"text": "www.facebook.com"
},
{
"href": "https://www.facebook.com/bayern",
"text": "www.facebook.com"
},
{
"href": "https://www.facebook.com/reel/1338422578458767/",
"text": ""
}
],
"nofollow": 0,
"strength": "strong",
"follow_count": 11
},
{
"host": "instagram.com",
"count": 11,
"examples": [
{
"href": "https://www.instagram.com/bayern.de",
"text": "www.instagram.com"
},
{
"href": "https://www.instagram.com/bayern.de",
"text": "www.instagram.com"
},
{
"href": "https://www.instagram.com/reel/DZvOBAZsQE5/",
"text": ""
}
],
"nofollow": 0,
"strength": "strong",
"follow_count": 11
},
{
"host": "youtube.com",
"count": 9,
"examples": [
{
"href": "https://www.youtube.com/watch?v=h2qXko4XXx0",
"text": "Zur Pressekonferenz auf YouTube"
},
{
"href": "https://www.youtube.com/watch?v=L0kiIiPIZMY",
"text": "Zum Video"
},
{
"href": "https://www.youtube.com/watch?v=hGEl03yseaM",
"text": "Zur Regierungserklärung auf YouTube"
}
],
"nofollow": 0,
"strength": "strong",
"follow_count": 9
},
{
"host": "linkedin.com",
"count": 5,
"examples": [
{
"href": "https://www.linkedin.com/company/bayernde",
"text": "www.linkedin.com"
},
{
"href": "https://www.linkedin.com/company/bayernde",
"text": "www.linkedin.com"
},
{
"href": "https://www.linkedin.com/company/bayernde",
"text": "www.linkedin.com"
}
],
"nofollow": 0,
"strength": "strong",
"follow_count": 5
},
{
"host": "tiktok.com",
"count": 4,
"examples": [
{
"href": "https://www.tiktok.com/@bayern.de",
"text": "www.tiktok.com"
},
{
"href": "https://www.tiktok.com/@bayern.de",
"text": "www.tiktok.com"
},
{
"href": "https://www.tiktok.com/@bayern.de",
"text": "www.tiktok.com"
}
],
"nofollow": 0,
"strength": "strong",
"follow_count": 4
},
{
"host": "barrierefrei.bayern.de",
"count": 1,
"examples": [
{
"href": "https://www.barrierefrei.bayern.de/",
"text": ""
}
],
"nofollow": 0,
"strength": "weak",
"follow_count": 1
},
{
"host": "buergerbeauftragter.bayern",
"count": 1,
"examples": [
{
"href": "https://www.buergerbeauftragter.bayern/",
"text": ""
}
],
"nofollow": 0,
"strength": "weak",
"follow_count": 1
},
{
"host": "de-de.facebook.com",
"count": 1,
"examples": [
{
"href": "https://de-de.facebook.com/bayern/",
"text": ""
}
],
"nofollow": 0,
"strength": "weak",
"follow_count": 1
},
{
"host": "freistaat.bayern",
"count": 1,
"examples": [
{
"href": "https://www.freistaat.bayern/",
"text": ""
}
],
"nofollow": 0,
"strength": "weak",
"follow_count": 1
},
{
"host": "genusserbe.bayern.de",
"count": 1,
"examples": [
{
"href": "https://www.genusserbe.bayern.de/350736/index.php",
"text": "Zu den Braustatistiken"
}
],
"nofollow": 0,
"strength": "strong",
"follow_count": 1
},
{
"host": "hightechagenda.de",
"count": 1,
"examples": [
{
"href": "https://www.hightechagenda.de/",
"text": ""
}
],
"nofollow": 0,
"strength": "weak",
"follow_count": 1
},
{
"host": "statistik.bayern.de",
"count": 1,
"examples": [
{
"href": "https://www.statistik.bayern.de/presse/mitteilungen/2026/pm136/index.html",
"text": "Zu den Gesundheitsstatistiken"
}
],
"nofollow": 0,
"strength": "strong",
"follow_count": 1
},
{
"host": "stmd.bayern.de",
"count": 1,
"examples": [
{
"href": "https://www.stmd.bayern.de/themen/digitale-verwaltung/bayernapp/",
"text": ""
}
],
"nofollow": 0,
"strength": "weak",
"follow_count": 1
},
{
"host": "twitter.com",
"count": 1,
"examples": [
{
"href": "https://twitter.com/intent/tweet?url=http%3A%2F%2Fwww.bayern.de%2F&text=Startseite",
"text": "tweet 0 -->"
}
],
"nofollow": 0,
"strength": "strong",
"follow_count": 1
},
{
"host": "app-eu.readspeaker.com",
"count": 1,
"examples": [
{
"href": "https://app-eu.readspeaker.com/cgi-bin/rsent?customerid=14078&lang=de_de&readid=maincontent&url=www.bayern.de%2F",
"text": "Vorlesen"
}
],
"nofollow": 1,
"strength": "weak",
"follow_count": 0
}
]
},
"browser_analysis": {
"cookies": {
"items": [
{
"name": "LB_STK_BAYERN_DE",
"domain": "www.bayern.de",
"secure": true,
"expires": -1,
"http_only": true,
"same_site": "Lax"
},
{
"name": "TS01ee0451",
"domain": "www.bayern.de",
"secure": false,
"expires": -1,
"http_only": false,
"same_site": "Lax"
}
],
"total": 2,
"third_party": 0
},
"storage": {
"total": 0,
"local_storage_keys": [],
"tracking_key_hints": [],
"local_storage_total": 0,
"session_storage_keys": [],
"session_storage_total": 0
},
"findings": [
{
"id": "browser_consent_settings_missing",
"title": "Keine sichtbaren Cookie-Einstellungen im Banner",
"public": true,
"category": "privacy",
"severity": "info"
},
{
"id": "post_reject_new_cookies",
"count": 1,
"title": "Neue Cookies nach Ablehnen erkannt",
"public": true,
"category": "privacy",
"severity": "warning"
},
{
"id": "unknown_vendor_jurisdiction",
"title": "Anbieter-Jurisdiktion nicht klar ableitbar",
"public": true,
"category": "privacy",
"severity": "info"
},
{
"id": "browser_keystroke_listener_signals",
"count": 148,
"title": "Viele Tastatur-/Eingabe-Listener im Browser erkannt",
"public": true,
"category": "privacy",
"severity": "info"
},
{
"id": "consent_state_reject_evidence_failed",
"title": "Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus",
"public": true,
"category": "privacy",
"severity": "warning"
},
{
"id": "tracking_pixel_detected",
"count": 2,
"title": "Tracking-Pixel oder pixelnahe Requests erkannt",
"public": true,
"category": "privacy",
"severity": "info"
}
],
"renderer": "playwright-chromium",
"final_url": "https://www.bayern.de/",
"consent_ui": {
"accept_controls": [
{
"tag": "button",
"top": 105,
"area": 5720,
"left": 162,
"text": "Zustimmen",
"color": "rgb(255, 255, 255)",
"width": 130,
"height": 44,
"background": "rgb(0, 63, 111)",
"font_weight": "400"
}
],
"accept_max_area": 5720,
"reject_controls": [
{
"tag": "button",
"top": 105,
"area": 5720,
"left": 27,
"text": "Ablehnen",
"color": "rgb(255, 255, 255)",
"width": 130,
"height": 44,
"background": "rgb(0, 63, 111)",
"font_weight": "400"
}
],
"reject_max_area": 5720,
"settings_controls": [],
"first_layer_summary": "Akzeptieren 1 / Ablehnen 1 / Einstellungen 0",
"cookie_context_found": true,
"reject_less_prominent": false,
"visible_control_count": 9,
"reject_prominence_ratio": 1
},
"gpc_signal": {
"error": "",
"enabled": true,
"storage": {
"total": 0,
"tracking_key_hints": [],
"local_storage_total": 0,
"session_storage_total": 0
},
"cookie_count": 2,
"request_count": 107,
"sec_gpc_header": true,
"navigator_value": true,
"contacted_domains": [
{
"host": "bayern.de",
"count": 104,
"category": "other",
"provider": "bayern.de",
"third_party": false,
"category_label": "Sonstige",
"resource_types": {
"font": 2,
"image": 66,
"script": 14,
"document": 1,
"stylesheet": 21
}
},
{
"host": "cdn-eu.readspeaker.com",
"count": 2,
"category": "other",
"provider": "cdn-eu.readspeaker.com",
"third_party": true,
"category_label": "Sonstige",
"resource_types": {
"script": 1,
"stylesheet": 1
}
},
{
"host": "piwik.bayern.de",
"count": 1,
"category": "other",
"provider": "piwik.bayern.de",
"third_party": true,
"category_label": "Sonstige",
"resource_types": {
"script": 1
}
}
],
"contacted_domain_count": 3,
"privacy_relevant_domains": [],
"third_party_cookie_count": 0,
"third_party_domain_count": 2,
"privacy_relevant_domain_count": 0
},
"screenshot": {
"fit": "contain",
"width": 160,
"height": 150,
"source_width": 1024,
"source_height": 960,
"source_capture": "full_page",
"capture_version": "contain-v4-viewport-transparency-160x150"
},
"consent_apis": {
"cmpapi": false,
"tcfapi": false,
"onetrust": false,
"cookiebot": false,
"data_layer": false,
"cmp_detected": false,
"usercentrics": false,
"google_tag_data": false
},
"accept_signal": {
"error": "",
"enabled": true,
"storage": {
"total": 0,
"tracking_key_hints": [],
"local_storage_total": 0,
"session_storage_total": 0
},
"clicked_text": "Zustimmen",
"accept_clicked": true,
"accept_available": true,
"contacted_domains": [
{
"host": "bayern.de",
"count": 104,
"category": "other",
"provider": "bayern.de",
"third_party": false,
"category_label": "Sonstige",
"resource_types": {
"font": 2,
"image": 66,
"script": 14,
"document": 1,
"stylesheet": 21
}
},
{
"host": "cdn-eu.readspeaker.com",
"count": 2,
"category": "other",
"provider": "cdn-eu.readspeaker.com",
"third_party": true,
"category_label": "Sonstige",
"resource_types": {
"script": 1,
"stylesheet": 1
}
},
{
"host": "piwik.bayern.de",
"count": 1,
"category": "other",
"provider": "piwik.bayern.de",
"third_party": true,
"category_label": "Sonstige",
"resource_types": {
"script": 1
}
}
],
"contacted_domain_count": 3,
"new_domains_after_accept": [],
"privacy_relevant_domains": [],
"third_party_domain_count": 2,
"cookie_count_after_accept": 3,
"cookie_count_before_accept": 2,
"request_count_after_accept": 107,
"storage_count_after_accept": 0,
"request_count_before_accept": 107,
"new_cookie_count_after_accept": 1,
"privacy_relevant_domain_count": 0,
"new_request_count_after_accept": 0,
"third_party_cookie_count_after_accept": 0,
"storage_tracking_hint_count_after_accept": 0,
"new_privacy_relevant_domains_after_accept": [],
"new_privacy_relevant_domain_count_after_accept": 0
},
"request_count": 109,
"top_providers": [
{
"provider": "cdn-eu.readspeaker.com",
"request_count": 2
},
{
"provider": "piwik.bayern.de",
"request_count": 1
}
],
"request_samples": [
{
"host": "cdn-eu.readspeaker.com",
"method": "GET",
"referrer": {
"host": "bayern.de",
"has_path": false,
"has_query": false,
"same_site": true,
"path_depth": 0,
"query_keys": [],
"sensitive_query_key_count": 0
},
"has_query": true,
"path_depth": 4,
"query_keys": [
"pids"
],
"third_party": true,
"resource_type": "script",
"query_key_count": 1,
"url_value_param_count": 0,
"sensitive_query_key_count": 0,
"target_url_value_param_count": 0
},
{
"host": "cdn-eu.readspeaker.com",
"method": "GET",
"referrer": {
"host": "bayern.de",
"has_path": false,
"has_query": false,
"same_site": true,
"path_depth": 0,
"query_keys": [],
"sensitive_query_key_count": 0
},
"has_query": true,
"path_depth": 6,
"query_keys": [
"v"
],
"third_party": true,
"resource_type": "stylesheet",
"query_key_count": 1,
"url_value_param_count": 0,
"sensitive_query_key_count": 0,
"target_url_value_param_count": 0
},
{
"host": "piwik.bayern.de",
"method": "GET",
"referrer": {
"host": "bayern.de",
"has_path": false,
"has_query": false,
"same_site": true,
"path_depth": 0,
"query_keys": [],
"sensitive_query_key_count": 0
},
"has_query": false,
"path_depth": 2,
"query_keys": [],
"third_party": true,
"resource_type": "script",
"query_key_count": 0,
"url_value_param_count": 0,
"sensitive_query_key_count": 0,
"target_url_value_param_count": 0
}
],
"cmp_consent_state": {
"tcf": {
"api_found": false,
"vendor_li": [],
"cmp_loaded": false,
"cmp_status": "",
"purpose_li": [],
"event_status": "",
"gdpr_applies": null,
"ping_success": false,
"policy_version": "",
"vendor_consents": [],
"vendor_li_count": 0,
"purpose_consents": [],
"purpose_li_count": 0,
"tc_string_length": 0,
"tc_string_present": false,
"vendor_consent_count": 0,
"purpose_consent_count": 0
},
"onetrust": {
"found": false,
"active_groups": [],
"active_group_count": 0
},
"cookiebot": {
"found": false,
"declined": false,
"consented": false,
"has_response": false,
"consent_marketing": null,
"consent_statistics": null,
"consent_preferences": null
},
"usercentrics": {
"found": false,
"has_response": false,
"services_count": 0,
"accepted_services_count": 0
}
},
"contacted_domains": [
{
"host": "bayern.de",
"count": 106,
"category": "other",
"provider": "bayern.de",
"third_party": false,
"category_label": "Sonstige",
"resource_types": {
"font": 2,
"image": 68,
"script": 14,
"document": 1,
"stylesheet": 21
}
},
{
"host": "cdn-eu.readspeaker.com",
"count": 2,
"category": "other",
"provider": "cdn-eu.readspeaker.com",
"third_party": true,
"category_label": "Sonstige",
"resource_types": {
"script": 1,
"stylesheet": 1
}
},
{
"host": "piwik.bayern.de",
"count": 1,
"category": "other",
"provider": "piwik.bayern.de",
"third_party": true,
"category_label": "Sonstige",
"resource_types": {
"script": 1
}
}
],
"privacy_api_metrics": {
"api_calls": {
"keyboard_input_listener_count": 148
},
"beacon_count": 0,
"webgl_read_count": 0,
"canvas_read_count": 0,
"audio_context_count": 0,
"canvas_export_count": 0,
"fetch_keepalive_count": 0,
"webgl_parameter_count": 0,
"mutation_observer_count": 0,
"keyboard_input_listener_count": 148
},
"tcf_consent_analysis": {
"color": "green",
"score": 100,
"status": "unauffällig",
"summary": "TCF-Decoder: 0 Zweck(e) mit Consent/LI-Signal, 0 Vendor-Consent(s), 0 Vendor-LI-Signal(e).",
"findings": [],
"api_found": false,
"available": false,
"cmp_loaded": false,
"cmp_status": "",
"event_status": "",
"gdpr_applies": null,
"ping_success": false,
"purpose_rows": [
{
"id": 1,
"label": "Informationen auf einem Gerät speichern und/oder abrufen",
"status": "nicht_erlaubt",
"risk_level": "niedrig",
"consent_granted": false,
"legitimate_interest_granted": false
},
{
"id": 2,
"label": "Einfache Anzeigen auswählen",
"status": "nicht_erlaubt",
"risk_level": "niedrig",
"consent_granted": false,
"legitimate_interest_granted": false
},
{
"id": 3,
"label": "Personalisiertes Anzeigen-Profil erstellen",
"status": "nicht_erlaubt",
"risk_level": "niedrig",
"consent_granted": false,
"legitimate_interest_granted": false
},
{
"id": 4,
"label": "Personalisierte Anzeigen auswählen",
"status": "nicht_erlaubt",
"risk_level": "niedrig",
"consent_granted": false,
"legitimate_interest_granted": false
},
{
"id": 5,
"label": "Personalisiertes Inhalts-Profil erstellen",
"status": "nicht_erlaubt",
"risk_level": "niedrig",
"consent_granted": false,
"legitimate_interest_granted": false
},
{
"id": 6,
"label": "Personalisierte Inhalte auswählen",
"status": "nicht_erlaubt",
"risk_level": "niedrig",
"consent_granted": false,
"legitimate_interest_granted": false
},
{
"id": 7,
"label": "Anzeigen-Leistung messen",
"status": "nicht_erlaubt",
"risk_level": "niedrig",
"consent_granted": false,
"legitimate_interest_granted": false
},
{
"id": 8,
"label": "Inhalte-Leistung messen",
"status": "nicht_erlaubt",
"risk_level": "niedrig",
"consent_granted": false,
"legitimate_interest_granted": false
},
{
"id": 9,
"label": "Marktforschung zur Generierung von Erkenntnissen nutzen",
"status": "nicht_erlaubt",
"risk_level": "niedrig",
"consent_granted": false,
"legitimate_interest_granted": false
},
{
"id": 10,
"label": "Produkte entwickeln und verbessern",
"status": "nicht_erlaubt",
"risk_level": "niedrig",
"consent_granted": false,
"legitimate_interest_granted": false
},
{
"id": 11,
"label": "Begrenzte Daten zur Anzeigen-Auswahl verwenden",
"status": "nicht_erlaubt",
"risk_level": "niedrig",
"consent_granted": false,
"legitimate_interest_granted": false
}
],
"vendor_li_ids": [],
"policy_version": "",
"vendor_li_count": 0,
"purpose_li_count": 0,
"tc_string_length": 0,
"tc_string_present": false,
"vendor_consent_ids": [],
"granted_purpose_rows": [],
"vendor_consent_count": 0,
"purpose_consent_count": 0,
"high_risk_purpose_count": 0,
"medium_risk_purpose_count": 0
},
"viewport_transparency": {
"samples": [
{
"tag": "a",
"top": 72,
"href": "/datenschutz/",
"left": 15,
"text": "Datenschutzerklärung",
"width": 148,
"height": 17,
"category": "privacy_notice"
}
],
"available": true,
"sample_count": 1,
"claim_boundary": "Sichtbarkeits-Evidence aus dem ersten Headless-Chromium-Viewport; keine Aussage ueber Footer nach Scrollen, Loginbereiche oder rechtliche Vollstaendigkeit.",
"viewport_width": 1024,
"category_counts": {
"privacy_notice": 1
},
"contact_visible": false,
"imprint_visible": false,
"viewport_height": 960,
"cookie_consent_visible": false,
"privacy_notice_visible": true
},
"consent_journey_matrix": {
"color": "green",
"items": [
{
"host": "cdn-eu.readspeaker.com",
"states": {
"gpc": 2,
"default": 2
},
"category": "other",
"provider": "cdn-eu.readspeaker.com",
"category_label": "Sonstige",
"privacy_relevant": false,
"total_request_count": 4
},
{
"host": "piwik.bayern.de",
"states": {
"gpc": 1,
"default": 1
},
"category": "other",
"provider": "piwik.bayern.de",
"category_label": "Sonstige",
"privacy_relevant": false,
"total_request_count": 2
}
],
"score": 100,
"states": [
{
"id": "default",
"label": "Erstaufruf",
"description": "Kontakte ohne Nutzeraktion",
"domain_count": 2,
"request_count": 3,
"privacy_relevant_domain_count": 0
},
{
"id": "reject_new",
"label": "Nach Ablehnen neu",
"description": "Neue Kontakte nach Ablehnen-Klick",
"domain_count": 0,
"request_count": 0,
"privacy_relevant_domain_count": 0
},
{
"id": "accept_new",
"label": "Nach Akzeptieren neu",
"description": "Neue Kontakte nach Akzeptieren-Klick",
"domain_count": 0,
"request_count": 0,
"privacy_relevant_domain_count": 0
},
{
"id": "gpc",
"label": "GPC-Aufruf",
"description": "Kontakte bei Global Privacy Control",
"domain_count": 2,
"request_count": 3,
"privacy_relevant_domain_count": 0
}
],
"status": "unauffällig",
"summary": "Consent-Journey: 0 neue Datenschutz-Domain(s) nach Ablehnen, 0 nach Akzeptieren, 0 im GPC-Aufruf.",
"gpc_privacy_relevant_domain_count": 0,
"accept_privacy_relevant_domain_count": 0,
"reject_privacy_relevant_domain_count": 0
},
"consent_state_evidence": {
"rows": [
{
"id": "default",
"label": "Erstaufruf",
"status": "ohne Nutzeraktion",
"evidence": "Baseline aus erstem Chromium-Aufruf ohne Banner-Interaktion.",
"risk_level": "niedrig",
"cookie_count": 2,
"domain_count": 3,
"request_count": 109,
"storage_total": 0,
"new_cookie_count": 2,
"third_party_cookie_count": 0,
"storage_tracking_hint_count": 0,
"privacy_relevant_domain_count": 0
},
{
"id": "reject",
"label": "Nach Ablehnen",
"status": "geklickt",
"evidence": "Ablehnen",
"risk_level": "hoch",
"cookie_count": 3,
"domain_count": 0,
"request_count": 109,
"storage_total": 0,
"new_cookie_count": 1,
"third_party_cookie_count": 0,
"storage_tracking_hint_count": 0,
"privacy_relevant_domain_count": 0
},
{
"id": "accept",
"label": "Nach Akzeptieren",
"status": "geklickt",
"evidence": "Zustimmen",
"risk_level": "info",
"cookie_count": 3,
"domain_count": 3,
"request_count": 107,
"storage_total": 0,
"new_cookie_count": 1,
"third_party_cookie_count": 0,
"storage_tracking_hint_count": 0,
"privacy_relevant_domain_count": 0
},
{
"id": "gpc",
"label": "GPC-Aufruf",
"status": "aktiv",
"evidence": "Navigator-GPC und Sec-GPC wurden im gesonderten Browserlauf gesetzt.",
"risk_level": "niedrig",
"cookie_count": 2,
"domain_count": 3,
"request_count": 107,
"storage_total": 0,
"new_cookie_count": 0,
"third_party_cookie_count": 0,
"storage_tracking_hint_count": 0,
"privacy_relevant_domain_count": 0
}
],
"color": "yellow",
"score": 78,
"status": "prüfen",
"summary": "Consent-State-Evidence: 4 Zustände verglichen, 1 hoch auffällig, 0 mittel auffällig.",
"findings": [
{
"id": "consent_state_reject_evidence_failed",
"title": "Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus",
"public": true,
"category": "privacy",
"severity": "warning"
}
],
"available": true,
"high_count": 1,
"medium_count": 0
},
"contacted_domain_count": 3,
"fingerprinting_analysis": {
"color": "yellow",
"score": 88,
"checks": [
{
"id": "canvas",
"ok": true,
"count": 0,
"label": "Canvas-Auslese",
"detail": "0 Pixel-Lesezugriff(e), 0 Export(e)."
},
{
"id": "webgl",
"ok": true,
"count": 0,
"label": "WebGL-Merkmale",
"detail": "0 Parameterzugriff(e), 0 Pixel-Lesezugriff(e)."
},
{
"id": "audio",
"ok": true,
"count": 0,
"label": "AudioContext",
"detail": "0 AudioContext/OfflineAudioContext-Aufruf(e)."
},
{
"id": "session_replay",
"ok": true,
"count": 0,
"label": "Session-Replay-Anbieter",
"detail": "Keine bekannten Anbieter erkannt."
},
{
"id": "input_listeners",
"ok": false,
"count": 148,
"label": "Tastatur-/Eingabe-Listener",
"detail": "148 Tastatur-/Input-Listener, 139 Interaktions-Listener, 0 MutationObserver."
}
],
"status": "prüfen",
"metrics": {
"webgl_read_count": 0,
"canvas_read_count": 0,
"audio_context_count": 0,
"canvas_export_count": 0,
"webgl_parameter_count": 0,
"mutation_observer_count": 0,
"keyboard_input_listener_count": 148
},
"summary": "1 Fingerprinting-/Session-Replay-Hinweis(e) aus dem Browserlauf.",
"findings": [
{
"id": "browser_keystroke_listener_signals",
"count": 148,
"title": "Viele Tastatur-/Eingabe-Listener im Browser erkannt",
"public": true,
"category": "privacy",
"severity": "info"
}
],
"finding_count": 1,
"session_replay_domains": []
},
"privacy_relevant_domains": [],
"provider_category_counts": {
"other": 2
},
"provider_category_labels": {
"other": "other"
},
"third_party_domain_count": 2,
"embedded_content_analysis": {
"color": "green",
"items": [],
"score": 100,
"status": "unauffällig",
"summary": "0 externe Embed-/Widget-Dienst(e), 0 davon im ersten Browseraufruf geladen.",
"findings": [],
"map_count": 0,
"total_count": 0,
"video_count": 0,
"captcha_count": 0,
"category_counts": [],
"social_widget_count": 0,
"loaded_pre_consent_count": 0,
"request_count_by_provider": []
},
"referrer_leakage_analysis": {
"color": "green",
"items": [],
"score": 100,
"status": "unauffällig",
"summary": "0 Drittanbieter-Domain(s) mit Referrer-/URL-Leak-Prüfbedarf, 0 sensible Query-Kontexte.",
"findings": [],
"sample_count": 3,
"full_referrer_count": 0,
"page_url_param_count": 0,
"affected_domain_count": 0,
"sensitive_query_count": 0
},
"third_party_contact_matrix": {
"color": "green",
"items": [
{
"host": "cdn-eu.readspeaker.com",
"region": "unbekannt",
"status": "prüfen",
"category": "other",
"provider": "cdn-eu.readspeaker.com",
"risk_level": "niedrig",
"request_count": 2,
"transfer_risk": "mittel",
"category_label": "Sonstige",
"resource_types": [
{
"type": "script",
"count": 1
},
{
"type": "stylesheet",
"count": 1
}
],
"transfer_label": "Jurisdiktion unklar",
"privacy_relevant": false
},
{
"host": "piwik.bayern.de",
"region": "EU/EWR",
"status": "prüfen",
"category": "other",
"provider": "piwik.bayern.de",
"risk_level": "niedrig",
"request_count": 1,
"transfer_risk": "niedrig",
"category_label": "Sonstige",
"resource_types": [
{
"type": "script",
"count": 1
}
],
"transfer_label": "EU/EWR",
"privacy_relevant": false
}
],
"score": 100,
"status": "unauffällig",
"summary": "2 Drittanbieter-Domain(s) beim ersten Browseraufruf, davon 0 datenschutzrelevant.",
"category_counts": {
"Sonstige": 2
},
"total_domain_count": 2,
"total_request_count": 3,
"privacy_relevant_count": 0,
"transfer_risk_analysis": {
"color": "green",
"items": [
{
"host": "cdn-eu.readspeaker.com",
"region": "unbekannt",
"provider": "cdn-eu.readspeaker.com",
"request_count": 2,
"transfer_risk": "mittel",
"category_label": "Sonstige",
"transfer_label": "Jurisdiktion unklar",
"privacy_relevant": false
},
{
"host": "piwik.bayern.de",
"region": "EU/EWR",
"provider": "piwik.bayern.de",
"request_count": 1,
"transfer_risk": "niedrig",
"category_label": "Sonstige",
"transfer_label": "EU/EWR",
"privacy_relevant": false
}
],
"score": 92,
"status": "unauffällig",
"summary": "2 Drittanbieter für Transfer-/Jurisdiktionsprüfung, 0 mit hohem Prüfbedarf, 1 unklar.",
"findings": [
{
"id": "unknown_vendor_jurisdiction",
"title": "Anbieter-Jurisdiktion nicht klar ableitbar",
"public": true,
"category": "privacy",
"severity": "info"
}
],
"unknown_count": 1,
"high_risk_count": 0,
"total_vendor_count": 2,
"third_country_count": 0
}
},
"privacy_relevant_domain_count": 0,
"tracking_pixel_beacon_analysis": {
"color": "yellow",
"items": [
{
"url": "https://www.bayern.de/wp-content/uploads/2021/02/Facebook.png",
"host": "bayern.de",
"kind": "tracking_pixel",
"reason": "Tracking-nahe URL",
"source": "html_img",
"category": "other",
"provider": "bayern.de",
"third_party": false,
"resource_type": "image",
"category_label": "Sonstige"
},
{
"url": "https://www.piwik.bayern.de/piwik/piwik.php?idsite=2",
"host": "piwik.bayern.de",
"kind": "tracking_pixel",
"reason": "Tracking-nahe URL",
"source": "html_img",
"category": "other",
"provider": "piwik.bayern.de",
"third_party": true,
"resource_type": "image",
"category_label": "Sonstige"
}
],
"score": 80,
"status": "prüfen",
"summary": "2 Pixel-/Bildtracking-Hinweis(e), 0 Beacon-/Telemetry-Hinweis(e), 0 Link-Ping(s).",
"findings": [
{
"id": "tracking_pixel_detected",
"count": 2,
"title": "Tracking-Pixel oder pixelnahe Requests erkannt",
"public": true,
"category": "privacy",
"severity": "info"
}
],
"pixel_count": 2,
"link_ping_count": 0,
"telemetry_count": 0,
"beacon_api_count": 0,
"third_party_count": 1,
"fetch_keepalive_count": 0,
"privacy_relevant_count": 0,
"beacon_code_reference_count": 0,
"fetch_keepalive_reference_count": 0
}
},
"privacy_analysis": {
"cookies": {
"items": [
{
"name": "TS01ee0451",
"secure": false,
"samesite": false,
"tracking": false,
"pre_consent": true,
"likely_essential": false
}
],
"total": 1,
"tracking": [],
"pre_consent": [
"TS01ee0451"
],
"missing_secure": [
"TS01ee0451"
],
"missing_samesite": [
"TS01ee0451"
],
"pre_consent_tracking": [],
"pre_consent_nonessential": [
"TS01ee0451"
]
},
"findings": [
{
"id": "cookie_missing_secure",
"title": "Cookie ohne Secure-Flag",
"public": true,
"cookies": [
"TS01ee0451"
],
"category": "privacy",
"severity": "warning"
},
{
"id": "cookie_missing_samesite",
"title": "Cookie ohne SameSite-Attribut",
"public": true,
"cookies": [
"TS01ee0451"
],
"category": "privacy",
"severity": "info"
}
],
"tracking_ids": [],
"tracking_scripts": [],
"consent_hint_found": true,
"privacy_policy_hint_found": true
},
"consent_audit": {
"color": "orange",
"score": 72,
"checks": [
{
"id": "banner_visible",
"ok": true,
"label": "Cookie-/Consent-Hinweis sichtbar",
"detail": "Ein Hinweis mit Cookie-/Einwilligungsbezug wurde im sichtbaren Text erkannt."
},
{
"id": "reject_visible",
"ok": true,
"label": "Ablehnen gleichwertig erreichbar",
"detail": "Ablehnen oder nur notwendige Cookies wurde im Text oder Browser erkannt. Browser-Buttons: 1."
},
{
"id": "settings_visible",
"ok": true,
"label": "Einstellungen oder Auswahl vorhanden",
"detail": "Eine Einstellungs- oder Auswahlmoeglichkeit wurde im Text oder Browser erkannt. Browser-Buttons: 0."
},
{
"id": "browser_reject_visible",
"ok": true,
"label": "Ablehnen im sichtbaren Banner",
"detail": "Sichtbare Banner-Controls: Akzeptieren 1, Ablehnen 1, Einstellungen 0."
},
{
"id": "browser_settings_visible",
"ok": false,
"label": "Einstellungen im sichtbaren Banner",
"detail": "Sichtbare Banner-Controls: Akzeptieren 1, Ablehnen 1, Einstellungen 0."
},
{
"id": "reject_equally_prominent",
"ok": true,
"label": "Ablehnen nicht deutlich schwaecher dargestellt",
"detail": "Groessen-Verhältnis Ablehnen/Akzeptieren: 1.0."
},
{
"id": "reject_button_clickable",
"ok": true,
"label": "Ablehnen technisch klickbar",
"detail": "Wenn ein Ablehnen-Button sichtbar ist, klickt SaferPage ihn im Chromium-Browser einmal an."
},
{
"id": "no_new_cookies_after_reject",
"ok": false,
"label": "Keine neuen Cookies nach Ablehnen",
"detail": "1 neue Cookie(s) nach dem Ablehnen-Klick."
},
{
"id": "no_tracking_storage_after_reject",
"ok": true,
"label": "Kein Tracking-Storage nach Ablehnen",
"detail": "0 Tracking-Hinweis(e) im Web Storage nach Ablehnen."
},
{
"id": "no_privacy_domains_after_reject",
"ok": true,
"label": "Keine neuen Tracking-Kontakte nach Ablehnen",
"detail": "0 neue datenschutzrelevante Domain(s) nach Ablehnen."
},
{
"id": "gpc_signal_respected",
"ok": true,
"label": "GPC-Signal ohne Tracking-Hinweise",
"detail": "GPC-Aufruf: 0 datenschutzrelevante Domain(s), 0 Drittanbieter-Cookie(s), 0 Storage-Hinweis(e)."
},
{
"id": "no_tracking_cookies_before_consent",
"ok": true,
"label": "Keine Tracking-Cookies vor Einwilligung",
"detail": "0 Tracking-Cookie(s) im Erstaufruf."
},
{
"id": "no_nonessential_cookies_before_consent",
"ok": false,
"label": "Keine nicht notwendigen Cookies vor Einwilligung",
"detail": "2 moeglicherweise nicht notwendige Cookie(s) im Erstaufruf."
},
{
"id": "third_parties_explained",
"ok": true,
"label": "Drittanbieter begrenzt und erklaerbar",
"detail": "0 datenschutzrelevante Drittanbieter-Domain(s), 2 Drittanbieter insgesamt."
},
{
"id": "storage_without_tracking_hints",
"ok": true,
"label": "Web Storage ohne Tracking-Hinweise",
"detail": "0 Storage-Key(s), 0 Tracking-Hinweis(e)."
},
{
"id": "cmp_api_detected_when_needed",
"ok": true,
"label": "CMP-/TCF-Signal bei Tracking erkennbar",
"detail": "Gängige CMP-/TCF-Indikatoren: __tcfapi, __cmp, Cookiebot, OneTrust oder Usercentrics."
},
{
"id": "accept_click_documented",
"ok": true,
"label": "Akzeptieren-Klick nachvollziehbar",
"detail": "Accept-Test: geklickt, neue Requests 0, neue Cookies 1, neue Datenschutz-Domains 0."
},
{
"id": "cmp_state_readable",
"ok": true,
"label": "CMP-/TCF-Zustand auslesbar",
"detail": "TCF TC-String: nein, Cookiebot: nein, OneTrust: nein, Usercentrics: nein."
},
{
"id": "cmp_default_restrictive",
"ok": true,
"label": "CMP-Default wirkt restriktiv",
"detail": "TCF Purposes erlaubt: 0, TCF Vendors erlaubt: 0, Cookiebot Statistik/Marketing: nein."
}
],
"status": "auffällig",
"summary": "Consent ist teilweise erkennbar; einzelne Punkte bleiben Betreiberkontext.",
"evidence": [
"2 Cookie(s) beim ersten Aufruf aus HTTP-Headern und Chromium",
"0 Tracking-Script(s) im HTML",
"0 datenschutzrelevante Drittanbieter-Domain(s)",
"0 Storage-Key(s), 0 Tracking-Hinweis(e)",
"Consent-Banner-Controls: Akzeptieren 1, Ablehnen 1, Einstellungen 0",
"Ablehnen/Akzeptieren-Prominenz: 1.0",
"Reject-Test: geklickt, neue Cookies 1, Tracking-Storage 0, neue Datenschutz-Domains 0",
"Accept-Test: geklickt, neue Requests 0, neue Cookies 1, neue Datenschutz-Domains 0, Drittanbieter-Cookies 0",
"CMP-State: TCF-String nein, TCF Purposes 0, TCF Vendors 0, Cookiebot nein, OneTrust-Gruppen 0, Usercentrics-Services 0",
"GPC-Test: aktiv, Datenschutz-Domains 0, Drittanbieter-Cookies 0, Storage-Hinweise 0",
"CMP-/TCF-Signal: nein",
"Google Consent Default: nein"
],
"gpc_enabled": true,
"cmp_detected": false,
"blocking_plan": {
"items": [
{
"kind": "cookie",
"level": "mittel",
"source": "bayern.de",
"target": "LB_STK_BAYERN_DE",
"recipes": [
{
"tool": "Google Tag Manager"
},
{
"tool": "Cookiebot"
},
{
"tool": "Usercentrics"
},
{
"tool": "OneTrust"
},
{
"tool": "Developer-Fallback"
}
],
"category": "unknown",
"evidence": "vor Consent gesetzt · bayern.de · Session",
"category_label": "Unklar"
},
{
"kind": "cookie",
"level": "mittel",
"source": "bayern.de",
"target": "TS01ee0451",
"recipes": [
{
"tool": "Google Tag Manager"
},
{
"tool": "Cookiebot"
},
{
"tool": "Usercentrics"
},
{
"tool": "OneTrust"
},
{
"tool": "Developer-Fallback"
}
],
"category": "unknown",
"evidence": "vor Consent gesetzt · bayern.de · Session",
"category_label": "Unklar"
}
],
"summary": "2 Blockier-/Consent-Maßnahme(n) abgeleitet: 0 hoch, 2 mittel.",
"available": true,
"high_count": 0,
"total_count": 2,
"type_counts": {
"cookie": 2
},
"medium_count": 2
},
"tcf_api_found": false,
"cookiebot_found": false,
"accept_test_enabled": true,
"browser_cookie_count": 2,
"accept_button_clicked": true,
"browser_storage_count": 0,
"reject_button_clicked": true,
"reject_less_prominent": false,
"tcf_tc_string_present": false,
"tracking_script_count": 0,
"accept_button_available": true,
"reject_button_available": true,
"reject_prominence_ratio": 1,
"pre_consent_cookie_count": 2,
"pre_consent_cookie_names": [
"TS01ee0451",
"LB_STK_BAYERN_DE"
],
"tcf_vendor_consent_count": 0,
"third_party_domain_count": 2,
"tcf_purpose_consent_count": 0,
"onetrust_active_group_count": 0,
"usercentrics_services_count": 0,
"browser_accept_control_count": 1,
"browser_cookie_context_found": true,
"browser_reject_control_count": 1,
"gpc_third_party_cookie_count": 0,
"post_accept_new_cookie_count": 1,
"post_reject_new_cookie_count": 1,
"post_accept_new_request_count": 0,
"browser_settings_control_count": 0,
"gpc_storage_tracking_hint_count": 0,
"cookiebot_marketing_or_statistics": false,
"gpc_privacy_relevant_domain_count": 0,
"pre_consent_tracking_cookie_count": 0,
"pre_consent_tracking_cookie_names": [],
"privacy_relevant_third_party_count": 0,
"browser_storage_tracking_hint_count": 0,
"post_accept_third_party_cookie_count": 0,
"pre_consent_nonessential_cookie_count": 2,
"pre_consent_nonessential_cookie_names": [
"TS01ee0451",
"LB_STK_BAYERN_DE"
],
"post_accept_storage_tracking_hint_count": 0,
"post_reject_storage_tracking_hint_count": 0,
"post_accept_privacy_relevant_domain_count": 0,
"post_reject_privacy_relevant_domain_count": 0
},
"cookie_inventory": {
"color": "green",
"items": [
{
"name": "LB_STK_BAYERN_DE",
"domain": "bayern.de",
"secure": true,
"sources": [
"browser_first_load"
],
"category": "unknown",
"provider": "bayern.de",
"tracking": false,
"http_only": true,
"same_site": "Lax",
"expires_at": "",
"long_lived": false,
"persistent": false,
"first_party": true,
"origin_host": "bayern.de",
"pre_consent": true,
"source_label": "Chromium-Erstaufruf",
"category_label": "Unklar",
"retention_risk": "niedrig",
"expires_in_days": null,
"origin_evidence": "106 Browser-Request(s) · document:1, font:2, image:68, script:14",
"origin_provider": "bayern.de",
"retention_class": "session",
"retention_label": "Session",
"likely_essential": false,
"origin_script_url": "",
"origin_resource_type": ""
},
{
"name": "TS01ee0451",
"domain": "bayern.de",
"secure": false,
"sources": [
"http_set_cookie",
"browser_first_load"
],
"category": "unknown",
"provider": "bayern.de",
"tracking": false,
"http_only": false,
"same_site": "Lax",
"expires_at": "",
"long_lived": false,
"persistent": false,
"first_party": true,
"origin_host": "bayern.de",
"pre_consent": true,
"source_label": "HTTP Set-Cookie, Chromium-Erstaufruf",
"category_label": "Unklar",
"retention_risk": "niedrig",
"expires_in_days": null,
"origin_evidence": "106 Browser-Request(s) · document:1, font:2, image:68, script:14",
"origin_provider": "bayern.de",
"retention_class": "session",
"retention_label": "Session",
"likely_essential": false,
"origin_script_url": "",
"origin_resource_type": ""
}
],
"score": 95,
"total": 2,
"status": "unauffällig",
"summary": "2 Cookie(s) inventarisiert: 0 Tracking-/Werbe-Cookie(s), 0 Drittanbieter-Cookie(s), 0 langlebige Cookie(s), 0 sehr lange Laufzeit(en).",
"findings": [],
"categories": {
"unknown": 2
},
"tracking_count": 0,
"category_labels": {
"consent": "Consent",
"payment": "Zahlung",
"unknown": "Unklar",
"security": "Sicherheit",
"analytics": "Analytics",
"necessary": "Notwendig",
"functional": "Funktional",
"advertising": "Werbung"
},
"long_lived_count": 0,
"persistent_count": 0,
"first_party_count": 2,
"pre_consent_count": 2,
"retention_classes": {
"session": 2
},
"third_party_count": 0,
"missing_secure_count": 1,
"retention_risk_count": 0,
"retention_risk_items": [],
"very_long_lived_count": 0,
"missing_samesite_count": 0,
"persistent_unknown_count": 0,
"long_lived_tracking_count": 0
},
"security_header_analysis": {
"color": "red",
"score": 46,
"checks": [
{
"ok": true,
"note": "",
"label": "HSTS",
"value": "max-age=31536000",
"header": "strict-transport-security",
"present": true,
"purpose": "Erzwingt HTTPS nach dem ersten sicheren Aufruf.",
"severity": "warning"
},
{
"ok": true,
"note": "",
"label": "Content-Security-Policy",
"value": "default-src 'self' *.bayern.de *.youtube.co *.youtube.com *.whappodo.com *.youtube-nocookie.com *.podigee.io *.podigee-cdn.net *.readspeaker.com *.linguatec.org 'unsafe-inline' 'unsafe-eval' data:",
"header": "content-security-policy",
"present": true,
"purpose": "Begrenzt Skript-, Frame- und Ressourcenquellen im Browser.",
"severity": "warning"
},
{
"ok": true,
"note": "",
"label": "X-Frame-Options",
"value": "sameorigin",
"header": "x-frame-options",
"present": true,
"purpose": "Reduziert Clickjacking-Risiken bei älteren Browsern.",
"severity": "warning"
},
{
"ok": true,
"note": "",
"label": "X-Content-Type-Options",
"value": "nosniff",
"header": "x-content-type-options",
"present": true,
"purpose": "Verhindert MIME-Sniffing bei Skripten und Stylesheets.",
"severity": "warning"
},
{
"ok": false,
"note": "Fehlt in der HTTP-Antwort.",
"label": "Referrer-Policy",
"value": "",
"header": "referrer-policy",
"present": false,
"purpose": "Begrenzt, welche URL-Informationen an Zielseiten weitergegeben werden.",
"severity": "info"
},
{
"ok": false,
"note": "Fehlt in der HTTP-Antwort.",
"label": "Permissions-Policy",
"value": "",
"header": "permissions-policy",
"present": false,
"purpose": "Begrenzt sensible Browser-Funktionen pro Seite.",
"severity": "info"
},
{
"ok": false,
"note": "Fehlt in der HTTP-Antwort.",
"label": "Cross-Origin-Opener-Policy",
"value": "",
"header": "cross-origin-opener-policy",
"present": false,
"purpose": "Isoliert Top-Level-Fenster und reduziert Cross-Origin-Seiteneffekte.",
"severity": "info"
},
{
"ok": false,
"note": "Fehlt in der HTTP-Antwort.",
"label": "Cross-Origin-Resource-Policy",
"value": "",
"header": "cross-origin-resource-policy",
"present": false,
"purpose": "Begrenzt, welche fremden Seiten Ressourcen einbetten dürfen.",
"severity": "info"
},
{
"ok": false,
"note": "Fehlt in der HTTP-Antwort.",
"label": "Cross-Origin-Embedder-Policy",
"value": "",
"header": "cross-origin-embedder-policy",
"present": false,
"purpose": "Erzwingt kontrollierte Cross-Origin-Einbettungen und kann Cross-Origin Isolation ermöglichen.",
"severity": "info"
}
],
"status": "kritisch",
"missing": [
"Referrer-Policy",
"Permissions-Policy",
"Cross-Origin-Opener-Policy",
"Cross-Origin-Resource-Policy",
"Cross-Origin-Embedder-Policy"
],
"summary": "4 von 9 wichtigen Security-Headern vorhanden, 4 korrekt bewertet. CSP wirksam mit 1 Direktive(n), 2 Warnung(en), 3 Hinweis(e).",
"findings": [
{
"id": "csp_unsafe_inline",
"title": "CSP erlaubt unsafe-inline für Skripte",
"public": true,
"category": "security_headers",
"severity": "warning"
},
{
"id": "csp_unsafe_eval",
"title": "CSP erlaubt eval-nahe Skriptausführung",
"public": true,
"category": "security_headers",
"severity": "warning"
},
{
"id": "csp_permissive_script_sources",
"title": "CSP erlaubt sehr breite Skriptquellen",
"public": true,
"sources": [
"*.bayern.de",
"*.youtube.co",
"*.youtube.com",
"*.whappodo.com",
"*.youtube-nocookie.com",
"*.podigee.io",
"*.podigee-cdn.net",
"*.readspeaker.com"
],
"category": "security_headers",
"severity": "info"
},
{
"id": "csp_missing_object_src",
"title": "CSP ohne object-src",
"public": true,
"category": "security_headers",
"severity": "info"
},
{
"id": "csp_missing_base_uri",
"title": "CSP ohne base-uri",
"public": true,
"category": "security_headers",
"severity": "info"
}
],
"ok_count": 4,
"weak_count": 0,
"csp_analysis": {
"color": "red",
"score": 46,
"status": "kritisch",
"summary": "CSP wirksam mit 1 Direktive(n), 2 Warnung(en), 3 Hinweis(e).",
"enforced": true,
"findings": [
{
"id": "csp_unsafe_inline",
"title": "CSP erlaubt unsafe-inline für Skripte",
"public": true,
"category": "security_headers",
"severity": "warning"
},
{
"id": "csp_unsafe_eval",
"title": "CSP erlaubt eval-nahe Skriptausführung",
"public": true,
"category": "security_headers",
"severity": "warning"
},
{
"id": "csp_permissive_script_sources",
"title": "CSP erlaubt sehr breite Skriptquellen",
"public": true,
"sources": [
"*.bayern.de",
"*.youtube.co",
"*.youtube.com",
"*.whappodo.com",
"*.youtube-nocookie.com",
"*.podigee.io",
"*.podigee-cdn.net",
"*.readspeaker.com"
],
"category": "security_headers",
"severity": "info"
},
{
"id": "csp_missing_object_src",
"title": "CSP ohne object-src",
"public": true,
"category": "security_headers",
"severity": "info"
},
{
"id": "csp_missing_base_uri",
"title": "CSP ohne base-uri",
"public": true,
"category": "security_headers",
"severity": "info"
}
],
"available": true,
"directives": [
{
"name": "default-src",
"value": "'self' *.bayern.de *.youtube.co *.youtube.com *.whappodo.com *.youtube-nocookie.com *.podigee.io *.podigee-cdn.net *.readspeaker.com *.linguatec.org 'unsafe-inline' 'unsafe-eval' data:",
"values": [
"'self'",
"*.bayern.de",
"*.youtube.co",
"*.youtube.com",
"*.whappodo.com",
"*.youtube-nocookie.com",
"*.podigee.io",
"*.podigee-cdn.net",
"*.readspeaker.com",
"*.linguatec.org",
"'unsafe-inline'",
"'unsafe-eval'",
"data:"
]
}
],
"info_count": 3,
"report_only": false,
"finding_count": 5,
"warning_count": 2
},
"missing_count": 5,
"present_count": 4,
"missing_info_count": 5,
"missing_warning_count": 0
},
"infrastructure_analysis": {
"signals": {
"caa": true,
"dnssec": false,
"final_https": true,
"tls_version": "TLSv1.3",
"hsts_enabled": true,
"address_count": 1,
"ipv6_available": false,
"email_protection": {
"mx": true,
"spf": true,
"dmarc": true
},
"certificate_valid": true,
"certificate_issuer": "YR1",
"certificate_alt_names": [
"bayern.de"
],
"multiple_ip_addresses": false,
"certificate_expires_at": "Sep 3 23:25:56 2026 GMT",
"certificate_days_remaining": 77,
"certificate_hostname_matches": true
},
"findings": [],
"risk_level": "low",
"positive_signals": [
"Moderne TLS-Version aktiv: TLSv1.3.",
"HSTS ist aktiv.",
"DMARC ist für die Domain vorhanden.",
"CAA-Records begrenzen Zertifikatsaussteller."
]
},
"performance_analysis": {
"score": 82,
"signals": {
"compressed": false,
"duration_ms": 1109,
"image_count": 142,
"script_count": 18,
"cache_control": "",
"content_length": 179974,
"viewport_found": true,
"stylesheet_count": 22
},
"findings": [
{
"id": "large_html_response",
"title": "HTML-Antwort ist groß",
"public": true,
"category": "performance",
"severity": "info"
},
{
"id": "compression_missing",
"title": "Komprimierung nicht erkannt",
"public": true,
"category": "performance",
"severity": "info"
},
{
"id": "too_many_render_blocking_assets",
"title": "Viele potenziell blockierende Assets",
"public": true,
"category": "performance",
"severity": "info"
}
],
"risk_level": "medium"
},
"accessibility_analysis": {
"color": "orange",
"score": 56,
"status": "auffällig",
"signals": {
"h1_count": 1,
"image_count": 142,
"button_count": 4,
"heading_count": 28,
"viewport_found": true,
"html_lang_found": true,
"form_field_count": 7,
"image_missing_alt_count": 32,
"buttons_without_name_count": 1,
"form_fields_without_label_count": 1
},
"summary": "142 Bild(er), 7 Formularfeld(er), 4 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft.",
"findings": [
{
"id": "image_alt_missing",
"count": 32,
"title": "Bilder ohne Alternativtext",
"public": true,
"category": "accessibility",
"severity": "info",
"evidence_items": [
"/wp-content/themes/bayernde/assets/images/svg/icon-men.svg",
"/wp-content/themes/bayernde/assets/images/svg/Close.svg",
"/wp-content/themes/bayernde/assets/images/svg/suche.svg",
"/wp-content/uploads/2026/06/260618JOK117-845x476.jpg",
"/wp-content/uploads/2026/06/260618JOK120-Cropped-845x476.jpg",
"/wp-content/uploads/2026/06/260618JOK123-845x476.jpg",
"/wp-content/uploads/2026/05/IMG_1464-845x476.jpeg",
"/wp-content/uploads/2026/05/IMG_1621.jpeg"
]
},
{
"id": "form_label_missing",
"count": 1,
"title": "Formularfelder ohne klare Beschriftung",
"public": true,
"category": "accessibility",
"severity": "warning",
"evidence_items": [
"type=checkbox"
]
},
{
"id": "button_name_missing",
"count": 1,
"title": "Buttons ohne erkennbaren Namen",
"public": true,
"category": "accessibility",
"severity": "warning",
"evidence_items": [
"type=submit class=\"button-search\""
]
}
],
"wcag_matrix": {
"rows": [
{
"id": "wcag_non_text_content",
"ok": false,
"wcag": "WCAG 1.1.1 Non-text Content",
"title": "Alternativtexte für Bilder",
"impact": "mittel",
"status": "prüfen",
"evidence": "32 von 142 Bild(er) ohne alt-Text im HTML-Sample."
},
{
"id": "wcag_form_labels",
"ok": false,
"wcag": "WCAG 1.3.1 Info and Relationships / 3.3.2 Labels or Instructions",
"title": "Formularfelder beschriften",
"impact": "hoch",
"status": "prüfen",
"evidence": "1 von 7 Formularfeld(er) ohne erkennbare Beschriftung."
},
{
"id": "wcag_button_names",
"ok": false,
"wcag": "WCAG 4.1.2 Name, Role, Value",
"title": "Buttons mit Namen versehen",
"impact": "hoch",
"status": "prüfen",
"evidence": "1 von 4 Button(s) ohne erkennbaren Namen."
},
{
"id": "wcag_page_language",
"ok": true,
"wcag": "WCAG 3.1.1 Language of Page",
"title": "Seitensprache auszeichnen",
"impact": "niedrig",
"status": "ok",
"evidence": "HTML-lang-Attribut gefunden."
},
{
"id": "wcag_heading_structure",
"ok": true,
"wcag": "WCAG 1.3.1 Info and Relationships / 2.4.6 Headings and Labels",
"title": "Überschriftenstruktur",
"impact": "niedrig",
"status": "ok",
"evidence": "1 H1 und 28 Überschrift(en) im HTML-Sample."
},
{
"id": "wcag_mobile_reflow",
"ok": true,
"wcag": "WCAG 1.4.10 Reflow",
"title": "Mobile Viewport-Basis",
"impact": "niedrig",
"status": "ok",
"evidence": "Viewport-Meta-Tag gefunden."
}
],
"summary": "3 WCAG-/EAA-Prüfpunkt(e) auffällig, davon 2 mit hoher Auswirkung.",
"standard": "WCAG 2.2 orientierte Basisprüfung",
"available": true,
"issue_count": 3,
"high_impact_count": 2
}
},
"domain_history": {
"status": [
"active"
],
"summary": "RDAP liefert kein klares Registrierungsdatum.",
"age_days": null,
"findings": [],
"available": true,
"registrar": "",
"expires_at": "",
"risk_level": "unknown",
"registered_at": "",
"expires_in_days": null,
"last_changed_at": "2023-11-25T17:57:57+00:00"
},
"data_entry_analysis": {
"forms": [
{
"method": "GET",
"purpose": "Adresse",
"data_types": [
{
"id": "address",
"label": "Adresse"
},
{
"id": "email",
"label": "E-Mail"
},
{
"id": "login",
"label": "Login/Passwort"
}
],
"field_count": 1
},
{
"url": "https://www.bayern.de/buergerservice/newsletter",
"path": "/buergerservice/newsletter",
"method": "UNBEKANNT",
"source": "crawl",
"purpose": "Formular",
"data_types": [],
"field_count": 0
},
{
"purpose": "Formular",
"field_count": 0,
"source": "crawl",
"path": "/buergerservice/newsletter",
"url": "https://www.bayern.de/buergerservice/newsletter"
}
],
"score": 84,
"summary": "Crawl fand 3 Formular(e) auf 1 geprüften Seite(n), u. a. /buergerservice/newsletter.",
"findings": [],
"form_count": 3,
"risk_level": "medium",
"field_count": 2,
"asks_for_data": true,
"crawl_form_pages": [
{
"url": "https://www.bayern.de/buergerservice/newsletter",
"path": "/buergerservice/newsletter",
"category": "newsletter",
"form_count": 3
}
],
"payment_providers": [],
"detected_data_types": [
{
"id": "address",
"count": 1,
"label": "Adresse"
},
{
"id": "login",
"count": 1,
"label": "Login/Passwort"
},
{
"id": "email",
"count": 1,
"label": "E-Mail"
},
{
"id": "newsletter",
"count": 1,
"label": "Newsletter"
},
{
"id": "contact",
"count": 1,
"label": "Kontaktformular"
}
],
"crawl_form_page_count": 1,
"privacy_context_found": true,
"operator_context_found": true
},
"pii_exposure_analysis": {
"color": "yellow",
"score": 86,
"checks": [
{
"id": "current_url",
"ok": true,
"count": 0,
"label": "Aktuelle URL",
"detail": "Keine sensiblen Query-Parameter erkannt."
},
{
"id": "link_queries",
"ok": true,
"count": 0,
"label": "Link-Parameter",
"detail": "Keine sensiblen Link-Querys erkannt."
},
{
"id": "get_forms",
"ok": false,
"count": 1,
"label": "GET-Formulare",
"detail": "1 Formular(e) prüfen."
},
{
"id": "external_forms",
"ok": true,
"count": 0,
"label": "Externe Formularziele",
"detail": "Keine externen Formularziele mit personenbezogenen Feldern erkannt."
},
{
"id": "tracking_context",
"ok": true,
"count": 0,
"label": "Tracking neben Dateneingabe",
"detail": "Keine Kombination aus Dateneingabe und datenschutzrelevanten Drittanbietern erkannt."
}
],
"status": "prüfen",
"summary": "1 PII-/Datenleck-Hinweis(e) aus URL-, Formular- und Browserkontext.",
"findings": [
{
"id": "pii_sensitive_get_form",
"forms": [
{
"fields": [
"address",
"email"
]
}
],
"title": "Formular mit personenbezogenen Feldern nutzt GET",
"public": true,
"category": "privacy",
"severity": "warning"
}
],
"link_hits": [],
"finding_count": 1,
"current_url_hits": [],
"tracking_context": false,
"sensitive_get_forms": [
{
"fields": [
"address",
"email"
]
}
]
},
"scan_history_analysis": {
"available": false,
"summary": "Noch kein früherer gespeicherter Scan für diese Domain vorhanden.",
"total_scan_count": 1,
"previous_scan_count": 0,
"history": [
{
"scan_id": "432e0fdd-86fc-494e-8a14-91208d2feea6",
"created_at": "2026-06-19 01:00:32.399403+02",
"score": 58,
"verdict": "auffällig",
"finding_count": 31,
"integrity_root_hash": "20f425de60856486fd4f923f68ef101b5c4efc5bbbe0426acad27badc5575d6b",
"integrity_available_hash_count": 9,
"current": true
}
],
"new_findings": [],
"resolved_findings": [],
"technical_changes": {
"available": false,
"summary": "Noch kein früherer Scan für technische Änderungen vorhanden."
}
},
"benchmark_analysis": {
"host": "bayern.de",
"rank": 1,
"score": 58,
"status": "im_mittelfeld",
"summary": "bayern.de liegt mit 58 Punkten ungefähr im gespeicherten Vergleichsfeld.",
"available": true,
"peer_count": 2408,
"percentile": 0,
"query_mode": "php_ttl_cache_refresh",
"distribution": {
"0_39": 285,
"40_59": 1151,
"60_79": 966,
"80_100": 6
},
"median_score": 58,
"average_score": 53.6,
"comparison_basis": "Neuester gespeicherter SaferPage-Scan je Domain; überwiegend deutschsprachige gespeicherte Checks.",
"same_score_count": 0,
"better_than_count": 0,
"qualified_peer_count": 2326,
"zero_score_count": 82,
"top_quartile_score": 64,
"top_decile_score": 67,
"qualified_average_score": 55.5,
"qualified_median_score": 58,
"qualified_top_quartile_score": 64,
"qualified_top_decile_score": 68,
"thresholds": [
{
"id": "critical",
"label": "Kritisch",
"range": "0-39",
"met": false
},
{
"id": "basic",
"label": "Basis stabilisieren",
"range": "40-59",
"met": true
},
{
"id": "managed",
"label": "Gesteuert",
"range": "60-79",
"met": false
},
{
"id": "strong",
"label": "Stark",
"range": "80-100",
"met": false
}
],
"risk_tier": "basis",
"target_score": 60,
"aspirational_target_score": 68,
"gap_to_target": 2,
"gap_to_top_quartile": 6,
"gap_to_strong": 22,
"cache_ttl_seconds": 300
},
"audit_receipt": {
"url": "https://bayern.de/",
"host": "bayern.de",
"status": "verfügbar",
"bot_url": "https://saferpage.de/bot",
"summary": "Prüfbeleg für bayern.de: kontrollierter HTTP-/Browser-Kurzcheck mit 109 Request(s), 4 Consent-Zustand/Zuständen und 7 Artefakt(en).",
"renderer": "playwright-chromium",
"artifacts": [
{
"label": "Öffentlicher Kurzreport",
"detail": "https://saferpage.de/bayern.de",
"status": "verfügbar"
},
{
"label": "JSON-Export",
"detail": "Maschinenlesbarer Report mit Modulen, Nachweisen und Tabellen.",
"status": "verfügbar"
},
{
"label": "CSV-Export",
"detail": "Tabellarische Prüfzeilen für Betreiber, Datenschutz und Technik.",
"status": "verfügbar"
},
{
"label": "160x150 Seitenvorschau",
"detail": "/cache/screenshots/bayern.de-160x150-dfd1ba2e26dd033bfd.png",
"status": "verfügbar"
},
{
"label": "Cookie-Erklärung",
"detail": "2 Cookie-/Storage-Eintrag/Einträge.",
"status": "prüfen"
},
{
"label": "Empfänger-/Anbieterinventar",
"detail": "2 Anbieterzeile(n), 1 AVV-/Rollenprüfung(en).",
"status": "unauffällig"
},
{
"label": "Barrierefreiheitserklärung-Entwurf",
"detail": "3 bekannte Barrierefreiheits-Punkt(e).",
"status": "Nicht vollständig konform im automatischen Basischeck"
}
],
"available": true,
"final_url": "https://www.bayern.de/",
"checked_at": "2026-06-18T23:00:32+00:00",
"share_text": "SaferPage Prüfbeleg bayern.de: 109 Browser-Request(s), 2 Drittanbieter, 2 Cookie-/Storage-Einträge, geprüft am 2026-06-18T23:00:32.",
"user_agent": "SaferPageCrawler/0.3 (+https://saferpage.de/bot; schedules passive DACH website checks; report examples: https://saferpage.de/tests; kostenloser Report: <a href=\"https://saferpage.de/bayern.de\">https://saferpage.de/bayern.de</a>)",
"limitations": [
"Öffentliche Nachweise enthalten keine Cookie-Werte und keine vollständigen Request-URLs.",
"Der Scan ist ein passiver Browser- und HTTP-Kurzcheck; rechtliche Bewertung bleibt Betreiberaufgabe.",
"Dynamische Inhalte können sich je nach Region, Zeit, Gerät und Consent-Auswahl ändern."
],
"scan_context": "crawler",
"coverage_items": [
{
"label": "HTTP/DNS/TLS",
"value": "HTTP 200 · DNS ok · TLS ok"
},
{
"label": "Browserlauf",
"value": "109 Request(s), 2 Drittanbieter-Domain(s), 2 Browser-Cookie(s)."
},
{
"label": "Consent-Zustände",
"value": "4 Zustand/Zustände: Default, Ablehnen, Akzeptieren und GPC soweit verfügbar."
},
{
"label": "Seitenabdeckung",
"value": "8 priorisierte Unterseite(n) im Nachweispack."
},
{
"label": "Drittanbieter-Auszug",
"value": "2 Anbieterzeile(n) im öffentlichen Nachweis."
},
{
"label": "Cookie-Auszug",
"value": "2 Cookie-Zeile(n) im öffentlichen Nachweis."
}
],
"confidence_score": 84,
"browser_final_url": "https://www.bayern.de/"
},
"evidence_integrity_manifest": {
"host": "bayern.de",
"status": "verfügbar",
"summary": "Integritätsmanifest für bayern.de: 9/9 Nachweisbereich(e) mit SHA-256-Hash dokumentiert.",
"sections": [
{
"id": "audit_receipt",
"hash": "ac3e80c58c272004e7fcbb11ada0d39cbf75b19fa383a8918b97ccdbf5807f07",
"count": 18,
"label": "Prüfbeleg",
"detail": "Kanonischer JSON-Hash des kompakten Prüfbelegs.",
"status": "verfügbar"
},
{
"id": "protocol",
"hash": "9a24f4b2c5d1c0e0d81e0f42ccc9b2b102518e90c1999b063a36ba615005520d",
"count": 15,
"label": "Scan-Protokoll",
"detail": "URL, Endziel, User-Agent, Zeitstempel, HTTP/DNS/TLS und Renderer.",
"status": "verfügbar"
},
{
"id": "checkpoints",
"hash": "eff6c3978bfe4fa2d4ae170a2de1822be03f692a260a3e81a6df547e935ef7cf",
"count": 6,
"label": "Prüfschritte",
"detail": "Kanonischer JSON-Hash der dokumentierten Prüfstationen.",
"status": "verfügbar"
},
{
"id": "consent_states",
"hash": "1891b57583813455ba27c51512bb6954823a28f67d6112250c6c6ba5e09e6354",
"count": 4,
"label": "Consent-Zustände",
"detail": "Default-, Ablehnen-, Akzeptieren- und GPC-Nachweise soweit verfügbar.",
"status": "verfügbar"
},
{
"id": "third_party_evidence",
"hash": "d77bc327303974589fd27a9ff17d4b6364fdf1e041ff19425beb27a2235fc6a7",
"count": 2,
"label": "Drittanbieter-Auszug",
"detail": "Sanitisierte Anbieter-, Kategorie-, Transfer- und Request-Zählwerte.",
"status": "verfügbar"
},
{
"id": "cookie_evidence",
"hash": "78de8e41ecd8edeb357e850aa92387f9cf59557b9e6a2fe523c2f1dfee698f37",
"count": 2,
"label": "Cookie-Auszug",
"detail": "Sanitisierte Cookie-Metadaten ohne Cookie-Werte.",
"status": "verfügbar"
},
{
"id": "request_samples",
"hash": "7bbc87028ecf36035a033807f62facdb587854a22d5ed1360ad325e230db6197",
"count": 3,
"label": "Request-Samples",
"detail": "Sanitisierte Drittanbieter-Samples ohne vollständige Request-URLs.",
"status": "verfügbar"
},
{
"id": "checked_pages",
"hash": "c00b1ff3bfc43c5c89ca16ab8b5af01c7b46f12ec1ac101e49bcbaba58f44b61",
"count": 8,
"label": "Geprüfte Unterseiten",
"detail": "Priorisierte Pfade aus Sitemap, Pflichtseiten und interner Linkstruktur.",
"status": "verfügbar"
},
{
"id": "screenshot_file",
"hash": "8455e1ea4706bd4baf4cd21c3bbe9b1e8f25531f38a2857f12f884426399d8c1",
"count": 6002,
"label": "160x150 Seitenvorschau-Datei",
"detail": "/cache/screenshots/bayern.de-160x150-dfd1ba2e26dd033bfd.png",
"status": "verfügbar"
}
],
"algorithm": "sha256",
"available": true,
"root_hash": "20f425de60856486fd4f923f68ef101b5c4efc5bbbe0426acad27badc5575d6b",
"checked_at": "2026-06-18T23:00:32+00:00",
"limitations": [
"Das Manifest schützt die im Report veröffentlichten/sanitisierten Nachweise, nicht verdeckte Cookie-Werte oder vollständige Request-URLs.",
"Ohne externe qualifizierte Zeitstempelung beweist der Hash Integrität des exportierten Artefakts, aber keine amtliche Zustellung."
],
"section_count": 9,
"canonicalization": "JSON UTF-8, sort_keys=true, kompakte Separatoren; Screenshot als rohe Datei-Bytes.",
"available_hash_count": 9
},
"audit_evidence_pack": {
"status": "verfügbar",
"summary": "Nachweisprotokoll mit 109 Browser-Request(s), 2 Cookie-Nachweis(en), 2 Drittanbieter-Auszug/auszügen und 4 Consent-Zustand/Zuständen.",
"protocol": {
"host": "bayern.de",
"dns_ok": true,
"tls_ok": true,
"bot_url": "https://saferpage.de/bot",
"renderer": "playwright-chromium",
"final_url": "https://www.bayern.de/",
"input_url": "https://bayern.de/",
"checked_at": "2026-06-18T23:00:32+00:00",
"user_agent": "SaferPageCrawler/0.3 (+https://saferpage.de/bot; schedules passive DACH website checks; report examples: https://saferpage.de/tests; kostenloser Report: <a href=\"https://saferpage.de/bayern.de\">https://saferpage.de/bayern.de</a>)",
"http_status": 200,
"scan_context": "crawler",
"screenshot_url": "/cache/screenshots/bayern.de-160x150-dfd1ba2e26dd033bfd.png",
"googlebot_status": 200,
"browser_final_url": "https://www.bayern.de/",
"dns_address_count": 1
},
"checkpoints": [
{
"label": "DNS",
"detail": "1 Adresse(n) aufgelöst.",
"status": "ok"
},
{
"label": "TLS/HTTPS",
"detail": "TLSv1.3",
"status": "ok"
},
{
"label": "HTTP-Abruf",
"detail": "Status 200, Endziel https://www.bayern.de/.",
"status": "ok"
},
{
"label": "Browserlauf",
"detail": "109 Request(s), 2 Drittanbieter-Domain(s).",
"status": "ok"
},
{
"label": "Consent-Zustände",
"detail": "Default, Ablehnen, Akzeptieren und GPC werden soweit möglich gegenübergestellt.",
"status": "unauffällig"
},
{
"label": "Exports",
"detail": "PDF/Druck, JSON und CSV enthalten die wesentlichen Prüfnachweise.",
"status": "verfügbar"
}
],
"limitations": [
"Öffentliche Nachweise enthalten keine Cookie-Werte und keine vollständigen Request-URLs.",
"Der Scan ist ein passiver Browser- und HTTP-Kurzcheck; rechtliche Bewertung bleibt Betreiberaufgabe.",
"Dynamische Inhalte können sich je nach Region, Zeit, Gerät und Consent-Auswahl ändern."
],
"checked_pages": [
{
"path": "/datenschutz",
"source": "homepage_link",
"status": 0,
"category": "datenschutz"
},
{
"path": "/impressum",
"source": "homepage_link",
"status": 0,
"category": "impressum"
},
{
"path": "/buergerservice/kontakt",
"source": "homepage_link",
"status": 0,
"category": "kontakt"
},
{
"path": "/buergerservice/newsletter",
"source": "homepage_link",
"status": 0,
"category": "newsletter"
},
{
"path": "/presse/presse-abo",
"source": "homepage_link",
"status": 0,
"category": "newsletter"
},
{
"path": "/staatsregierung/preise-und-auszeichnungen",
"source": "homepage_link",
"status": 0,
"category": "preise"
},
{
"path": "/and-the-winner-is-beste-metzgereien-bayerns-erhalten-staatsehrenpreis-2026",
"source": "homepage_link",
"status": 0,
"category": "unterseite"
},
{
"path": "/bericht-aus-der-kabinettssitzung-vom-16-juni-2026",
"source": "homepage_link",
"status": 0,
"category": "unterseite"
}
],
"cookie_evidence": [
{
"name": "LB_STK_BAYERN_DE",
"domain": "bayern.de",
"secure": true,
"category": "Unklar",
"provider": "bayern.de",
"tracking": false,
"retention": "Session",
"same_site": "Lax",
"pre_consent": true
},
{
"name": "TS01ee0451",
"domain": "bayern.de",
"secure": false,
"category": "Unklar",
"provider": "bayern.de",
"tracking": false,
"retention": "Session",
"same_site": "Lax",
"pre_consent": true
}
],
"browser_evidence": {
"gpc_enabled": true,
"request_count": 109,
"storage_total": 0,
"accept_clicked": true,
"reject_clicked": true,
"browser_cookie_count": 2,
"contacted_domain_count": 3,
"third_party_domain_count": 2,
"storage_tracking_hint_count": 0,
"privacy_relevant_domain_count": 0
},
"storage_evidence": {
"tracking_key_hints": [],
"local_storage_total": 0,
"session_storage_total": 0
},
"third_party_evidence": [
{
"host": "cdn-eu.readspeaker.com",
"category": "Sonstige",
"provider": "cdn-eu.readspeaker.com",
"transfer": "Jurisdiktion unklar",
"risk_level": "niedrig",
"request_count": 2,
"resource_types": [
"script",
"stylesheet"
],
"privacy_relevant": false
},
{
"host": "piwik.bayern.de",
"category": "Sonstige",
"provider": "piwik.bayern.de",
"transfer": "EU/EWR",
"risk_level": "niedrig",
"request_count": 1,
"resource_types": [
"script"
],
"privacy_relevant": false
}
],
"external_script_count": 1,
"consent_state_evidence": [
{
"label": "Erstaufruf",
"cookie_count": 0,
"domain_count": 2,
"request_count": 3,
"storage_tracking_hint_count": 0,
"privacy_relevant_domain_count": 0
},
{
"label": "Nach Ablehnen neu",
"cookie_count": 0,
"domain_count": 0,
"request_count": 0,
"storage_tracking_hint_count": 0,
"privacy_relevant_domain_count": 0
},
{
"label": "Nach Akzeptieren neu",
"cookie_count": 0,
"domain_count": 0,
"request_count": 0,
"storage_tracking_hint_count": 0,
"privacy_relevant_domain_count": 0
},
{
"label": "GPC-Aufruf",
"cookie_count": 0,
"domain_count": 2,
"request_count": 3,
"storage_tracking_hint_count": 0,
"privacy_relevant_domain_count": 0
}
],
"request_sample_evidence": [
{
"host": "cdn-eu.readspeaker.com",
"query_keys": [
"pids"
],
"resource_type": "script",
"query_key_count": 1,
"referrer_has_path": false,
"referrer_has_query": false,
"sensitive_query_key_count": 0
},
{
"host": "cdn-eu.readspeaker.com",
"query_keys": [
"v"
],
"resource_type": "stylesheet",
"query_key_count": 1,
"referrer_has_path": false,
"referrer_has_query": false,
"sensitive_query_key_count": 0
},
{
"host": "piwik.bayern.de",
"query_keys": [],
"resource_type": "script",
"query_key_count": 0,
"referrer_has_path": false,
"referrer_has_query": false,
"sensitive_query_key_count": 0
}
]
},
"consent_visual_salience_evidence": {
"schema": "https://saferpage.de/schemas/consent-visual-salience-evidence.v1",
"status": "measured_dom_viewport_signal",
"available": true,
"evidence_level": "dom_viewport_signal_only",
"summary": "Der erste Headless-Chromium-Viewport liefert sichtbare Consent-Control-Signale mit Text, Position, Groesse und typografischen Hinweisen.",
"sample_status": "classified_control_samples",
"classified_sample_count": 2,
"accept_control_count": 1,
"reject_control_count": 1,
"settings_control_count": 0,
"visible_control_count": 9,
"accept_max_area": 5720,
"reject_max_area": 5720,
"reject_prominence_ratio": 1,
"samples": [
{
"kind": "accept",
"text": "Zustimmen",
"tag": "button",
"width": 130,
"height": 44,
"area": 5720,
"top": 105,
"left": 162,
"font_weight": "400"
},
{
"kind": "reject",
"text": "Ablehnen",
"tag": "button",
"width": 130,
"height": 44,
"area": 5720,
"top": 105,
"left": 27,
"font_weight": "400"
}
],
"sample_boundary": "Samples enthalten nur klassifizierte Accept-/Reject-/Settings-Controls. Weitere sichtbare Consent-Controls bleiben als Zaehler erhalten, werden aber ohne Klassifizierung nicht als Ablehnen-, Akzeptieren- oder Einstellungsprobe behauptet.",
"claim_boundary": "Consent-Visual-Salienz ist ein DOM-/Viewport-Signal aus dem ersten Browserlauf. Sie ist keine Rechtsbewertung, kein Dark-Pattern-Endurteil und kein Nachweis fuer spaetere Consent-Zustaende, Scrollbereiche, Loginbereiche oder manuelle Betreiberkontexte."
}
}