Live-Domain-Report

baby.weser-kurier.de Datenschutz-Check

Scan-ID: 49e1d630-a065-452f-8000-cba7aabdc7bb · 2026-06-15 11:47:32.565003+02

Geprüfte Domain-Wurzel: https://baby.weser-kurier.de/

Kurz-URL: saferpage.de/baby.weser-kurier.de

Kleine Seitenvorschau von baby.weser-kurier.de
Screenshot-Vorschau 160x150 · vollständig sichtbar · Headless Chromium · preview_available · page_preview
0 Kritische Hinweise

In 20 Sekunden lesen

Was ist bei baby.weser-kurier.de wirklich wichtig?

Nutzen Sie diese Kurzfassung zuerst als Evidence-Checkliste: belegte Signale, Claim-Grenzen und Linkziele stehen im Vordergrund; Betreiberkontext ohne Scan-Beleg wird nur verlinkt.

Was ist das Ergebnis?Score 0/100 · Kritische Hinweise. Der Wert ist Priorisierung, kein Urteil.Warum ist der Score so?Score-Erklaerung öffnenWas wurde tatsächlich gesehen?74 Request(s), 3 Datenschutz-Domain(s), 0 Cookie(s) vor Einwilligung, 13 Formular(e), 9 fehlende Header.Was muss man manuell prüfen?4 Review-Ausloeser; Login, Checkout, Rechtskontext und Betreiberprozesse bleiben ausserhalb des passiven Kurzchecks.Was zuerst öffnen?Fixpfad öffnenWelche Nachweise gibt es?Report-Evidence · Methodik · Evidence-HubIst der Report falsch oder veraltet?Korrektur melden mit Domain, Report-URL, Scan-ID und kurzer Begruendung.VerlässlichkeitBelastbares Signal mit manuellen Prüfpunkten
Der Report zeigt relevante Datenschutz-Signale; der Abgleich mit den Website-Flows bleibt Betreiberkontext.
Belegbar4 technische Evidence-Punkte aus dem gespeicherten passiven Lauf.Hintergrund-LinkHintergrundseite öffnenNicht behaupten3 Claim-Grenzen: keine Rechtsfreigabe, kein Zertifikat, kein abschließendes Seriositätsurteil.Fix-PfadFixpfad öffnenNachweiseMethodik · Evidence-Hub

Score-Erklaerung

Warum ist der Score so?

Diese Erklaerung macht die Gesamtaussage lesbar: Score-Treiber, entlastende Signale, Gate-/Grenzsignale und manuelle Pruefpunkte bleiben getrennt. Der Score ist kein Verbot, kein Guetesiegel und keine Rechtsfreigabe. Score-Methodik oeffnen

0/100 · Kritische Hinweise
0/100Gesamtscore als Priorisierung6Score-Treiber sichtbar4entlastende Signale3Gate-/Grenzsignale4manuelle PruefausloeserSignal + BetreiberprüfungAussage-Verlaesslichkeit
Score-TreiberAus dem gespeicherten Scan abgeleitete Prioritaeten

3 datenschutzrelevante Drittanbieter-Domain(s) aus Browserkontakten.

1 Tracking-Script(s) im gespeicherten HTML-/Browser-Sample.

13 Formular(e) auf 3 geprüften Seite(n) als Eingabepunkte.

9 wichtige Security-Header fehlen oder sind nicht belegt.

Tracking und Consent zuerst prüfen: Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig.

Browser-Nachweis: 74 Request(s), 7 Drittanbieter-Domain(s), davon 3 datenschutzrelevant, 0 Browser-Cookie(s), Transfer-Prüfbedarf: 3, Referrer-/URL-Leaks: 2,

Quelle
Scan-Evidence
Entlastende SignaleGegenueber dem Gesamtwert separat lesen

0 Cookie(s) vor Einwilligung im gespeicherten Erstaufruf.

Impressum-Link wurde im passiven Sample belegt.

Datenschutz-Hinweis wurde im passiven Sample belegt.

Performance-Basiswert liegt bei 94/100.

Quelle
Scan-Evidence
Gate-/GrenzsignaleWas die automatische Aussage begrenzt

Score unter 50: hoher Betreiber-Pruefbedarf, aber kein Verbot und kein Seriositaetsurteil.

4 manuelle Review-Ausloeser aus der Scope-Grenze.

4 nicht automatisch gepruefte Bereiche, etwa Login, Checkout, Vertrags- oder Rechtskontext.

Grenze
manuell pruefen

Hintergrundseite öffnen

Korrektur melden: Wenn Score-Treiber durch Consent-Wall, Paywall, veraltete Inhalte oder falsch erkannte Betreiberinformationen verzerrt sind, melden Sie Domain, Report-URL, Scan-ID und kurze Begruendung ueber Kontakt.

Betreiberentscheidung

Welche Fakten und Linkziele gibt es für baby.weser-kurier.de?

Der Abschnitt trennt technische Evidence von Betreiber-Background. Er enthält kein Rechtsurteil, keine Freigabe, kein pauschales Misstrauenslabel und keine eingebetteten Hintergrundinhalte.

normaler Passivlauf
0Score als Priorisierung, nicht als Rechtsfreigabe0Cookie(s) vor Einwilligung gesehen3datenschutzrelevante Drittanbieter-Domains13Formular(e) auf 3 Seite(n)jaImpressum-Link automatisch belegtjaDatenschutz-Hinweis automatisch belegt
Scan-Einordnung

Der Score zeigt erhöhten Prüfbedarf aus technischen Signalen; er ist ein Priorisierungssignal, kein Verbot.

Einordnung lesen
Datenschutz-Fokus

0 Cookie(s) vor Einwilligung, 3 datenschutzrelevante Drittanbieter-Domain(s), 1 Tracking-Script(s) im gespeicherten Lauf.

Datenschutz-Hub öffnen
Google Consent Mode

Google-Tag-Evidence wurde gesehen; die Detailbewertung ist als Link ausgelagert.

Grenzen prüfen

Hintergrundseite öffnen

Nicht behaupten: SaferPage bestätigt keine DSGVO-Konformität, keine Malwarefreiheit, keine rechtssichere Cookie-Einwilligung und keine abschließende Betreibertransparenz. Relevante Änderungen immer erneut scannen und fachlich freigeben.

Aussage-Ampel

Was dieser Report belegt, was zu prüfen ist und was nicht behauptet werden darf

Diese Einordnung schützt vor überzogenen Scanner-Schlüssen: technische Beobachtung, manuelle Betreiberprüfung und klare Claim-Grenzen bleiben getrennt.

Aussage-VerlässlichkeitBelastbares Signal mit manuellen Prüfpunkten · Signal + BetreiberprüfungFür die EinordnungDer Report zeigt relevante Datenschutz-Signale; der Abgleich mit den Website-Flows bleibt Betreiberkontext.BetreiberkontextNicht als Scan-Feststellung im Testresult ausgespielt; Detailprüfung ist verlinkt.

Verlässlichkeitsgrenze: Die sichtbare Evidence ist auswertbar, aber Formulare, Cookies, Drittanbieter, Google-Tags und Rechtsgrundlagen brauchen Betreiberkontext.

Automatisch belegtAus gespeicherter SaferPage-Evidence

Score 0/100 als Priorisierung aus passivem HTTP-, HTML-, Header-, Cookie- und Browserkontakt-Sample.

74 Browser-Request(s), 3 datenschutzrelevante Drittanbieter-Domain(s), 1 Tracking-Script(s) im gespeicherten Lauf.

4 direkt geprüfte Test-URL(s) im Crawl-Abschnitt; die Ziel-Links bleiben im Report nachvollziehbar.

Crawl-Evidenz: 13 Formular(e) auf 3 geprüften Seite(n) sichtbar, statt sie als nicht vorhanden zu verstecken.

Status
belegbar
Nicht behauptenClaim-Grenzen

keine DSGVO-Konformität, keine Rechtsberatung und keine Betreiberfreigabe

kein abschließendes Seriositätsurteil über baby.weser-kurier.de

keine Malwarefreiheit, kein Penetrationstest und keine vollständige Prüfung hinter Login, Paywall oder Geoblocking

Status
nicht freigegeben

Hintergrundseite öffnen

Datenschutz-Fokus: Der Report zeigt konkrete Datenschutz-, Consent-, Formular- und Transparenzsignale. Er ist kein Freigabesiegel und braucht bei Website-Änderungen einen neuen technischen Re-Scan.

Prüfumfang & Grenzen

Was SaferPage geprüft hat - und was nicht

Prüfumfang und Grenzen des passiven SaferPage-Kurzchecks: getestet, nicht getestet, manuell zu prüfen und erneut zu scannen.

normaler Passivlauf
4geprüfte Bereiche4nicht geprüfte Grenzen4manuelle Review-Auslöser4Re-Scan-AuslöserneinConsent-/Paywall-GrenzejaGoogle-Consent aus Evidenz
GeprüftAutomatische Evidence aus dem passiven Lauf

Passiver HTTP-/Browser-Sample: 74 Browser-Request(s), 3 datenschutzrelevante Drittanbieter-Domain(s).

Cookies und Consent-Startzustand: 0 Cookie(s) vor Einwilligung im gespeicherten Lauf.

Öffentlich erreichbare Test-URLs: 4 direkt geprüfte Test-URL(s) im Crawl-/Coverage-Abschnitt.

Formular-Evidenz aus öffentlichem Crawl: 13 Formular(e) auf 3 Seite(n) erkannt.

Status
belegt

Methodik-Grenzen öffnen

Hintergrundseite öffnen

Monitoring öffnen

Claim-Grenze: Der Prüfumfang beschreibt den gespeicherten passiven Kurzcheck. Er ersetzt keine Rechtsberatung, keine Betreiberfreigabe und keinen Deep-Scan hinter Login, Paywall oder Interaktion.

Konsolidierungscheck

Sind typische Fehlalarme für Betreiber eingeordnet?

Diese Kontrolle prüft die Report-Darstellung gegen bekannte Schwachstellen: Formular-Widersprüche, Google-Consent-Fehlalarme, doppelte Maßnahmen, Consent-/Paywall-Grenzen und pauschale Besucherwarnungen.

ok
6/6Kontrollen bestanden0doppelte Scan-HinweisejaGoogle-Consent aus Evidenz erforderlich0Google-Fehlalarme in Scan-Hinweisen13Formulare aus Crawl-CoverageneinConsent-/Paywall-Grenze
Scan-Hinweise dedupliziertok · ok
Gleiche Scan-Hinweise werden nicht doppelt in die Top-Liste geschoben.
Grenze: Deduplizierung fasst gleich benannte Scan-Hinweise zusammen, ersetzt aber keine fachliche Priorisierung.
Prüfkatalog öffnen
Google Consent nur bei Google-Evidenzok · Google-Evidenz prüfen
Google-Tags oder Google-Domains wurden gesehen; Consent-Mode-Einordnung anhand der konkreten Requests prüfen.
Grenze: Ein später eingebauter Google-Tag braucht einen Re-Scan; diese Aussage gilt nur für die gespeicherte Scan-Evidenz.
Hintergrundseite öffnen
Formulare konsistent eingeordnetok · Crawl-Evidenz sichtbar
Der Report zeigt 13 Formular(e) auf 3 geprüften Seite(n) statt pauschal keine Dateneingabe zu behaupten.
Grenze: SaferPage sendet keine Formulare ab und bewertet Zweck, Pflichtfelder und Rechtsgrundlagen nicht abschließend.
Hintergrundseite öffnen
Consent-/Paywall-Grenze berücksichtigtok · normaler Passivlauf
Keine Publisher-/PUR-/Consent-Wall als dominante Scan-Grenze erkannt.
Grenze: Overlays, Logins, Geoblocking und Paywalls können sichtbare Nachweise verdecken und erfordern Betreiberprüfung.
Methodik öffnen
Betreiber-Wording gesichertok · Grenzen sichtbar
Die Top-Liste bleibt bei Scan-Hinweisen und Linkzielen; sie wird nicht als Zertifikat, Rechtsfreigabe oder abschließendes Seriositätsurteil formuliert.
Grenze: Der Kurzreport ist eine technische Orientierung und keine Rechtsberatung, kein Penetrationstest und kein Freigabesiegel.
Einordnung öffnen
Aussage-Ampel exportiertok · maschinenlesbar
JSON und Markdown enthalten belegte Signale, manuelle Prüfpunkte, Claim-Grenzen und Hintergrund-Links.
Grenze: Der Export dokumentiert die automatische Einordnung, ersetzt aber keine manuelle Betreiber- oder Rechtsfreigabe.
Aussage-Grenzen öffnen

Claim-Grenze: Die Qualitätskontrollen erklären Grenzen der automatisierten Priorisierung. Sie beweisen keine Rechtskonformität und ersetzen keine Betreiberfreigabe.

Zuletzt geprüfte Seiten

Welche Test-URLs wurden wirklich abgerufen?

Der Kurzreport zeigt hier die priorisierten Unterseiten aus dem letzten Crawl mit direktem Link zur geprüften Ziel-URL. Die Screenshot-Vorschau oben ist eine kleine 160x150-Evidence zum geprüften Seitenzustand; die Liste darunter macht sichtbar, ob Datenschutz-, Impressum-, Formular- oder andere wichtige Seiten im Test enthalten waren.

4 abgerufene Unterseite(n) · 12 zusätzlich entdeckte interne Linkziele.

Vollständiges Seiteninventar öffnen · Agentur-DeepScan öffnen

Direkte Test-URLs

/anzeige-aufgeben/anzeigenschaltung-und-kontaktkontakt · HTTP 200 · Tracking 1 · Cookies 0 · Formulare 4/kontaktkontakt · HTTP 200 · Tracking 1 · Cookies 0/anzeige-aufgeben/preise-und-musterbuchpreise · HTTP 200 · Tracking 1 · Cookies 0 · Formulare 4/alles-fuers-babyunterseite · HTTP 200 · Tracking 1 · Cookies 0 · Formulare 5

Audit-Ausgabe

PDF-/Druckbericht für Betreiber und Prüfer

Dieser Bericht ist für die Browser-Funktion „Drucken“ beziehungsweise „Als PDF speichern“ optimiert. Rohdaten und auditfähige Nachweise bleiben zusätzlich über JSON, CSV, Excel-Tabellen und ein ZIP-Nachweispaket mit getrennten Cookie-, Drittanbieter-, Consent-, Request- und Aufgaben-Tabellen exportierbar.

Domainbaby.weser-kurier.de Score0 Scan-ID49e1d630-a065-452f-8000-cba7aabdc7bb Erstellt2026-06-15 11:47:32.565003+02 Öffentlicher Linksaferpage.de/baby.weser-kurier.de ExportPDF/Druck, JSON, CSV, XLSX, ZIP-Nachweise
DNS erreichbarAdressen: 1
HTTPS-Zertifikat gültigTLS: TLSv1.3
HTTP-Status 200Endziel: https://baby.weser-kurier.de/

Report richtig einordnen

Passive technische Orientierung, kein abschließendes Urteil

SaferPage bewertet sichtbare Website-Signale für baby.weser-kurier.de. Der Score hilft beim Priorisieren, ersetzt aber keine Rechtsberatung, keine Zertifizierung, keinen Penetrationstest und keine Betreiberfreigabe.

Automatisch belegtDNS, HTTPS, HTTP, Header, sichtbares HTML, Cookies und Browserkontakte aus dem passiven Lauf.Scan-Grenzekeine besondere Gate-Grenze erkannt · Passiver Kurzcheck: keine Logins, keine Formularübermittlung, kein vollständiger Rechts- oder Sicherheitstest.Formular-EvidenceCrawl fand 13 Formular(e) auf 3 Seite(n).Google Consent ModeGoogle-Signale wurden gesehen; Consent-Mode- und Tag-Gating-Befunde mit den konkreten Request-/Tag-Nachweisen prüfen.Drittanbieter-Evidence74 Browser-Request(s), 3 datenschutzrelevante Drittanbieter-Domain(s).Nicht behauptenKeine Aussage wie DSGVO-zertifiziert, rechtssicher, malwarefrei garantiert oder abschließend unbedenklich.

Hintergrundseite öffnen

Grenzen der automatischen Bewertung

Welche Grenzen sind aus der Evidence ableitbar?

Diese Konsolidierung zeigt sichtbare technische Beobachtungen getrennt von allgemeinem Betreiber-Background. Nicht belegte Kontexte werden nur als Hintergrund-Link angeboten.

74Browser-Requests im passiven Lauf3datenschutzrelevante Drittanbieter-Domains13Formulare aus Startseite und Crawl-CoveragejaGoogle-Consent-Prüfung erforderlichneinPublisher-/Consent-Gate-Kontextkeine besondere Gate-Grenze erkanntScan-Grenze
ScorePriorisierung
Der Wert ist aus technischen Signalen berechnet und dient der Reihenfolge der sichtbaren Hinweise.
Methodik öffnen
FormulareCrawl-Evidenz vorhanden
Der Check zeigt 13 Formular(e) auf 3 geprüften Seite(n).
Hintergrundseite öffnen
Google Consent ModeGoogle-Evidenz prüfen
Google-Tags oder Google-Domains wurden gesehen; Consent Defaults und Tag-Gating anhand der konkreten Requests prüfen.
Hintergrundseite öffnen
Consent-/Paywall-Gateskeine besondere Gate-Grenze erkannt
Im gespeicherten Kurzcheck wurde keine besondere Gate-Grenze hervorgehoben.
Grenzen öffnen
Cookies vor Einwilligung0 Cookie(s) gesehen
Der passive Browserlauf speicherte 0 Cookie(s) vor Einwilligung und 3 datenschutzrelevante Drittanbieter-Domain(s).
Hintergrundseite öffnen
Viewport-Transparenz4 sichtbare Signal(e)
Der erste Chromium-Viewport sah Datenschutz 2, Impressum 1, Kontakt 0 und Cookie/Consent 1 Link-/Steuerungssignal(e).
Einordnung öffnen
Externe Skript-LieferketteSkriptquellen prüfen
Der HTML-Check sah 2 externe Skript(e) von 2 Host(s), davon 2 ohne SRI und 1 Tracking-/Tag-nahe Skript(e).
Hintergrundseite öffnen
Robots & Sitemaprobots.txt geprüft
Der passive Coverage-Check hat robots.txt erfolgreich abgerufen, 0 Sitemap-Quelle(n) gelesen, 1 Sitemap-Kandidat(en) gesehen, 0 Sitemap-URL(s) und 30 interne Linkziele gespeichert.
Crawl-Grenzen öffnen
Indexierungs-SignaleRobots-Direktiven gesehen
Der passive Abruf sah 1 Meta-Robots-Signal(e), 0 X-Robots-Tag-Wert(e) und 0 begrenzende Direktive(n): follow, index.
Indexierungs-Grenzen öffnen
KI-/Crawler-PolicyPolicy-Dateien gesehen
Der passive Same-Origin-Check sah 2 von 5 festen Policy-Datei(en), 1 llms/AI/WARD-Datei(en) und 0 explizite KI-Bot-Regel(n) in robots.txt. robots.txt: generic_robots_policy; llms/AI/WARD: policy_file_found.
KI-/Crawler-Grenzen öffnen
AdTech-TransparenzdateienDatei-Evidence gesehen
Der passive Same-Origin-Check sah 1 von 3 AdTech-Datei(en), 1311 ads.txt-Zeile(n), 0 app-ads.txt-Zeile(n), DIRECT 508, RESELLER 802, Exchange-Domains 8 und 0 sellers.json-Seller.
AdTech-Grenzen öffnen
Security-/Trust-Policynicht belegt
Der passive Same-Origin-Check sah 0 von 2 security.txt-Ziel(en), 0 Kontaktfeld(er), 0 strukturierte Feld(er), bevorzugter Well-known-Pfad: nein, Expires-Feld: nein.
Security-/Trust-Grenzen öffnen
Ausgeblendeter Inhaltkein Schwerpunkt
Der HTML-/CSS-Check hat keine aktuelle Hidden-Text-Probe gespeichert; daraus wird kein Hidden-Text-Befund abgeleitet.
Einordnung öffnen
Bewertungs-/Review-Markupnicht belegt
Der passive Lauf hat kein Bewertungs-/Review-Markup als Schwerpunkt gespeichert.
Hintergrundseite öffnen
Suchmaschinenansichtkeine klare Abweichung
Normaler Abruf und Googlebot-Abruf wurden verglichen: Status 200 / 200, Textähnlichkeit 1.
Hintergrundseite öffnen
Hreflang-/Sprachalternativennicht belegt
Der passive Lauf hat keine Hreflang-Alternates als Schwerpunkt gespeichert.
Hintergrundseite öffnen
BetreibertransparenzLink-Evidenz vorhanden
Der passive Lauf hat einen Impressum-Link als Evidence gespeichert.
Hintergrundseite öffnen

Methodik-Grenzen öffnen

Link-only

Faktenbasierte Linkziele statt Fix-Anleitung

Diese Testresult-Seite zeigt Scan-Fakten zur geprüften Website. Umsetzungsschritte, Hintergrundseiten, Checklisten, Code und allgemeine Empfehlungen stehen auf getrennten Seiten; im Report erscheint nur das Linkziel.

3priorisierte Scan-Hinweise3hoch gewichtete Scan-HinweiseLink-onlykeine Hintergrundinhalte im TestresultFaktenReport bleibt bei Evidence und Grenzen
Tracking und Consent zuerst prüfenhoch · Consent

Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig.

Guide-, Checklisten- und Umsetzungstexte sind ausgelagert; hier bleiben Evidence und Linkziel.
Gewicht
88/100
Linkziel
öffnen
Browser-Nachweishoch · Audit

74 Request(s), 7 Drittanbieter-Domain(s), davon 3 datenschutzrelevant, 0 Browser-Cookie(s), Transfer-Prüfbedarf: 3, Referrer-/URL-Leaks: 2, Fingerprinting-/Replay-Hinweise: 1.

Guide-, Checklisten- und Umsetzungstexte sind ausgelagert; hier bleiben Evidence und Linkziel.
Gewicht
84/100
Linkziel
öffnen
Erkannte Anbieter fehlen in der Datenschutzerklärunghoch · DSGVO/Transparenz

Aus diesem Rohfeld wird im Testresult keine zusätzliche Scan-Feststellung abgeleitet; Betreiberkontext und Umsetzungshinweise sind ausgelagert.

Guide-, Checklisten- und Umsetzungstexte sind ausgelagert; hier bleiben Evidence und Linkziel.
Gewicht
82/100
Linkziel
öffnen

Betreiber-Fazit

Erhöhter Betreiber-Prüfbedarf

Die Kurzfassung zeigt technische Signale aus dem passiven Lauf. Betreiberkontext ohne Scan-Beleg wird nur als Hintergrund-Link angeboten.

Auffällige SignaleTracking ohne sichtbaren Cookie-HinweisKein sichtbarer Ablehnen-Button im BannerConsent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus
Entlastende SignaleDateneingabe hat KontextNutzbarkeit wirkt solideTechnisches VertrauenssignalFormulare mit Kontext erkannt
Datenschutz & Trackingkritisch1 Tracking-Script(s), 0 Cookie(s) vor Einwilligung, 3 datenschutzrelevante Drittanbieter.
DateneingabeprüfenCrawl fand 13 Formular(e) auf 3 geprüften Seite(n), u. a. /anzeige-aufgeben/anzeigenschaltung-und-kontakt, /anzeige-aufgeben/preise-und-musterbuch, /alles-fuers-baby.
BrowserkontaktekritischChromium sah 74 Request(s), 7 Drittanbieter-Domain(s), davon 3 datenschutzrelevant.
DomainhistorieprüfenRDAP liefert kein klares Registrierungsdatum.
Technische BasisprüfenHTTPS, DNS, Zertifikat, HTTP-Status und wichtige Sicherheitsheader wurden passiv geprüft.
NutzbarkeitunauffälligAntwortzeit, mobile Viewport-Basis und auffällige Browser-Verhaltensmuster wurden eingeordnet.

Hintergrundseite öffnen

Prüfprofil

Für welchen Betreiber-Kontext wurde priorisiert?

Prüfprofil Deutschland -> DACH: Allgemeine Website, Zielgruppe Gemischte Zielgruppe. 4 Schwerpunkt(e) für Betreiber priorisiert.
Das Profil priorisiert technische Prüfpunkte für Betreiber; es ersetzt keine rechtliche Einzelfallprüfung.

Website-Typ: Allgemeine Website · Betreiber: Deutschland · Zielregion: DACH

Schwerpunkte

DSGVO/TDDDGrelevant · mittel · Profil: Betreiber-/ZielregionBFSG/WCAGrelevant · hoch · Profil: Website-Typ und WCAG-SignaleDDG/Anbieterkennzeichnungrelevant · hoch · Profil: öffentliches WebangebotDrittanbieter und internationale Transfersrelevant · prüfen · Profil: AngebotskomplexitätSensible DatenKontext · hoch · Profil: Website-Typ/Zielgruppe

Prüfmodule

Welche Bereiche wurden geprüft?

Methodik
Browser-Nachweis16
kritisch

74 Request(s), 7 Drittanbieter-Domain(s), davon 3 datenschutzrelevant, 0 Browser-Cookie(s), Transfer-Prüfbedarf: 3, Referrer-/URL-Leaks: 2, Fingerprinting-/Replay-Hinweise: 1.

Details und Umsetzungshinweise sind ausgelagert; sichtbar bleiben Modulscore, Evidence und Linkziel.Hintergrundseite öffnen
Datenschutz, Cookies & Consent32
kritisch

Scan-Evidence in diesem Modul vorhanden; Betreiberkontext ist ausgelagert.

Details und Umsetzungshinweise sind ausgelagert; sichtbar bleiben Modulscore, Evidence und Linkziel.Hintergrundseite öffnen
Sicherheit, TLS & Header34
kritisch

1 Infrastruktur-Hinweis(e), Security-Header: 0/9 vorhanden, 9 fehlen, externe Skript-Hosts: 2.

Details und Umsetzungshinweise sind ausgelagert; sichtbar bleiben Modulscore, Evidence und Linkziel.Hintergrundseite öffnen
Google-Dienste & Drittanbieter36
kritisch

Google-Tags: ja, 3 Google-nahe Domain(s), Consent-Default: nein, Analytics: nein, Werbung: ja, Fonts: nein.

Details und Umsetzungshinweise sind ausgelagert; sichtbar bleiben Modulscore, Evidence und Linkziel.Hintergrundseite öffnen
Seitenabdeckung & Crawl37
kritisch

30 interne Linkziele erkannt, 4 priorisierte Unterseite(n) abgerufen.

Details und Umsetzungshinweise sind ausgelagert; sichtbar bleiben Modulscore, Evidence und Linkziel.Hintergrundseite öffnen
Tracking-Pixel & Beacons58
auffällig

1 Pixel-/Bildtracking-Hinweis(e), 3 Beacon-/Telemetry-Hinweis(e), 0 Link-Ping(s).

Details und Umsetzungshinweise sind ausgelagert; sichtbar bleiben Modulscore, Evidence und Linkziel.Hintergrundseite öffnen
Referrer & URL-Leaks76
prüfen

2 Drittanbieter-Domain(s) mit Referrer-/URL-Leak-Prüfbedarf, 0 sensible Query-Kontexte.

Details und Umsetzungshinweise sind ausgelagert; sichtbar bleiben Modulscore, Evidence und Linkziel.Hintergrundseite öffnen
Externe Skripte & SRI82
prüfen

2 externe Skript(e) von 2 Host(s), 2 ohne SRI, 1 Tracking-/Tag-nahe Skript(e).

Details und Umsetzungshinweise sind ausgelagert; sichtbar bleiben Modulscore, Evidence und Linkziel.Hintergrundseite öffnen

Hintergrundseite öffnen

Ausgelagerten Fixpfad öffnen

Verlinkte Betreiber-Details

Hintergrundseiten sind ausgelagert

Der Report zeigt Fakten zur geprüften Website. Hintergrund, Arbeitspfade und Runbooks liegen auf getrennten Zielseiten; hier stehen nur Links.

Link-only Detailmodule

Detailseiten statt eingebettetem Hintergrund

Diese Testresult-Seite bleibt bei Scan-Fakten zur geprüften Website. Nachweise, Badge-Code, Benchmark, Monitoring, Arbeitspfade und Hintergrundseiten öffnen auf eigenen Seiten; im Testresult stehen nur feste Links, keine Hintergrundinhalte.

Nachweise öffnenPrüfbeleg, Exportpaket und Hash-NachweiseMonitoring öffnenScan-Verlauf, Änderungen und WiederholungsscansBenchmark öffnenVergleichswerte auf eigener DetailseiteAlerts öffnenÄnderungs- und RisikohinweiseBadge-Center öffnenBadge-Code und Verifizierung ausgelagertMethodik öffnenGrenzen, Crawl-Verhalten und PrüfprofilPriorisierte Scan-Hinweise als JSON anzeigenMaschinenlesbare Befunde mit Evidence und Linkziel

Monitoring

Was hat sich seit dem letzten Scan verändert?

unverändert
Vergleich mit dem vorherigen gespeicherten Scan: Score +0 Punkte, 0 neue und 0 behobene Hinweis(e).
Neue Hinweise 0 · behoben 0 · neue technische Signale 0 · entfernte technische Signale 0

2Tests insgesamt1frühere Tests2sichtbar im VerlaufjaÄnderungsvergleich

Scan-Verlauf

Aktuell · 2026-06-15 11:47Score 0 · 36 Hinweis(e)Früher · 2026-06-15 11:10Score 0 · 36 Hinweis(e)

Änderungen

Neue und behobene Hinweise

Score vorher: 0 · jetzt: 0 · Delta: +0

Neu

Keine neuen Hinweise gegenüber dem vorherigen Scan.

Behoben

Keine behobenen Hinweise gegenüber dem vorherigen Scan.

Technik-Delta

Neue Cookies, Drittanbieter und Skriptquellen

0 neue und 0 entfernte technische Datenschutz-Signal(e): Cookies, Drittanbieter und externe Skriptquellen.

Neu erkannt

Keine neuen Cookies. Keine neuen Drittanbieter. Keine neuen Skriptquellen.

Entfallen

Keine entfernten Cookies. Keine entfernten Drittanbieter. Keine entfernten Skriptquellen.

Betreiber-Risiko

Priorisierte Scan-Hinweise aus dem gespeicherten Report

Hoher Betreiber-Handlungsbedarf
Abgeleitet aus dem Datenschutz-Webseiten-Report: Datenschutz, TDDDG/ePrivacy, BSI-Sicherheit, Google-Qualität und Nutzbarkeit werden nach passiven Befunden priorisiert.

TDDDG/ePrivacyhoch · 4 Hinweis(e)Detailseite öffnenBSI/Security-Headermittel · 4 Hinweis(e)Detailseite öffnenDSGVO/Transparenzhoch · 3 Hinweis(e)Detailseite öffnenConsent-Nachweishoch · 2 Hinweis(e)Detailseite öffnenDSGVO/Google-Dienstehoch · 2 Hinweis(e)Detailseite öffnenDrittlandtransferhoch · 2 Hinweis(e)Detailseite öffnen

Regelwerks-Scorecard

DSGVOScore 0/100 · hoher Prüfbedarf · 11 Befund(e)Transparenz, Datenflüsse, Empfänger, Speicherdauer und technische Sicherheit personenbezogener Daten.Detailseite öffnenTDDDG/ePrivacyScore 0/100 · hoher Prüfbedarf · 7 Befund(e)Cookies, Endgerätezugriff, Tracking, Consent-Zustände, GPC und Widerruf.Detailseite öffnenBFSG/WCAGScore 86/100 · prüfen · 1 Befund(e)Barrierefreiheit, Tastatur-/Screenreader-Nutzbarkeit, Formulare, Buttons und mobile Basis.Detailseite öffnenBSI/SecurityScore 14/100 · hoher Prüfbedarf · 9 Befund(e)TLS, Security-Header, CSP, Patchstand, Referrer-Schutz und technische Härtung.Detailseite öffnenDDG/BetreibervertrauenScore 0/100 · hoher Prüfbedarf · 5 Befund(e)Impressum, Kontakt, Anbieterkennzeichnung und erkennbare Betreiberidentität.Detailseite öffnen

Regelwerks-Matrix

TDDDG/ePrivacyhoch · 7 Befund(e) · Score 154Detailseite öffnenBetreibervertrauenhoch · 5 Befund(e) · Score 112Detailseite öffnenDSGVO Transparenzhoch · 5 Befund(e) · Score 112Detailseite öffnenBSI/Sicherheitmittel · 9 Befund(e) · Score 86Detailseite öffnenDSGVO Datenleck/PIIhoch · 3 Befund(e) · Score 70Detailseite öffnenGoogle-Dienstehoch · 3 Befund(e) · Score 48Detailseite öffnenBITV/Usabilitymittel · 1 Befund(e) · Score 14Detailseite öffnen

Domainhistorie

Wie lange gibt es die Domain?

RDAP liefert kein klares Registrierungsdatum.

RDAP-Hinweise

RDAP liefert kein klares Registrierungsdatum.

Datenschutz zuerst

Was sieht ein Nutzer beim ersten Aufruf?

Cookies beim ersten Aufruf: 0 · Tracking-Skripte: 1 · Datenschutzerklärung: ja · Impressum: ja · Ablehnen-Option: nein

Dateneingabe & Zahlung

Welche Daten könnte die Seite abfragen?

Crawl fand 13 Formular(e) auf 3 geprüften Seite(n). Datenschutzkontext: ja · Betreiberkontext: ausgelagert

Erkannte Eingaben

13Formulare insgesamt erkannt13aus gecrawlten Test-URLs3Formular-UnterseitenausgelagertDatenschutzkontextHintergrund-LinkBetreiberkontext ausgelagert

Hintergrundseite öffnen

/anzeige-aufgeben/anzeigenschaltung-und-kontaktCrawl · 4 Formular(e)/anzeige-aufgeben/preise-und-musterbuchCrawl · 4 Formular(e)/alles-fuers-babyCrawl · 5 Formular(e)Adresse2 Signal(e)Name/personenbezogene Daten2 Signal(e)Kontaktformular1 Signal(e)AdresseFormular · 2 Feld(er)AdresseFormular · 2 Feld(er)FormularFormular · 0 Feld(er)FormularFormular · 0 Feld(er)

PII & Datenlecks

Könnten personenbezogene Werte in URL, Referrer oder Tracking landen?

1 PII-/Datenleck-Hinweis(e) aus URL-, Formular- und Browserkontext. Score: 82 · Hinweise: 1

Hintergrundseite öffnen

Leckpfade

Aktuelle URLok · Keine sensiblen Query-Parameter erkannt.Link-Parameterok · Keine sensiblen Link-Querys erkannt.GET-Formulareok · Keine personenbezogenen GET-Formulare erkannt.Externe Formularzieleok · Keine externen Formularziele mit personenbezogenen Feldern erkannt.Tracking neben Dateneingabeauffällig · 3 datenschutzrelevante Drittanbieter.

Kurzantwort

Kann man der Website vertrauen?

Der Check bleibt passiv und formuliert die wichtigsten Punkte als Betreiberhinweise. Technische Details bleiben nachvollziehbar im JSON erhalten.

Browser-Sicht

Was lädt die Seite im Chromium-Browser nach?

Requests: 74 · kontaktierte Domains: 8 · Drittanbieter: 7 · Browser-Cookies: 0 · Storage: 4 (2 Tracking-Hinweis(e)) · Banner: Akzeptieren 1 / Ablehnen 0 / Einstellungen 1 · Ablehnen/Akzeptieren: 0 · Reject-Test: nicht gefunden, neue Cookies 0, neue Tracking-Kontakte 0 · Accept-Test: geklickt, neue Cookies 10, neue Tracking-Kontakte 7 · TCF-String: ja, Purposes 0, Vendors 0 · GPC: aktiv, Datenschutz-Domains 2, Drittanbieter-Cookies 0 · Viewport-Signale: Datenschutz 2 / Impressum 1 / Kontakt 0 / Cookie 1 · CMP: ja · Browser: playwright-chromium

Zwecke

other4 Domain(s)Werbung2 Domain(s)Tag-Manager1 Domain(s)

CMP & Storage

TCF APIBrowserCMP APIBrowserdataLayerBrowserGoogle Tag DataBrowserconsentStorageconsentStorageTCF TC-StringjaTCF Purposes0TCF Vendors0Akzeptieren1Ablehnen0Einstellungen1Ablehnen/Akzeptieren0Reject-TestoffenNeue Cookies nach Ablehnen0Tracking-Storage nach Ablehnen2Neue Tracking-Kontakte0Accept-TestgeklicktNeue Requests nach Akzeptieren27Neue Cookies nach Akzeptieren10Neue Tracking-Kontakte nach Akzeptieren7GPC-SignalaktivGPC Datenschutz-Domains2GPC Drittanbieter-Cookies0GPC Storage-Hinweise2

Viewport-Transparenz

Privacy noticeDatenschutz · x378 y813Legal noticeImpressum · x553 y813Privacy settingsDatenschutz · x13 y928

Drittanbieter

cdn.consentmanager.netSonstige · 5 Request(s) · image, scriptdata-8c0b0197a5.weser-kurier.deSonstige · 5 Request(s) · xhr, scriptGoogle DoubleClickWerbung · 2 Request(s) · scriptc.delivery.consentmanager.netSonstige · 1 Request(s) · imaged.delivery.consentmanager.netSonstige · 1 Request(s) · scriptGoogle Tag ManagerTag-Manager · 1 Request(s) · scriptGoogle AdSenseWerbung · 1 Request(s) · fetch

Consent-Zustände

Was passiert beim Erstaufruf, nach Ablehnen, nach Akzeptieren und mit GPC?

Consent-State-Evidence: 4 Zustände verglichen, 1 hoch auffällig, 2 mittel auffällig. Score: 38

Hintergrundseite öffnen

Zustandsnachweis

ErstaufrufCookies 0 · neu 0 · Tracking-Storage 2 · Datenschutz-Domains 3 · mittelNach AblehnenCookies 0 · neu 0 · Tracking-Storage 2 · Datenschutz-Domains 0 · hochNach AkzeptierenCookies 10 · neu 10 · Tracking-Storage 2 · Datenschutz-Domains 7 · infoGPC-AufrufCookies 0 · neu 0 · Tracking-Storage 2 · Datenschutz-Domains 2 · mittel

Consent-Journey

Welche Anbieter erscheinen im Erstaufruf, nach Ablehnen, nach Akzeptieren und bei GPC?

Consent-Journey: 0 neue Datenschutz-Domain(s) nach Ablehnen, 4 nach Akzeptieren, 2 im GPC-Aufruf. Score: 84 · Ablehnen neu: 0 · Akzeptieren neu: 4 · GPC: 2

Hintergrundseite öffnen

Zustandsmatrix

Google DoubleClickWerbung · Erstaufruf 2 · Ablehnen neu 0 · Akzeptieren neu 0 · GPC 2Google AdSenseWerbung · Erstaufruf 1 · Ablehnen neu 0 · Akzeptieren neu 2 · GPC 0Google Tag ManagerTag-Manager · Erstaufruf 1 · Ablehnen neu 0 · Akzeptieren neu 1 · GPC 1Google AnalyticsAnalytics · Erstaufruf 0 · Ablehnen neu 0 · Akzeptieren neu 2 · GPC 0Google AdSenseWerbung · Erstaufruf 0 · Ablehnen neu 0 · Akzeptieren neu 1 · GPC 0cdn.consentmanager.netSonstige · Erstaufruf 5 · Ablehnen neu 0 · Akzeptieren neu 0 · GPC 5data-8c0b0197a5.weser-kurier.deSonstige · Erstaufruf 5 · Ablehnen neu 0 · Akzeptieren neu 0 · GPC 5c.delivery.consentmanager.netSonstige · Erstaufruf 1 · Ablehnen neu 0 · Akzeptieren neu 2 · GPC 1ep2.adtrafficquality.googleSonstige · Erstaufruf 0 · Ablehnen neu 0 · Akzeptieren neu 3 · GPC 05b448f2f.de.ioam.deSonstige · Erstaufruf 0 · Ablehnen neu 0 · Akzeptieren neu 2 · GPC 0d.delivery.consentmanager.netSonstige · Erstaufruf 1 · Ablehnen neu 0 · Akzeptieren neu 0 · GPC 1ep1.adtrafficquality.googleSonstige · Erstaufruf 0 · Ablehnen neu 0 · Akzeptieren neu 2 · GPC 0

Drittanbieter-Kontakte

Wer bekommt beim ersten Aufruf technische Kontaktpunkte?

7 Drittanbieter-Domain(s) beim ersten Browseraufruf, davon 3 datenschutzrelevant. Score: 30 · Requests: 16 · datenschutzrelevant: 3

Hintergrundseite öffnen

Kontaktmatrix

Google DoubleClickhoch · Werbung · 2 Request(s) · script:2 · securepubads.g.doubleclick.netGoogle AdSensemittel · Werbung · 1 Request(s) · fetch:1 · pagead2.googlesyndication.comGoogle Tag Managermittel · Tag-Manager · 1 Request(s) · script:1 · googletagmanager.comcdn.consentmanager.netniedrig · Sonstige · 5 Request(s) · image:3, script:2data-8c0b0197a5.weser-kurier.deniedrig · Sonstige · 5 Request(s) · script:4, xhr:1c.delivery.consentmanager.netniedrig · Sonstige · 1 Request(s) · image:1d.delivery.consentmanager.netniedrig · Sonstige · 1 Request(s) · script:1

Betreiber-Verzeichnis

Empfänger- und Auftragsverarbeiter-Signale aus dem Scan

7 Empfänger-/Anbieter-Eintrag/Einträge aus Browserkontakten und Cookie-Inventar, 3 datenschutzrelevant, 6 mit AVV-/Rollenprüfung. Score: 19 · hoher Prüfbedarf: 3 · AVV/Rolle prüfen: 6
Aus diesem Rohfeld wird im Testresult keine zusätzliche Scan-Feststellung abgeleitet; Betreiberkontext und Umsetzungshinweise sind ausgelagert.

Hintergrundseite öffnen

Anbieterinventar

Google AdSensehoch · Werbung · Auftragsverarbeiter/Empfänger prüfen · Drittland/USA · 1 Request(s) · 0 Cookie(s) · pagead2.googlesyndication.comGoogle DoubleClickhoch · Werbung · Auftragsverarbeiter/Empfänger prüfen · Drittland/USA · 2 Request(s) · 0 Cookie(s) · securepubads.g.doubleclick.netGoogle Tag Managerhoch · Tag-Manager · Auftragsverarbeiter/Empfänger prüfen · Drittland/USA · 1 Request(s) · 0 Cookie(s) · googletagmanager.comcdn.consentmanager.netmittel · Sonstige · Technischer Empfänger prüfen · Jurisdiktion unklar · 5 Request(s) · 0 Cookie(s)c.delivery.consentmanager.netniedrig · Sonstige · Technischer Empfänger prüfen · Jurisdiktion unklar · 1 Request(s) · 0 Cookie(s)d.delivery.consentmanager.netniedrig · Sonstige · Technischer Empfänger prüfen · Jurisdiktion unklar · 1 Request(s) · 0 Cookie(s)data-8c0b0197a5.weser-kurier.deniedrig · Sonstige · Technischer Empfänger prüfen · EU/EWR · 5 Request(s) · 0 Cookie(s)

Transfer-Risiko

Drittanbieter mit Transfer- oder Jurisdiktionssignal

7 Drittanbieter für Transfer-/Jurisdiktionsprüfung, 3 mit hohem Prüfbedarf, 3 unklar. Score: 31 · hoher Prüfbedarf: 3 · unklar: 3

Transfer Impact Assessment öffnen

Hintergrundseite öffnen

Anbieter-Prüfliste

Google DoubleClickhoch · Drittland/USA · US · securepubads.g.doubleclick.netGoogle AdSensehoch · Drittland/USA · US · pagead2.googlesyndication.comGoogle Tag Managerhoch · Drittland/USA · US · googletagmanager.comcdn.consentmanager.netmittel · Jurisdiktion unklar · unbekanntdata-8c0b0197a5.weser-kurier.deniedrig · EU/EWR · EU/EWRc.delivery.consentmanager.netmittel · Jurisdiktion unklar · unbekanntd.delivery.consentmanager.netmittel · Jurisdiktion unklar · unbekannt

Externe Inhalte

Laden Videos, Karten, Captchas oder Social-Widgets schon beim Seitenaufruf?

0 externe Embed-/Widget-Dienst(e), 0 davon im ersten Browseraufruf geladen. Score: 100 · vorab geladen: 0 · Captcha: 0

Hintergrundseite öffnen

Embed-Prüfliste

Keine Video-, Karten-, Captcha- oder Social-Embeds aus HTML und Browserlauf erkannt.

Referrer & URL-Leaks

Werden Seitenpfade oder Suchparameter an Drittanbieter sichtbar?

2 Drittanbieter-Domain(s) mit Referrer-/URL-Leak-Prüfbedarf, 0 sensible Query-Kontexte. Score: 76 · Domains: 2 · sensible Kontexte: 0

Hintergrundseite öffnen

Leak-Prüfliste

d.delivery.consentmanager.netSeiten-URL oder URL-Wert in Drittanbieter-Requestparametern · Query: id, h, lc.delivery.consentmanager.netSeiten-URL oder URL-Wert in Drittanbieter-Requestparametern · Query: id, did, cfdid

Tracking-Pixel & Beacons

Sendet die Seite unsichtbare Pixel, Link-Pings oder Beacon-Telemetrie?

1 Pixel-/Bildtracking-Hinweis(e), 3 Beacon-/Telemetry-Hinweis(e), 0 Link-Ping(s). Score: 58 · Pixel: 1 · Beacons/Telemetry: 3 · Link-Pings: 0

Hintergrundseite öffnen

Signale

Beacon-/Keepalive-APIbeacon_api · Telemetry · beacon · sendBeacon API 0 Aufruf(e), 0 Code-Hinweis(e); keepalive 1 Aufruf(e), 0 Code-Hinweis(e).c.delivery.consentmanager.netbrowser_tracking_request · Sonstige · image · image-Request mit 16 Query-Schlüssel(n).Google AdSensebrowser_tracking_request · Werbung · fetch · fetch-Request mit 1 Query-Schlüssel(n).

Fingerprinting & Session-Replay

Liest die Seite Browser-Merkmale oder Interaktionen aus?

1 Fingerprinting-/Session-Replay-Hinweis(e) aus dem Browserlauf. Score: 88 · Hinweise: 1

Hintergrundseite öffnen

Browser-API-Check

Canvas-Ausleseok · 0 Pixel-Lesezugriff(e), 0 Export(e).WebGL-Merkmaleok · 0 Parameterzugriff(e), 0 Pixel-Lesezugriff(e).AudioContextok · 0 AudioContext/OfflineAudioContext-Aufruf(e).Session-Replay-Anbieterok · Keine bekannten Anbieter erkannt.Tastatur-/Eingabe-Listenerauffällig · 62 Tastatur-/Input-Listener, 86 Interaktions-Listener, 10 MutationObserver.

Seitenabdeckung

Welche Unterseiten wurden gefunden?

30 interne Linkziele erkannt (0 aus Sitemap), 4 priorisierte Unterseite(n) zusätzlich abgerufen. Score: 37 · wichtige Seiten: kontakt · Sitemap-URLs: 0 · gelesene Sitemaps: 0 · Unterseiten mit Tracking: 4 · Formularlücken: 0 · Anbieter-Abgleich: 0/3 erwähnt

Priorisierte Seiten

/anzeige-aufgeben/anzeigenschaltung-und-kontaktkontakt · HTTP 200 · Tracking 1 · Cookies 0 · Formulare 4/kontaktkontakt · HTTP 200 · Tracking 1 · Cookies 0/anzeige-aufgeben/preise-und-musterbuchpreise · HTTP 200 · Tracking 1 · Cookies 0 · Formulare 4/alles-fuers-babyunterseite · HTTP 200 · Tracking 1 · Cookies 0 · Formulare 5

Datenschutzerklärung

Keine Datenschutzerklärung-Inhaltsprüfung aus den priorisierten Unterseiten vorhanden.

Anbieter-Abgleich

Google DoubleClickTracking · fehlt in DatenschutzerklärungGoogle Tag ManagerTracking-ID · fehlt in DatenschutzerklärungGoogle AdSenseWerbung · fehlt in Datenschutzerklärung

Google Consent Mode

Sind Google-Tags vor Einwilligung begrenzt?

Google-Consent-Mode-Signale wurden aus GTM/Analytics/Ads-Tags, passenden Browserkontakten und Tracking-IDs abgeleitet; reine Google-Service-Kontakte werden separat gezählt. Score: 36

Consent Mode öffnen

Nachweis

Google-TagsjaConsent-DefaultneinConsent-UpdateneinGoogle-Consent-Domains3Google-Service-Domains3

Consent-Audit

Haelt die Seite Tracking bis zur Einwilligung zurueck?

Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig. Score: 0 · Cookies vor Einwilligung: 0 · Tracking-Cookies: 0 · Browser-Ablehnen: 0 · Ablehnen/Akzeptieren: 0 · Reject geklickt: nein · neue Cookies nach Ablehnen: 0 · Accept geklickt: ja · neue Cookies nach Akzeptieren: 10 · neue Tracking-Kontakte nach Akzeptieren: 7 · TCF-String: ja · TCF Purposes: 0 · TCF Vendors: 0 · GPC Datenschutz-Domains: 2 · GPC Drittanbieter-Cookies: 0 · Storage-Hinweise: 2 · CMP: ja · datenschutzrelevante Drittanbieter: 0

Pruefpunkte

Cookie-/Consent-Hinweis sichtbarpruefenAblehnen gleichwertig erreichbarpruefenEinstellungen oder Auswahl vorhandenokAblehnen im sichtbaren BannerpruefenEinstellungen im sichtbaren BannerokAblehnen nicht deutlich schwaecher dargestelltokAblehnen technisch klickbarokKeine neuen Cookies nach AblehnenokKein Tracking-Storage nach AblehnenokKeine neuen Tracking-Kontakte nach Ablehnenok

Consent-Linkziel

Keine priorisierten Consent-Signale im passiven Check.

Blockierplan-Link

Keine konkreten Pre-Consent-Blockiersignale im passiven Check.

Banner-UX

Wirkt das Consent-Banner fair und gleichwertig bedienbar?

Consent-Banner-UX: 2 auffällige Prüfpunkt(e), davon 1 hoch. Muster: Ablehnen nicht gleichwertig sichtbar. Score: 74 · Akzeptieren: 1 · Ablehnen: 0 · Einstellungen: 1 · Dark-Pattern-Hinweise: 1
Automatisch aus sichtbaren Banner-Controls und Browser-Interaktionen abgeleitet; visuelle Details und Rechtmäßigkeit fachlich prüfen.

Consent-Visual-Salienz

Welche Consent-Controls waren im ersten Viewport sichtbar? Status: accept_without_visible_reject_signal · Akzeptieren: 1 · Ablehnen: 0 · Einstellungen: 1 · sichtbare Controls: 27 · Ablehnen/Akzeptieren: nicht messbar
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.

Banner-Vorlage öffnen

Consent-Ledger öffnen

Region-Regeln öffnen

Hintergrundseite öffnen

UX-Prüfpunkte

Ablehnen auf erster Ebene sichtbarauffällig · hoch · Sichtbare Controls: Akzeptieren 1, Ablehnen 0, Einstellungen 1.Einstellungen sichtbar erreichbarok · niedrig · Einstellungs-/Auswahl-Controls im Banner: 1.Ablehnen und Akzeptieren wirken gleichwertigok · niedrig · Größenverhältnis Ablehnen/Akzeptieren: nicht messbar. Accept-Fläche 9035, Reject-Fläche 0.Ablehnen technisch klickbarok · niedrig · Reject-Test: kein Button gefunden. Text:Ablehnen stoppt neue Tracking-Signaleok · niedrig · Nach Ablehnen: 0 neue Cookie(s), 2 Tracking-Storage-Hinweis(e), 0 neue Datenschutz-Domain(s).Akzeptieren-Wirkung nachvollziehbarok · niedrig · Accept-Test: geklickt; neue Cookies 10, neue Datenschutz-Domains 7.GPC-Aufruf ohne neue Tracking-Hinweiseauffällig · mittel · GPC: Datenschutz-Domains 2, Drittanbieter-Cookies 0, Storage-Hinweise 2.Keine Tracking-Cookies vor Einwilligungok · niedrig · 0 Tracking-Cookie(s) im Erstaufruf.

Gemessene Control-Proben

Akzeptieren: Accept all250x36 · Flaeche 9035 · Position top 698 / left 387 · Tag a · Schriftgewicht 400Einstellungen: Settings250x32 · Flaeche 8035 · Position top 754 / left 387 · Tag a · Schriftgewicht 400

TCF-Decoder

Welche IAB-TCF-Zwecke wirken im Erstaufruf erlaubt?

TCF-Decoder: 0 Zweck(e) mit Consent/LI-Signal, 0 Vendor-Consent(s), 0 Vendor-LI-Signal(e). Score: 100 · TC-String: ja · Purposes Consent: 0 · Purposes LI: 0 · Vendor Consent: 0 · Vendor LI: 0

Hintergrundseite öffnen

TCF-Zwecke

P1 Informationen auf einem Gerät speichern und/oder abrufennicht_erlaubt · niedrigP2 Einfache Anzeigen auswählennicht_erlaubt · niedrigP3 Personalisiertes Anzeigen-Profil erstellennicht_erlaubt · niedrigP4 Personalisierte Anzeigen auswählennicht_erlaubt · niedrigP5 Personalisiertes Inhalts-Profil erstellennicht_erlaubt · niedrigP6 Personalisierte Inhalte auswählennicht_erlaubt · niedrigP7 Anzeigen-Leistung messennicht_erlaubt · niedrigP8 Inhalte-Leistung messennicht_erlaubt · niedrigP9 Marktforschung zur Generierung von Erkenntnissen nutzennicht_erlaubt · niedrigP10 Produkte entwickeln und verbessernnicht_erlaubt · niedrigP11 Begrenzte Daten zur Anzeigen-Auswahl verwendennicht_erlaubt · niedrig

Quellenmatrix

Welche offiziellen Quellen stützen die Einordnung?

Quellen und Betreiber-Background sind ausgelagert.
Diese Testresult-Seite zeigt dazu nur Zähler und Linkziel; Quellenkommentare sind kein Befund zur geprüften Website.

Quellen: 10 · offizielle Links: 6

Referenzen

Methodik und Quellen öffnen10 Referenzzeile(n) ausgelagert; Quellenkommentare sind kein Befund zur geprüften Website.

DSGVO & TDDDG

Welche Signale mit Rechtsgrundlagen-Bezug wurden gezählt?

Der passive Scan stellt keine Rechtsgrundlage fest.
Er zählt nur beobachtete Cookie-, Storage-, Drittanbieter-, Formular- und Consent-Signale. Die fachliche Rechtsgrundlagenprüfung bleibt Betreiberkontext und ist als Guide ausgelagert.

Einwilligungsbezug: 11 · vor Consent auffällig: 0 · unklar/prüfen: 11 · Drittanbieter: 7 · Storage: 4

Rechtsgrundlagen-Linkziel

Detailprüfung, Rechtsbewertung und Umsetzungshinweise werden nicht im Testresult ausgespielt.

Hintergrundseite öffnen

Hintergrundseite öffnen

Disclosure-Abgleich

Passt die Datenschutzerklärung zur beobachteten Technik?

Disclosure-Abgleich: 3 beobachtete Anbieter, 3 Anbieter ohne klare Erwähnung, 0 fehlende Policy-Bausteine.
Automatischer Textabgleich gegen technische Beobachtungen; Schreibweisen und dynamische Inhalte können manuelle Prüfung erfordern.

Score: 0 · Anbieter erkannt: 3 · Anbieter fehlen: 3 · Policy-Lücken: 0

Lücken

Google DoubleClickanbieter · Tracking · fehltGoogle Tag Manageranbieter · Tracking-ID · fehltGoogle AdSenseanbieter · Werbung · fehlt

Datenschutzhinweis

Welche Disclosure-Signale wurden gesehen?

Disclosure-Signale aus dem Scan.
Der Testresult-Report zeigt hier nur Zähler, beobachtete Signale und Links; redaktionelle Inhalte und Betreiber-Background stehen auf separaten Seiten.

Hintergrundseite öffnen

Scan-Zähler

Hintergrundseite öffnen2 Zwecksignal(e), 3 Datenart(en), 2 Lückenhinweis(e); Entwurfstexte sind ausgelagert.

Cookie-Signale

Keine Cookie-Zeilen für den Entwurf vorhanden.

Drittanbieter-Signale

cdn.consentmanager.netSonstige · Jurisdiktion unklar · mitteldata-8c0b0197a5.weser-kurier.deSonstige · EU/EWR · niedrigGoogle DoubleClickWerbung · Drittland/USA · hoch · datenschutzrelevantc.delivery.consentmanager.netSonstige · Jurisdiktion unklar · mitteld.delivery.consentmanager.netSonstige · Jurisdiktion unklar · mittelGoogle Tag ManagerTag-Manager · Drittland/USA · hoch · datenschutzrelevantGoogle AdSenseWerbung · Drittland/USA · hoch · datenschutzrelevant

Web-Storage-Signale

__cmpconsentx35882_.weser-kurier.delocalStorage · Tracking/Analytics · Einwilligung erforderlich · dauerhaft bis Löschung durch Nutzer/Browser__cmpconsentx35882_expire_.weser-kurier.delocalStorage · Tracking/Analytics · Einwilligung erforderlich · dauerhaft bis Löschung durch Nutzer/Browser__cmpcccx35882_expire_.weser-kurier.delocalStorage · Consent · meist ohne Einwilligung · dauerhaft bis Löschung durch Nutzer/Browser__cmpcccx35882_.weser-kurier.delocalStorage · Consent · meist ohne Einwilligung · dauerhaft bis Löschung durch Nutzer/Browser

Cookie-Inventar

Welche Cookies wurden beim ersten Aufruf gesehen?

0 Cookie(s) inventarisiert: 0 Tracking-/Werbe-Cookie(s), 0 Drittanbieter-Cookie(s), 0 langlebige Cookie(s), 0 sehr lange Laufzeit(en). Score: 100 · ohne Secure: 0 · ohne SameSite: 0 · persistent: 0 · langlebiges Tracking: 0 · sehr lang: 0 · Laufzeitrisiko: 0

Hintergrundseite öffnen

Cookies

Keine Cookies im HTTP- oder Browser-Erstaufruf inventarisiert.

Cookie-Disclosure

Welche Cookie-Signale wurden gesehen?

Cookie-Erklärung mit 4 Eintrag/Einträgen aus Cookies und Web Storage: 2 einwilligungspflichtig, 0 unklassifiziert. Score: 76 · einwilligungspflichtig: 2 · vor Consent: 2 · unklassifiziert: 0
Automatisch aus SaferPage-Cookie- und Web-Storage-Signalen abgeleitet; Kategorien und Zwecke vor Veröffentlichung fachlich prüfen.

Hintergrundseite öffnen

Kategorien und Einträge

Consent2 Eintrag/Einträge · Einträge zur Speicherung und Nachweisführung von Datenschutz- und Cookie-Einstellungen.Statistik/Marketing2 Eintrag/Einträge · Tracking- oder Analysehinweise, die regelmäßig vorab eine Einwilligungsprüfung brauchen.__cmpconsentx35882_.weser-kurier.deStatistik/Marketing · Einwilligung erforderlich · Anbieter Eigene Website oder eingebundener Dienst · Laufzeit dauerhaft bis Löschung durch Nutzer/Browser · vor Consent gesehen__cmpconsentx35882_expire_.weser-kurier.deStatistik/Marketing · Einwilligung erforderlich · Anbieter Eigene Website oder eingebundener Dienst · Laufzeit dauerhaft bis Löschung durch Nutzer/Browser · vor Consent gesehen__cmpcccx35882_expire_.weser-kurier.deConsent · meist ohne Einwilligung · Anbieter Eigene Website oder eingebundener Dienst · Laufzeit dauerhaft bis Löschung durch Nutzer/Browser · vor Consent gesehen__cmpcccx35882_.weser-kurier.deConsent · meist ohne Einwilligung · Anbieter Eigene Website oder eingebundener Dienst · Laufzeit dauerhaft bis Löschung durch Nutzer/Browser · vor Consent gesehen

Barrierefreiheit & Usability

Sind Basis-Signale für Screenreader und Tastatur erkennbar?

64 Bild(er), 10 Formularfeld(er), 13 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft. Score: 84
1 WCAG-/EAA-Prüfpunkt(e) auffällig, davon 1 mit hoher Auswirkung. Automatisch aus HTML-Signalen abgeleitet; ersetzt keine vollständige manuelle WCAG-/BITV-Prüfung.

Nachweis

Bilder ohne alt0Felder ohne Label0Buttons ohne Namen2HTML langjaH11Viewportja

WCAG/EAA-Prüfpunkte

Alternativtexte für BilderWCAG 1.1.1 Non-text Content · ok · Impact niedrig · 0 von 64 Bild(er) ohne alt-Text im HTML-Sample.Formularfelder beschriftenWCAG 1.3.1 Info and Relationships / 3.3.2 Labels or Instructions · ok · Impact niedrig · 0 von 10 Formularfeld(er) ohne erkennbare Beschriftung.Buttons mit Namen versehenWCAG 4.1.2 Name, Role, Value · prüfen · Impact hoch · 2 von 13 Button(s) ohne erkennbaren Namen.Seitensprache auszeichnenWCAG 3.1.1 Language of Page · ok · Impact niedrig · HTML-lang-Attribut gefunden.ÜberschriftenstrukturWCAG 1.3.1 Info and Relationships / 2.4.6 Headings and Labels · ok · Impact niedrig · 1 H1 und 57 Überschrift(en) im HTML-Sample.Mobile Viewport-BasisWCAG 1.4.10 Reflow · ok · Impact niedrig · Viewport-Meta-Tag gefunden.

BFSG/WCAG

Welche Erklärungs-Signale liegen vor?

Barrierefreiheits-Signale aus dem Scan. Status: Nicht vollständig konform im automatischen Basischeck
Erklärungstexte und allgemeine Umsetzungshinweise sind ausgelagert.

Hintergrundseite öffnen

Signale und Link

Hintergrundseite öffnen1 bekannte Issue-Signal(e) aus dem Scan.Buttons mit Namen versehenWCAG 4.1.2 Name, Role, Value · Impact hoch · 2 von 13 Button(s) ohne erkennbaren Namen.

DSGVO, Cookies & Tracking

Welche Datenschutz-Signale fallen auf?

Consent-Hinweis: nein · Datenschutz-Hinweis: ja · Cookies: 0

Tracking

Google DoubleClick

Cookies

Keine Set-Cookie-Header erkannt.

Seiteninhalt & Keywords

Worum geht es auf der Seite?

WESER-KURIER Geburtsanzeigen | WK Baby
Keine Meta-Beschreibung erkannt.

bremen16baby9weitere9suchen7anzeigen5schwangerschaft5sind5bremer5

Technologie-Erkennung

Womit wurde die Seite gebaut?

Server: nicht erkannt · Powered-by: nicht erkannt · Generator: nicht erkannt

Google DoubleClickAnalyticsGoogle Tag ManagerAnalyticsJoomlaCMS

CVE & Versionsrisiko

Gibt es Hinweise auf bekannte Schwachstellen?

Keine Treffer in der konfigurierten Advisory-Quelle. Erkannte Versionen: 0 · Advisory-Treffer: 0 · Versionsregeln: 0

Ohne sichtbare Versionsnummern ist ein passiver CVE-Abgleich nur eingeschränkt möglich.

Impressum & Betreibertransparenz

Sind rechtliche Hinweise erkennbar?

Impressum: ja · Datenschutz: ja · Ablehnen-Option: nein

Datenschutzhinweis wirkt sehr dünnwarning

Performance / PageSpeed-Basis

Wirkt die Seite schnell und mobil nutzbar?

Score: 94 · Antwortzeit: 1173 ms · HTML: 95433 Bytes · Viewport: ja

Komprimierung nicht erkanntinfo

Infrastruktur & TLS-Vertrauen

DNS-, HTTPS- und E-Mail-Schutzsignale aus dem Scan

IPs: 1 · IPv6: nein · Zertifikat: 55 Tage · HSTS: nein · MX/SPF/DMARC: ja/nein/nein

DMARC fehltinfo

Security-Header

Welche Browser-Schutzheader sind gesetzt?

0 von 9 wichtigen Security-Headern vorhanden, 0 korrekt bewertet. Keine Content-Security-Policy gefunden. Score: 34 · vorhanden: 0 · fehlen: 9 · prüfen: 0

Hintergrundseite öffnen

Header-Evidence

HSTSfehlt · max-age=31536000; includeSubDomainsContent-Security-Policyfehlt · Schrittweise CSP mit default-src 'self' und expliziten Drittanbietern einführen.X-Frame-Optionsfehlt · DENY oder SAMEORIGINX-Content-Type-Optionsfehlt · nosniffReferrer-Policyfehlt · strict-origin-when-cross-originPermissions-Policyfehlt · Nicht benötigte Browser-APIs wie Kamera, Mikrofon und Geolocation sperren.Cross-Origin-Opener-Policyfehlt · same-origin oder same-origin-allow-popups nach FunktionsprüfungCross-Origin-Resource-Policyfehlt · same-origin oder same-site nach RessourcenprüfungCross-Origin-Embedder-Policyfehlt · require-corp nur nach Prüfung aller eingebetteten Drittressourcen

Security-Header-Linkziel

Hintergrundseite öffnen0 vorhanden, 9 fehlen, 0 prüfen.

CSP-Qualität

Keine Content-Security-Policy gefunden.

Skript-Lieferkette

Externe Skript-Lieferkette aus dem gespeicherten Scan

2 externe Skript(e) von 2 Host(s), 2 ohne SRI, 1 Tracking-/Tag-nahe Skript(e). Score: 82 · Hosts: 2 · ohne SRI: 2 · Tracking/Tags: 1

Hintergrundseite öffnen

Skriptquellen

Google DoubleClickWerbung · securepubads.g.doubleclick.net · SRI fehltdata-8c0b0197a5.weser-kurier.deSonstige · data-8c0b0197a5.weser-kurier.de · SRI fehlt

Zusammenhänge & Servernetzwerk

Verbindungs- und Servernetz-Signale aus dem Scan

Ad-/Tracking-IDs: 1 · gleiche-IP-Nachbarn: 1 · bekannte eingehende Links: 0 · Servernetze: 1

Signale

Google Tag ManagerGTM-KXF68BNharztrauer.de5.252.232.107weser-kurier.de4 Link(s)verlag.weser-kurier.de2 Link(s)

Servernetz

5.252.232.107IPv45.252.232.0/24sichtbares Netz

SEO, Verhalten & Cloaking

Gibt es manipulative Signale?

SEO-Risiko: low · Browser-Verhalten: low · Cloaking: low

Keine klaren SEO-, Verhaltens- oder Cloaking-Auffälligkeiten erkannt.

Alle Hinweise

Tracking ohne sichtbaren Cookie-Hinweis Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Kein sichtbarer Ablehnen-Button im Banner Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Consent-Zustand: Ablehnen löst weiterhin Datenschutz-Signale aus Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Google Consent Mode Default nicht erkannt Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Tracking-Pixel oder pixelnahe Requests erkannt Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Seiten-URL wird in Drittanbieter-Requests übertragen Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Dateneingabe und datenschutzrelevante Drittanbieter im selben Browseraufruf Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Datenschutzrelevante Kontakte trotz GPC-Signal Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Beacon-/Keepalive-Telemetrie erkannt Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Erkannte Anbieter fehlen in der Datenschutzerklärung Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Tracking-Hinweise im Storage trotz GPC-Signal Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Datenschutzhinweis wirkt sehr dünn Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Consent-Zustand: GPC mit Tracking-Hinweisen Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Google-Tags ohne klaren Consent-Kontext Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Viele Tastatur-/Eingabe-Listener im Browser erkannt Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Tracking-/Tag-Skripte aus externer Lieferkette Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Tracking-Hinweise im Browser-Storage Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Wichtige Betreiberseiten nicht vollständig in der Linkstruktur gefunden Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Buttons ohne erkennbaren Namen Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Externe Skripte ohne Subresource Integrity Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Meta-Description fehlt Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence.
Komprimierung nicht erkannt Technischer Hinweis Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Content-Security-Policy fehlt Technischer Hinweis Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Tracking-Signale auf geprüften Unterseiten Technischer Hinweis Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
X-Content-Type-Options fehlt Technischer Hinweis Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Cross-Origin-Embedder-Policy fehlt Technischer Hinweis Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Cross-Origin-Opener-Policy fehlt Technischer Hinweis Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Cross-Origin-Resource-Policy fehlt Technischer Hinweis Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Datenschutzrelevante Drittanbieter im Browseraufruf Technischer Hinweis Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Drittland-/US-Anbieter im Browseraufruf prüfen Technischer Hinweis Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
Consent-Banner mit Dark-Pattern-/UX-Risiko Technischer Hinweis Scan-Hinweis ohne zusätzliche Detail-Evidence.
Anbieter-Jurisdiktion nicht klar ableitbar Technischer Hinweis Scan-Hinweis ohne zusätzliche Detail-Evidence. Hintergrundseite öffnen
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 sind ausgelagert.",
    "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 Testresult-JSON"
        ]
    },
    "host": "baby.weser-kurier.de",
    "normalized_url": "https://baby.weser-kurier.de/",
    "score": 0,
    "verdict": {
        "color": "red",
        "label": "riskant",
        "score": 0
    },
    "scan_id": "49e1d630-a065-452f-8000-cba7aabdc7bb",
    "created_at": "2026-06-15 11:47:32.565003+02",
    "evidence": {
        "dns": {
            "ok": true,
            "addresses": [
                "5.252.232.107"
            ],
            "duration_ms": 17
        },
        "tls": {
            "ok": true,
            "cipher": "TLS_AES_128_GCM_SHA256",
            "issuer": [
                [
                    [
                        "countryName",
                        "US"
                    ]
                ],
                [
                    [
                        "organizationName",
                        "Let's Encrypt"
                    ]
                ],
                [
                    [
                        "commonName",
                        "R12"
                    ]
                ]
            ],
            "subject": [
                [
                    [
                        "commonName",
                        "baby.weser-kurier.de"
                    ]
                ]
            ],
            "version": "TLSv1.3",
            "not_after": "Aug 10 08:02:35 2026 GMT",
            "hostname_matches": true,
            "days_until_expiry": 55,
            "subject_alt_names": [
                "baby.weser-kurier.de"
            ],
            "issuer_common_name": "R12"
        },
        "http": {
            "ok": true,
            "status": 200,
            "headers": {
                "date": "Mon, 15 Jun 2026 09:47:16 GMT",
                "pragma": "no-cache",
                "expires": "-1",
                "connection": "close",
                "content-type": "text/html; charset=utf-8",
                "cache-control": "no-cache, no-store",
                "content-length": "95433",
                "access-control-allow-headers": "Content-Type, Authorization, X-Requested-With, apikey",
                "access-control-allow-methods": "GET, POST, OPTIONS",
                "access-control-allow-credentials": "true"
            },
            "body_size": 95433,
            "final_url": "https://baby.weser-kurier.de/",
            "duration_ms": 1173
        },
        "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)",
            "default_user_agent": "SaferPageBot/0.2 (+https://saferpage.de/bot; passive website safety check; no attack tests)"
        },
        "domain_records": {
            "mx": true,
            "caa": true,
            "spf": false,
            "dmarc": false,
            "dnssec": true
        },
        "googlebot_http": {
            "ok": true,
            "status": 200,
            "headers": {
                "date": "Mon, 15 Jun 2026 09:47:16 GMT",
                "pragma": "no-cache",
                "expires": "-1",
                "connection": "close",
                "content-type": "text/html; charset=utf-8",
                "cache-control": "no-cache, no-store",
                "content-length": "95433",
                "access-control-allow-headers": "Content-Type, Authorization, X-Requested-With, apikey",
                "access-control-allow-methods": "GET, POST, OPTIONS",
                "access-control-allow-credentials": "true"
            },
            "body_size": 95433,
            "final_url": "https://baby.weser-kurier.de/",
            "duration_ms": 187
        },
        "ai_search_policy_evidence": {
            "files": [
                {
                    "id": "robots_txt",
                    "url": "https://baby.weser-kurier.de/robots.txt",
                    "label": "robots.txt",
                    "reason": "",
                    "status": "found",
                    "body_size": 366,
                    "truncated": false,
                    "body_sha256": "d70513b06550be970b602e36b093210e967be634e364baf6642f26719db6e8e3",
                    "duration_ms": 127,
                    "http_status": 200,
                    "ai_bot_policy": {
                        "bot_directives": [],
                        "explicit_ai_bots": [],
                        "explicit_ai_bot_count": 0,
                        "wildcard_directive_count": 10,
                        "wildcard_directives_sample": [
                            {
                                "value": "/Microsite/Views/Controls/",
                                "directive": "disallow"
                            },
                            {
                                "value": "/traueranzeige/content/",
                                "directive": "disallow"
                            },
                            {
                                "value": "/content/User/LoginForm",
                                "directive": "disallow"
                            },
                            {
                                "value": "/content/user/LoginUser",
                                "directive": "disallow"
                            },
                            {
                                "value": "/meine-daten/",
                                "directive": "disallow"
                            },
                            {
                                "value": "/account/registieren",
                                "directive": "disallow"
                            },
                            {
                                "value": "/trauerratgeber-suche/",
                                "directive": "disallow"
                            },
                            {
                                "value": "/content/Search/",
                                "directive": "disallow"
                            }
                        ]
                    },
                    "relevant_lines": [
                        "User-agent: *",
                        "Disallow: /Microsite/Views/Controls/",
                        "Disallow: /traueranzeige/content/",
                        "Disallow: /content/User/LoginForm",
                        "Disallow: /content/user/LoginUser",
                        "Disallow: /meine-daten/",
                        "Disallow: /account/registieren",
                        "Disallow: /trauerratgeber-suche/",
                        "Disallow: /content/Search/",
                        "Disallow: /*.pdf$",
                        "Disallow: /*.m4v$",
                        "Sitemap: https://baby.weser-kurier.de/sitemap.xml"
                    ]
                },
                {
                    "id": "llms_txt",
                    "url": "https://baby.weser-kurier.de/llms.txt",
                    "label": "llms.txt",
                    "reason": "",
                    "status": "found",
                    "body_size": 998,
                    "truncated": false,
                    "body_sha256": "cee351c375b9c94758f2d6989c04a7f370ce8ae8e8a2599747279ed047475014",
                    "duration_ms": 122,
                    "http_status": 200,
                    "relevant_lines": [
                        "# Traueranzeigen & Gedenken – WK Baby",
                        "nicht übersetzt",
                        "## Linkverzeichnis",
                        "- [Anzeige suchen](https://baby.weser-kurier.de/anzeigen-suche)",
                        "- [Alle Anzeigen](https://baby.weser-kurier.de/anzeigen-suche)",
                        "- [Letzte 14 Tage](https://baby.weser-kurier.de/anzeigen-suche/letzte-14-tage)",
                        "- [Anzeige aufgeben](https://baby.weser-kurier.de/anzeige-aufgeben)",
                        "- [Anzeigenschaltung & Kontakt](https://baby.weser-kurier.de/anzeige-aufgeben/anzeigenschaltung-und-kontakt)",
                        "- [Preise & Musterbuch](https://baby.weser-kurier.de/anzeige-aufgeben/preise-und-musterbuch)",
                        "- [Anzeigenschluss](https://baby.weser-kurier.de/anzeige-aufgeben/anzeigenschluss)",
                        "- [Rund um die Geburt](https://baby.weser-kurier.de/rund-um-die-geburt)",
                        "- [Alles fürs Baby](https://baby.weser-kurier.de/alles-fuers-baby)",
                        "- [Auf dem Weg zum Kleinkind](https://baby.weser-kurier.de/auf-dem-Weg-zum-Kleinkind)",
                        "- [Branchenbuch](https://baby.weser-kurier.de/branchenbuch)",
                        "Letzte Aktualisierung: 2026-06-15T11:10:29+02:00"
                    ]
                },
                {
                    "id": "ai_txt",
                    "url": "https://baby.weser-kurier.de/.well-known/ai.txt",
                    "label": "AI Policy",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 222,
                    "http_status": 404,
                    "relevant_lines": []
                },
                {
                    "id": "ai_policy_txt",
                    "url": "https://baby.weser-kurier.de/.well-known/ai-policy.txt",
                    "label": "AI Policy",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 241,
                    "http_status": 404,
                    "relevant_lines": []
                },
                {
                    "id": "ward_txt",
                    "url": "https://baby.weser-kurier.de/.well-known/ward.txt",
                    "label": "WARD Policy",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 267,
                    "http_status": 404,
                    "relevant_lines": []
                }
            ],
            "origin": "https://baby.weser-kurier.de",
            "schema": "https://saferpage.de/schemas/ai-search-policy-evidence.v1",
            "status": "checked",
            "metrics": {
                "file_count": 5,
                "found_file_count": 2,
                "policy_file_count": 1,
                "explicit_ai_bot_count": 0
            },
            "summary": "2 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": 1,
            "llms_ward_policy_status": "policy_file_found",
            "robots_ai_policy_status": "generic_robots_policy"
        },
        "adtech_transparency_evidence": {
            "files": [
                {
                    "id": "ads_txt",
                    "url": "https://baby.weser-kurier.de/ads.txt",
                    "label": "ads.txt",
                    "reason": "",
                    "status": "found",
                    "body_size": 64000,
                    "truncated": true,
                    "body_sha256": "50514d176e417da57697e1b990f3de7c867eec93480ce8df03184b8410cec2a1",
                    "duration_ms": 178,
                    "http_status": 200,
                    "ads_txt_policy": {
                        "entry_count": 1311,
                        "rows_sample": [
                            {
                                "relationship": "DIRECT",
                                "exchange_domain": "adform.com",
                                "cert_authority_id": "",
                                "publisher_id_hash": "2e00b312b0a9681b"
                            },
                            {
                                "relationship": "RESELLER",
                                "exchange_domain": "admanmedia.com",
                                "cert_authority_id": "",
                                "publisher_id_hash": "9d6aa3d89c0171b9"
                            },
                            {
                                "relationship": "RESELLER",
                                "exchange_domain": "appnexus.com",
                                "cert_authority_id": "",
                                "publisher_id_hash": "4e7943305ece4d84"
                            },
                            {
                                "relationship": "RESELLER",
                                "exchange_domain": "appnexus.com",
                                "cert_authority_id": "",
                                "publisher_id_hash": "a740a8741ca6c59b"
                            },
                            {
                                "relationship": "RESELLER",
                                "exchange_domain": "appnexus.com",
                                "cert_authority_id": "",
                                "publisher_id_hash": "128e64f2e29c1567"
                            },
                            {
                                "relationship": "RESELLER",
                                "exchange_domain": "appnexus.com",
                                "cert_authority_id": "",
                                "publisher_id_hash": "eace48a195da1586"
                            },
                            {
                                "relationship": "RESELLER",
                                "exchange_domain": "appnexus.com",
                                "cert_authority_id": "f5ab79cb980f11d1",
                                "publisher_id_hash": "f901969c60b315aa"
                            },
                            {
                                "relationship": "DIRECT",
                                "exchange_domain": "aps.amazon.com",
                                "cert_authority_id": "",
                                "publisher_id_hash": "fb937217a0d04da5"
                            }
                        ],
                        "direct_count": 508,
                        "variable_keys": [],
                        "reseller_count": 802,
                        "variable_count": 0,
                        "invalid_line_count": 2,
                        "exchange_domain_count": 73,
                        "exchange_domains_sample": [
                            "adform.com",
                            "admanmedia.com",
                            "adtech.com",
                            "advertising.com",
                            "adyoulike.com",
                            "aniview.com",
                            "aol.com",
                            "aolcloud.net"
                        ]
                    },
                    "relevant_lines": [
                        "############ Start 185 + 229 ################################",
                        "#ads.txtfileStroeer2022_02_22",
                        "<pre>",
                        "adform.com, 716, DIRECT",
                        "admanmedia.com, 556, RESELLER",
                        "appnexus.com, 11197, RESELLER",
                        "appnexus.com, 3364, RESELLER",
                        "appnexus.com, 6849, RESELLER",
                        "appnexus.com, 7118, RESELLER",
                        "appnexus.com, 8833, RESELLER, f5ab79cb980f11d1",
                        "aps.amazon.com, 3505, DIRECT",
                        "districtm.io, 101161, DIRECT",
                        "EMXDGT.com, 1332, RESELLER, 1e1d41537f7cad7f",
                        "google.com, pub-1274416353693598, RESELLER",
                        "google.com, pub-8813347375005258, RESELLER, f08c47fec0942fa0",
                        "google.com, pub-8909654448948677, RESELLER, f08c47fec0942fa0"
                    ],
                    "sellers_json_policy": []
                },
                {
                    "id": "app_ads_txt",
                    "url": "https://baby.weser-kurier.de/app-ads.txt",
                    "label": "app-ads.txt",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 215,
                    "http_status": 404,
                    "ads_txt_policy": [],
                    "relevant_lines": [],
                    "sellers_json_policy": []
                },
                {
                    "id": "sellers_json",
                    "url": "https://baby.weser-kurier.de/sellers.json",
                    "label": "sellers.json",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 244,
                    "http_status": 404,
                    "ads_txt_policy": [],
                    "relevant_lines": [],
                    "sellers_json_policy": []
                }
            ],
            "origin": "https://baby.weser-kurier.de",
            "schema": "https://saferpage.de/schemas/adtech-transparency-evidence.v1",
            "status": "checked",
            "metrics": {
                "file_count": 3,
                "direct_count": 508,
                "reseller_count": 802,
                "found_file_count": 1,
                "ads_txt_entry_count": 1311,
                "exchange_domain_count": 8,
                "app_ads_txt_entry_count": 0,
                "sellers_json_seller_count": 0
            },
            "summary": "1 von 3 AdTech-Transparenzdatei(en) gefunden; 508 DIRECT- und 802 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": 508,
            "ads_txt_found": true,
            "reseller_count": 802,
            "app_ads_txt_found": false,
            "sellers_json_found": false,
            "ads_txt_entry_count": 1311,
            "exchange_domain_count": 8,
            "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://baby.weser-kurier.de/.well-known/security.txt",
                    "label": "security.txt",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 234,
                    "http_status": 404,
                    "relevant_lines": [],
                    "security_txt_policy": []
                },
                {
                    "id": "security_txt_legacy",
                    "url": "https://baby.weser-kurier.de/security.txt",
                    "label": "security.txt legacy",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 280,
                    "http_status": 404,
                    "relevant_lines": [],
                    "security_txt_policy": []
                }
            ],
            "origin": "https://baby.weser-kurier.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": "tracking_without_consent_hint",
            "title": "Tracking ohne sichtbaren Cookie-Hinweis",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "warning",
            "user_importance": 126,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "browser_consent_reject_missing",
            "title": "Kein sichtbarer Ablehnen-Button im Banner",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "warning",
            "user_importance": 122,
            "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",
            "user_importance": 120,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "google_consent_mode_missing",
            "title": "Google Consent Mode Default nicht erkannt",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "warning",
            "user_importance": 120,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "tracking_pixel_detected",
            "count": 1,
            "title": "Tracking-Pixel oder pixelnahe Requests erkannt",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "warning",
            "user_importance": 119,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "third_party_page_url_parameter",
            "count": 2,
            "title": "Seiten-URL wird in Drittanbieter-Requests übertragen",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "warning",
            "user_importance": 118,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "pii_tracking_on_data_entry_page",
            "title": "Dateneingabe und datenschutzrelevante Drittanbieter im selben Browseraufruf",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "warning",
            "user_importance": 118,
            "importance_label": "Wichtig für Nutzer",
            "third_party_count": 3
        },
        {
            "id": "gpc_privacy_domains_present",
            "count": 2,
            "title": "Datenschutzrelevante Kontakte trotz GPC-Signal",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "info",
            "user_importance": 116,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "beacon_api_usage",
            "count": 3,
            "title": "Beacon-/Keepalive-Telemetrie erkannt",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "warning",
            "user_importance": 116,
            "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",
            "user_importance": 116,
            "importance_label": "Wichtig für Nutzer",
            "missing_providers": [
                "Google DoubleClick",
                "Google Tag Manager",
                "Google AdSense"
            ]
        },
        {
            "id": "gpc_tracking_storage_hints",
            "count": 2,
            "title": "Tracking-Hinweise im Storage trotz GPC-Signal",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "info",
            "user_importance": 115,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "privacy_policy_too_thin",
            "title": "Datenschutzhinweis wirkt sehr dünn",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "warning",
            "user_importance": 113,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "consent_state_gpc_evidence_review",
            "title": "Consent-Zustand: GPC mit Tracking-Hinweisen",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "info",
            "user_importance": 112,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "google_tags_without_consent_context",
            "title": "Google-Tags ohne klaren Consent-Kontext",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "warning",
            "user_importance": 112,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "browser_keystroke_listener_signals",
            "count": 62,
            "title": "Viele Tastatur-/Eingabe-Listener im Browser erkannt",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "info",
            "user_importance": 110,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "external_tracking_script_supply_chain",
            "count": 1,
            "title": "Tracking-/Tag-Skripte aus externer Lieferkette",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "info",
            "user_importance": 98,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "browser_storage_tracking_hints",
            "title": "Tracking-Hinweise im Browser-Storage",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "warning",
            "storage_hints": [
                "consent",
                "consent"
            ],
            "user_importance": 92,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "important_pages_not_discovered",
            "title": "Wichtige Betreiberseiten nicht vollständig in der Linkstruktur gefunden",
            "public": true,
            "audience": "nutzer",
            "category": "crawl",
            "severity": "warning",
            "user_importance": 88,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "button_name_missing",
            "count": 2,
            "title": "Buttons ohne erkennbaren Namen",
            "public": true,
            "audience": "nutzer",
            "category": "accessibility",
            "severity": "warning",
            "user_importance": 86,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "external_script_without_sri",
            "count": 2,
            "title": "Externe Skripte ohne Subresource Integrity",
            "public": true,
            "audience": "nutzer",
            "category": "security_headers",
            "severity": "info",
            "user_importance": 84,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "missing_meta_description",
            "title": "Meta-Description fehlt",
            "public": true,
            "audience": "nutzer",
            "category": "content",
            "severity": "info",
            "user_importance": 84,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "missing_hsts",
            "title": "HSTS fehlt",
            "public": true,
            "audience": "betreiber",
            "category": "security_headers",
            "severity": "warning",
            "user_importance": 78,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "compression_missing",
            "title": "Komprimierung nicht erkannt",
            "public": true,
            "audience": "betreiber",
            "category": "performance",
            "severity": "info",
            "user_importance": 76,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "missing_csp",
            "title": "Content-Security-Policy fehlt",
            "public": true,
            "audience": "betreiber",
            "category": "security_headers",
            "severity": "warning",
            "user_importance": 72,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "sampled_internal_tracking_detected",
            "title": "Tracking-Signale auf geprüften Unterseiten",
            "public": true,
            "audience": "betreiber",
            "category": "crawl",
            "severity": "info",
            "user_importance": 72,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "missing_x_frame_options",
            "title": "X-Frame-Options fehlt",
            "public": true,
            "audience": "betreiber",
            "category": "security_headers",
            "severity": "warning",
            "user_importance": 70,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "missing_x_content_type_options",
            "title": "X-Content-Type-Options fehlt",
            "public": true,
            "audience": "betreiber",
            "category": "security_headers",
            "severity": "warning",
            "user_importance": 70,
            "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",
            "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",
            "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",
            "user_importance": 64,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "browser_privacy_relevant_third_parties",
            "title": "Datenschutzrelevante Drittanbieter im Browseraufruf",
            "public": true,
            "audience": "betreiber",
            "category": "privacy",
            "severity": "warning",
            "user_importance": 60,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "third_country_transfer_review",
            "title": "Drittland-/US-Anbieter im Browseraufruf prüfen",
            "public": true,
            "audience": "betreiber",
            "category": "privacy",
            "severity": "warning",
            "user_importance": 60,
            "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",
            "user_importance": 60,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "missing_referrer_policy",
            "title": "Referrer-Policy fehlt",
            "public": true,
            "audience": "betreiber",
            "category": "security_headers",
            "severity": "info",
            "user_importance": 40,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "missing_permissions_policy",
            "title": "Permissions-Policy fehlt",
            "public": true,
            "audience": "betreiber",
            "category": "security_headers",
            "severity": "info",
            "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",
            "user_importance": 30,
            "importance_label": "Technischer Hinweis"
        }
    ],
    "audit_modules": [
        {
            "id": "browser_evidence",
            "color": "red",
            "score": 16,
            "title": "Browser-Nachweis",
            "source": "Headless Chromium mit Screenshot- und Request-Telemetrie",
            "status": "kritisch",
            "evidence": "74 Request(s), 7 Drittanbieter-Domain(s), davon 3 datenschutzrelevant, 0 Browser-Cookie(s), Transfer-Prüfbedarf: 3, Referrer-/URL-Leaks: 2, Fingerprinting-/Replay-Hinweise: 1."
        },
        {
            "id": "privacy_consent",
            "color": "red",
            "score": 32,
            "title": "Datenschutz, Cookies & Consent",
            "source": "Browser, HTTP-Header, HTML und Consent-/Cookie-Heuristik",
            "status": "kritisch",
            "evidence": "1 Tracking-Script(s), 0 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: nein, Consent-Audit: 0."
        },
        {
            "id": "security_tls",
            "color": "red",
            "score": 34,
            "title": "Sicherheit, TLS & Header",
            "source": "DNS, TLS, HTTP-Status, Zertifikat und Security-Header",
            "status": "kritisch",
            "evidence": "1 Infrastruktur-Hinweis(e), Security-Header: 0/9 vorhanden, 9 fehlen, externe Skript-Hosts: 2."
        },
        {
            "id": "google_third_parties",
            "color": "red",
            "score": 36,
            "title": "Google-Dienste & Drittanbieter",
            "source": "Chromium-Requests, Anbieterklassifikation und Google Consent Mode Heuristik",
            "status": "kritisch",
            "evidence": "Google-Tags: ja, 3 Google-nahe Domain(s), Consent-Default: nein, Analytics: nein, Werbung: ja, Fonts: nein."
        },
        {
            "id": "site_coverage",
            "color": "red",
            "score": 37,
            "title": "Seitenabdeckung & Crawl",
            "source": "Startseiten-Links, Compliance-Links und begrenzter interner Zusatzabruf",
            "status": "kritisch",
            "evidence": "30 interne Linkziele erkannt, 4 priorisierte Unterseite(n) abgerufen."
        },
        {
            "id": "tracking_pixels_beacons",
            "color": "orange",
            "score": 58,
            "title": "Tracking-Pixel & Beacons",
            "source": "HTML-Pixel, Link-Ping-Attribute, Chromium-Requests und Browser-API-Instrumentierung",
            "status": "auffällig",
            "evidence": "1 Pixel-/Bildtracking-Hinweis(e), 3 Beacon-/Telemetry-Hinweis(e), 0 Link-Ping(s)."
        },
        {
            "id": "referrer_url_leaks",
            "color": "yellow",
            "score": 76,
            "title": "Referrer & URL-Leaks",
            "source": "Chromium-Request-Telemetrie ohne gespeicherte Parameterwerte",
            "status": "prüfen",
            "evidence": "2 Drittanbieter-Domain(s) mit Referrer-/URL-Leak-Prüfbedarf, 0 sensible Query-Kontexte."
        },
        {
            "id": "script_supply_chain",
            "color": "yellow",
            "score": 82,
            "title": "Externe Skripte & SRI",
            "source": "HTML-Script-Tags, Anbieterklassifikation und SRI-Attribute",
            "status": "prüfen",
            "evidence": "2 externe Skript(e) von 2 Host(s), 2 ohne SRI, 1 Tracking-/Tag-nahe Skript(e)."
        },
        {
            "id": "forms_payments",
            "color": "yellow",
            "score": 82,
            "title": "Formulare, Login & Zahlung",
            "source": "HTML-Formulare, Eingabefelder, Zahlungsanbieter und Kontextlinks",
            "status": "prüfen",
            "evidence": "Aus diesem Rohfeld wird im Testresult keine zusätzliche Scan-Feststellung abgeleitet; Betreiberkontext und Umsetzungshinweise sind ausgelagert."
        },
        {
            "id": "pii_exposure",
            "color": "yellow",
            "score": 82,
            "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": "accessibility_usability",
            "color": "yellow",
            "score": 84,
            "title": "Barrierefreiheit & Usability",
            "source": "Passives HTML-Sample: Bilder, Formulare, Buttons, Sprache, Headings und Viewport",
            "status": "prüfen",
            "evidence": "0 Bild(er) ohne alt, 0 Formularfeld(er) ohne Beschriftung, 2 Button(s) ohne Namen."
        },
        {
            "id": "consent_journey",
            "color": "yellow",
            "score": 84,
            "title": "Consent-Journey-Matrix",
            "source": "Chromium-Zustände: Erstaufruf, Reject, Accept und GPC",
            "status": "prüfen",
            "evidence": "Consent-Journey: 0 neue Datenschutz-Domain(s) nach Ablehnen, 4 nach Akzeptieren, 2 im GPC-Aufruf."
        },
        {
            "id": "performance_mobile",
            "color": "green",
            "score": 94,
            "title": "Performance & mobile Nutzbarkeit",
            "source": "HTTP-Antwort, HTML-Größe, Komprimierung und mobile Basis",
            "status": "unauffällig",
            "evidence": "Performance-Score 94, Antwortzeit 1173 ms."
        },
        {
            "id": "cookie_inventory",
            "color": "green",
            "score": 100,
            "title": "Cookie-Inventar",
            "source": "HTTP-Set-Cookie und Chromium-Cookies beim ersten Seitenaufruf",
            "status": "unauffällig",
            "evidence": "0 Cookie(s), 0 Tracking-/Werbe-Cookie(s), 0 Drittanbieter-Cookie(s), 0 langlebig, 0 sehr lang."
        },
        {
            "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": "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: nein."
        },
        {
            "id": "seo_integrity",
            "color": "green",
            "score": 100,
            "title": "SEO-Integrität & Cloaking",
            "source": "HTML-Inhalt, strukturierte Daten, Links und Googlebot-Vergleich",
            "status": "unauffällig",
            "evidence": "0 SEO-Spam-Hinweis(e), 0 Cloaking-Hinweis(e)."
        }
    ],
    "ai_search_policy_evidence": {
        "files": [
            {
                "id": "robots_txt",
                "url": "https://baby.weser-kurier.de/robots.txt",
                "label": "robots.txt",
                "reason": "",
                "status": "found",
                "body_size": 366,
                "truncated": false,
                "body_sha256": "d70513b06550be970b602e36b093210e967be634e364baf6642f26719db6e8e3",
                "duration_ms": 127,
                "http_status": 200,
                "ai_bot_policy": {
                    "bot_directives": [],
                    "explicit_ai_bots": [],
                    "explicit_ai_bot_count": 0,
                    "wildcard_directive_count": 10,
                    "wildcard_directives_sample": [
                        {
                            "value": "/Microsite/Views/Controls/",
                            "directive": "disallow"
                        },
                        {
                            "value": "/traueranzeige/content/",
                            "directive": "disallow"
                        },
                        {
                            "value": "/content/User/LoginForm",
                            "directive": "disallow"
                        },
                        {
                            "value": "/content/user/LoginUser",
                            "directive": "disallow"
                        },
                        {
                            "value": "/meine-daten/",
                            "directive": "disallow"
                        },
                        {
                            "value": "/account/registieren",
                            "directive": "disallow"
                        },
                        {
                            "value": "/trauerratgeber-suche/",
                            "directive": "disallow"
                        },
                        {
                            "value": "/content/Search/",
                            "directive": "disallow"
                        }
                    ]
                },
                "relevant_lines": [
                    "User-agent: *",
                    "Disallow: /Microsite/Views/Controls/",
                    "Disallow: /traueranzeige/content/",
                    "Disallow: /content/User/LoginForm",
                    "Disallow: /content/user/LoginUser",
                    "Disallow: /meine-daten/",
                    "Disallow: /account/registieren",
                    "Disallow: /trauerratgeber-suche/",
                    "Disallow: /content/Search/",
                    "Disallow: /*.pdf$",
                    "Disallow: /*.m4v$",
                    "Sitemap: https://baby.weser-kurier.de/sitemap.xml"
                ]
            },
            {
                "id": "llms_txt",
                "url": "https://baby.weser-kurier.de/llms.txt",
                "label": "llms.txt",
                "reason": "",
                "status": "found",
                "body_size": 998,
                "truncated": false,
                "body_sha256": "cee351c375b9c94758f2d6989c04a7f370ce8ae8e8a2599747279ed047475014",
                "duration_ms": 122,
                "http_status": 200,
                "relevant_lines": [
                    "# Traueranzeigen & Gedenken – WK Baby",
                    "nicht übersetzt",
                    "## Linkverzeichnis",
                    "- [Anzeige suchen](https://baby.weser-kurier.de/anzeigen-suche)",
                    "- [Alle Anzeigen](https://baby.weser-kurier.de/anzeigen-suche)",
                    "- [Letzte 14 Tage](https://baby.weser-kurier.de/anzeigen-suche/letzte-14-tage)",
                    "- [Anzeige aufgeben](https://baby.weser-kurier.de/anzeige-aufgeben)",
                    "- [Anzeigenschaltung & Kontakt](https://baby.weser-kurier.de/anzeige-aufgeben/anzeigenschaltung-und-kontakt)",
                    "- [Preise & Musterbuch](https://baby.weser-kurier.de/anzeige-aufgeben/preise-und-musterbuch)",
                    "- [Anzeigenschluss](https://baby.weser-kurier.de/anzeige-aufgeben/anzeigenschluss)",
                    "- [Rund um die Geburt](https://baby.weser-kurier.de/rund-um-die-geburt)",
                    "- [Alles fürs Baby](https://baby.weser-kurier.de/alles-fuers-baby)",
                    "- [Auf dem Weg zum Kleinkind](https://baby.weser-kurier.de/auf-dem-Weg-zum-Kleinkind)",
                    "- [Branchenbuch](https://baby.weser-kurier.de/branchenbuch)",
                    "Letzte Aktualisierung: 2026-06-15T11:10:29+02:00"
                ]
            },
            {
                "id": "ai_txt",
                "url": "https://baby.weser-kurier.de/.well-known/ai.txt",
                "label": "AI Policy",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 222,
                "http_status": 404,
                "relevant_lines": []
            },
            {
                "id": "ai_policy_txt",
                "url": "https://baby.weser-kurier.de/.well-known/ai-policy.txt",
                "label": "AI Policy",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 241,
                "http_status": 404,
                "relevant_lines": []
            },
            {
                "id": "ward_txt",
                "url": "https://baby.weser-kurier.de/.well-known/ward.txt",
                "label": "WARD Policy",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 267,
                "http_status": 404,
                "relevant_lines": []
            }
        ],
        "origin": "https://baby.weser-kurier.de",
        "schema": "https://saferpage.de/schemas/ai-search-policy-evidence.v1",
        "status": "checked",
        "metrics": {
            "file_count": 5,
            "found_file_count": 2,
            "policy_file_count": 1,
            "explicit_ai_bot_count": 0
        },
        "summary": "2 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": 1,
        "llms_ward_policy_status": "policy_file_found",
        "robots_ai_policy_status": "generic_robots_policy"
    },
    "adtech_transparency_evidence": {
        "files": [
            {
                "id": "ads_txt",
                "url": "https://baby.weser-kurier.de/ads.txt",
                "label": "ads.txt",
                "reason": "",
                "status": "found",
                "body_size": 64000,
                "truncated": true,
                "body_sha256": "50514d176e417da57697e1b990f3de7c867eec93480ce8df03184b8410cec2a1",
                "duration_ms": 178,
                "http_status": 200,
                "ads_txt_policy": {
                    "entry_count": 1311,
                    "rows_sample": [
                        {
                            "relationship": "DIRECT",
                            "exchange_domain": "adform.com",
                            "cert_authority_id": "",
                            "publisher_id_hash": "2e00b312b0a9681b"
                        },
                        {
                            "relationship": "RESELLER",
                            "exchange_domain": "admanmedia.com",
                            "cert_authority_id": "",
                            "publisher_id_hash": "9d6aa3d89c0171b9"
                        },
                        {
                            "relationship": "RESELLER",
                            "exchange_domain": "appnexus.com",
                            "cert_authority_id": "",
                            "publisher_id_hash": "4e7943305ece4d84"
                        },
                        {
                            "relationship": "RESELLER",
                            "exchange_domain": "appnexus.com",
                            "cert_authority_id": "",
                            "publisher_id_hash": "a740a8741ca6c59b"
                        },
                        {
                            "relationship": "RESELLER",
                            "exchange_domain": "appnexus.com",
                            "cert_authority_id": "",
                            "publisher_id_hash": "128e64f2e29c1567"
                        },
                        {
                            "relationship": "RESELLER",
                            "exchange_domain": "appnexus.com",
                            "cert_authority_id": "",
                            "publisher_id_hash": "eace48a195da1586"
                        },
                        {
                            "relationship": "RESELLER",
                            "exchange_domain": "appnexus.com",
                            "cert_authority_id": "f5ab79cb980f11d1",
                            "publisher_id_hash": "f901969c60b315aa"
                        },
                        {
                            "relationship": "DIRECT",
                            "exchange_domain": "aps.amazon.com",
                            "cert_authority_id": "",
                            "publisher_id_hash": "fb937217a0d04da5"
                        }
                    ],
                    "direct_count": 508,
                    "variable_keys": [],
                    "reseller_count": 802,
                    "variable_count": 0,
                    "invalid_line_count": 2,
                    "exchange_domain_count": 73,
                    "exchange_domains_sample": [
                        "adform.com",
                        "admanmedia.com",
                        "adtech.com",
                        "advertising.com",
                        "adyoulike.com",
                        "aniview.com",
                        "aol.com",
                        "aolcloud.net"
                    ]
                },
                "relevant_lines": [
                    "############ Start 185 + 229 ################################",
                    "#ads.txtfileStroeer2022_02_22",
                    "<pre>",
                    "adform.com, 716, DIRECT",
                    "admanmedia.com, 556, RESELLER",
                    "appnexus.com, 11197, RESELLER",
                    "appnexus.com, 3364, RESELLER",
                    "appnexus.com, 6849, RESELLER",
                    "appnexus.com, 7118, RESELLER",
                    "appnexus.com, 8833, RESELLER, f5ab79cb980f11d1",
                    "aps.amazon.com, 3505, DIRECT",
                    "districtm.io, 101161, DIRECT",
                    "EMXDGT.com, 1332, RESELLER, 1e1d41537f7cad7f",
                    "google.com, pub-1274416353693598, RESELLER",
                    "google.com, pub-8813347375005258, RESELLER, f08c47fec0942fa0",
                    "google.com, pub-8909654448948677, RESELLER, f08c47fec0942fa0"
                ],
                "sellers_json_policy": []
            },
            {
                "id": "app_ads_txt",
                "url": "https://baby.weser-kurier.de/app-ads.txt",
                "label": "app-ads.txt",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 215,
                "http_status": 404,
                "ads_txt_policy": [],
                "relevant_lines": [],
                "sellers_json_policy": []
            },
            {
                "id": "sellers_json",
                "url": "https://baby.weser-kurier.de/sellers.json",
                "label": "sellers.json",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 244,
                "http_status": 404,
                "ads_txt_policy": [],
                "relevant_lines": [],
                "sellers_json_policy": []
            }
        ],
        "origin": "https://baby.weser-kurier.de",
        "schema": "https://saferpage.de/schemas/adtech-transparency-evidence.v1",
        "status": "checked",
        "metrics": {
            "file_count": 3,
            "direct_count": 508,
            "reseller_count": 802,
            "found_file_count": 1,
            "ads_txt_entry_count": 1311,
            "exchange_domain_count": 8,
            "app_ads_txt_entry_count": 0,
            "sellers_json_seller_count": 0
        },
        "summary": "1 von 3 AdTech-Transparenzdatei(en) gefunden; 508 DIRECT- und 802 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": 508,
        "ads_txt_found": true,
        "reseller_count": 802,
        "app_ads_txt_found": false,
        "sellers_json_found": false,
        "ads_txt_entry_count": 1311,
        "exchange_domain_count": 8,
        "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://baby.weser-kurier.de/.well-known/security.txt",
                "label": "security.txt",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 234,
                "http_status": 404,
                "relevant_lines": [],
                "security_txt_policy": []
            },
            {
                "id": "security_txt_legacy",
                "url": "https://baby.weser-kurier.de/security.txt",
                "label": "security.txt legacy",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 280,
                "http_status": 404,
                "relevant_lines": [],
                "security_txt_policy": []
            }
        ],
        "origin": "https://baby.weser-kurier.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": "red",
        "pages": [
            {
                "url": "https://baby.weser-kurier.de/anzeige-aufgeben/anzeigenschaltung-und-kontakt",
                "path": "/anzeige-aufgeben/anzeigenschaltung-und-kontakt",
                "text": "Anzeigenschaltung & Kontakt",
                "source": "homepage_link",
                "category": "kontakt",
                "priority": 90
            },
            {
                "url": "https://baby.weser-kurier.de/kontakt",
                "path": "/kontakt",
                "text": "Kontakt",
                "source": "homepage_link",
                "category": "kontakt",
                "priority": 90
            },
            {
                "url": "https://baby.weser-kurier.de/anzeige-aufgeben/preise-und-musterbuch",
                "path": "/anzeige-aufgeben/preise-und-musterbuch",
                "text": "Preise & Musterbuch",
                "source": "homepage_link",
                "category": "preise",
                "priority": 58
            },
            {
                "url": "https://baby.weser-kurier.de/alles-fuers-baby",
                "path": "/alles-fuers-baby",
                "text": "Alles fürs Baby",
                "source": "homepage_link",
                "category": "unterseite",
                "priority": 20
            },
            {
                "url": "https://baby.weser-kurier.de/alles-fuers-baby/erstausstattung/baby-flaeschchen",
                "path": "/alles-fuers-baby/erstausstattung/baby-flaeschchen",
                "text": "So werden Baby-Fläschen hygienisch rein",
                "source": "homepage_link",
                "category": "unterseite",
                "priority": 20
            },
            {
                "url": "https://baby.weser-kurier.de/alles-fuers-baby/erstausstattung/babybett-kaufen",
                "path": "/alles-fuers-baby/erstausstattung/babybett-kaufen",
                "text": "Ein passendes Bett für den Nachwuchs auswählen",
                "source": "homepage_link",
                "category": "unterseite",
                "priority": 20
            },
            {
                "url": "https://baby.weser-kurier.de/alles-fuers-baby/erstausstattung/gefahren-zuhause",
                "path": "/alles-fuers-baby/erstausstattung/gefahren-zuhause",
                "text": "Welche Gefahren Kindern zuhause drohen",
                "source": "homepage_link",
                "category": "unterseite",
                "priority": 20
            },
            {
                "url": "https://baby.weser-kurier.de/alles-fuers-baby/erstausstattung/hungersignale",
                "path": "/alles-fuers-baby/erstausstattung/hungersignale",
                "text": "Hungersignale von Säuglingen deuten",
                "source": "homepage_link",
                "category": "unterseite",
                "priority": 20
            },
            {
                "url": "https://baby.weser-kurier.de/alles-fuers-baby/erstausstattung/kindersitze-im-test",
                "path": "/alles-fuers-baby/erstausstattung/kindersitze-im-test",
                "text": "So sind Kinder sicher im Auto unterwegs",
                "source": "homepage_link",
                "category": "unterseite",
                "priority": 20
            },
            {
                "url": "https://baby.weser-kurier.de/alles-fuers-baby/erstausstattung/schnuller-schlechter-ruf",
                "path": "/alles-fuers-baby/erstausstattung/schnuller-schlechter-ruf",
                "text": "Sind Schnuller so schlecht wie ihr Ruf?",
                "source": "homepage_link",
                "category": "unterseite",
                "priority": 20
            },
            {
                "url": "https://baby.weser-kurier.de/alles-fuers-baby/erstausstattung/test-kinderhochstuehle",
                "path": "/alles-fuers-baby/erstausstattung/test-kinderhochstuehle",
                "text": "Kinderhochstühle im Test: Drei Modelle sind „gut“",
                "source": "homepage_link",
                "category": "unterseite",
                "priority": 20
            },
            {
                "url": "https://baby.weser-kurier.de/alles-fuers-baby/erstausstattung/wickeltisch",
                "path": "/alles-fuers-baby/erstausstattung/wickeltisch",
                "text": "Braucht man wirklich einen Wickeltisch?",
                "source": "homepage_link",
                "category": "unterseite",
                "priority": 20
            }
        ],
        "score": 37,
        "status": "kritisch",
        "summary": "30 interne Linkziele erkannt (0 aus Sitemap), 4 priorisierte Unterseite(n) zusätzlich abgerufen.",
        "findings": [
            {
                "id": "important_pages_not_discovered",
                "title": "Wichtige Betreiberseiten nicht vollständig in der Linkstruktur gefunden",
                "public": true,
                "category": "crawl",
                "severity": "warning"
            },
            {
                "id": "sampled_internal_tracking_detected",
                "title": "Tracking-Signale auf geprüften Unterseiten",
                "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": [
                    "Google DoubleClick",
                    "Google Tag Manager",
                    "Google AdSense"
                ]
            }
        ],
        "robots_ok": true,
        "categories": {
            "preise": 1,
            "kontakt": 2,
            "unterseite": 27
        },
        "sample_limit": 4,
        "sampled_count": 4,
        "sampled_pages": [
            {
                "ok": true,
                "url": "https://baby.weser-kurier.de/anzeige-aufgeben/anzeigenschaltung-und-kontakt",
                "path": "/anzeige-aufgeben/anzeigenschaltung-und-kontakt",
                "audit": {
                    "form_count": 4,
                    "finding_ids": [
                        "tracking_without_consent_hint",
                        "operator_identity_unclear",
                        "privacy_policy_too_thin"
                    ],
                    "cookie_count": 0,
                    "imprint_found": true,
                    "consent_hint_found": false,
                    "reject_option_found": false,
                    "privacy_policy_found": true,
                    "tracking_script_count": 1,
                    "pre_consent_cookie_count": 0,
                    "pre_consent_tracking_cookie_count": 0
                },
                "forms": 4,
                "title": "Anzeigenschaltung und Kontakt",
                "status": 200,
                "category": "kontakt",
                "duration_ms": 332,
                "privacy_hint": true,
                "privacy_policy_audit": []
            },
            {
                "ok": true,
                "url": "https://baby.weser-kurier.de/kontakt",
                "path": "/kontakt",
                "audit": {
                    "form_count": 0,
                    "finding_ids": [
                        "tracking_without_consent_hint",
                        "privacy_policy_too_thin"
                    ],
                    "cookie_count": 0,
                    "imprint_found": true,
                    "consent_hint_found": false,
                    "reject_option_found": false,
                    "privacy_policy_found": true,
                    "tracking_script_count": 1,
                    "pre_consent_cookie_count": 0,
                    "pre_consent_tracking_cookie_count": 0
                },
                "forms": 0,
                "title": "Kontakt | WK Baby",
                "status": 200,
                "category": "kontakt",
                "duration_ms": 190,
                "privacy_hint": true,
                "privacy_policy_audit": []
            },
            {
                "ok": true,
                "url": "https://baby.weser-kurier.de/anzeige-aufgeben/preise-und-musterbuch",
                "path": "/anzeige-aufgeben/preise-und-musterbuch",
                "audit": {
                    "form_count": 4,
                    "finding_ids": [
                        "tracking_without_consent_hint",
                        "operator_identity_unclear",
                        "privacy_policy_too_thin"
                    ],
                    "cookie_count": 0,
                    "imprint_found": true,
                    "consent_hint_found": false,
                    "reject_option_found": false,
                    "privacy_policy_found": true,
                    "tracking_script_count": 1,
                    "pre_consent_cookie_count": 0,
                    "pre_consent_tracking_cookie_count": 0
                },
                "forms": 4,
                "title": "Preise und Musterbuch",
                "status": 200,
                "category": "preise",
                "duration_ms": 245,
                "privacy_hint": true,
                "privacy_policy_audit": []
            },
            {
                "ok": true,
                "url": "https://baby.weser-kurier.de/alles-fuers-baby",
                "path": "/alles-fuers-baby",
                "audit": {
                    "form_count": 5,
                    "finding_ids": [
                        "tracking_without_consent_hint",
                        "operator_identity_unclear",
                        "privacy_policy_too_thin"
                    ],
                    "cookie_count": 0,
                    "imprint_found": true,
                    "consent_hint_found": false,
                    "reject_option_found": false,
                    "privacy_policy_found": true,
                    "tracking_script_count": 1,
                    "pre_consent_cookie_count": 0,
                    "pre_consent_tracking_cookie_count": 0
                },
                "forms": 5,
                "title": "Alles fürs Baby | WK Baby",
                "status": 200,
                "category": "unterseite",
                "duration_ms": 305,
                "privacy_hint": true,
                "privacy_policy_audit": []
            }
        ],
        "robots_checked": true,
        "sitemap_sources": [],
        "sitemap_available": false,
        "sitemap_url_count": 0,
        "homepage_link_count": 95,
        "internal_link_count": 30,
        "privacy_policy_audit": [],
        "sitemap_source_count": 0,
        "provider_disclosure_audit": {
            "color": "red",
            "found": [],
            "score": 0,
            "checks": [
                {
                    "id": "advertising_google_doubleclick",
                    "found": false,
                    "category": "advertising",
                    "evidence": [
                        "https://securepubads.g.doubleclick.net/tag/js/gpt.js",
                        "securepubads.g.doubleclick.net"
                    ],
                    "keywords": [
                        "doubleclick",
                        "google ads",
                        "adsense",
                        "ad manager",
                        "ad_storage",
                        "google werbung"
                    ],
                    "provider": "Google DoubleClick",
                    "category_label": "Tracking"
                },
                {
                    "id": "tag_manager_google_tag_manager",
                    "found": false,
                    "category": "tag_manager",
                    "evidence": [
                        "GTM-KXF68BN",
                        "googletagmanager.com"
                    ],
                    "keywords": [
                        "google tag manager",
                        "tag manager",
                        "googletagmanager",
                        "gtm-"
                    ],
                    "provider": "Google Tag Manager",
                    "category_label": "Tracking-ID"
                },
                {
                    "id": "advertising_google_adsense",
                    "found": false,
                    "category": "advertising",
                    "evidence": [
                        "pagead2.googlesyndication.com"
                    ],
                    "keywords": [
                        "doubleclick",
                        "google ads",
                        "adsense",
                        "ad manager",
                        "ad_storage",
                        "google werbung"
                    ],
                    "provider": "Google AdSense",
                    "category_label": "Werbung"
                }
            ],
            "reason": "no_policy_text",
            "status": "kritisch",
            "missing": [
                "Google DoubleClick",
                "Google Tag Manager",
                "Google AdSense"
            ],
            "summary": "3 technische Anbieter erkannt, aber keine Datenschutzerklärung im Sample ausgewertet.",
            "available": true,
            "missing_count": 3,
            "detected_count": 3,
            "mentioned_count": 0
        },
        "important_categories_found": [
            "kontakt"
        ],
        "sampled_tracking_page_count": 4,
        "sampled_form_privacy_gap_count": 0,
        "sitemap_candidate_source_count": 1
    },
    "page_analysis": {
        "h1": [
            "Familienanzeigen"
        ],
        "h2": [
            "Geburtsanzeigen",
            "Rund um die Geburt",
            "Alles fürs Baby",
            "Auf dem Weg zum Kleinkind",
            "EXPERTEN AUS BREMEN UND DER REGION"
        ],
        "title": "WESER-KURIER Geburtsanzeigen | WK Baby",
        "keywords": [
            [
                "bremen",
                16
            ],
            [
                "baby",
                9
            ],
            [
                "weitere",
                9
            ],
            [
                "suchen",
                7
            ],
            [
                "anzeigen",
                5
            ],
            [
                "schwangerschaft",
                5
            ],
            [
                "sind",
                5
            ],
            [
                "bremer",
                5
            ],
            [
                "anzeige",
                4
            ],
            [
                "aufgeben",
                4
            ]
        ],
        "language": "de",
        "description": "",
        "favicon_url": "https://baby.weser-kurier.de/data/92/favicon/apple-touch-icon-180x180.png",
        "link_counts": {
            "external": 6,
            "internal": 89
        },
        "preview_image": "/cache/screenshots/baby.weser-kurier.de-160x150-13aaf095597f43f261.png",
        "screenshot_url": "/cache/screenshots/baby.weser-kurier.de-160x150-13aaf095597f43f261.png",
        "external_scripts": [
            "https://securepubads.g.doubleclick.net/tag/js/gpt.js"
        ],
        "browser_final_url": "https://baby.weser-kurier.de/",
        "meta_preview_image": "https://baby.weser-kurier.de/data/92/portal-logo.png",
        "screenshot_renderer": "playwright-chromium",
        "external_link_targets": [
            {
                "host": "weser-kurier.de",
                "count": 4,
                "examples": [
                    {
                        "href": "https://www.weser-kurier.de/impressum/",
                        "text": "Impressum"
                    },
                    {
                        "href": "https://www.weser-kurier.de/agb/",
                        "text": "AGB"
                    },
                    {
                        "href": "https://www.weser-kurier.de/impressum/",
                        "text": "Impressum"
                    }
                ],
                "nofollow": 0,
                "strength": "strong",
                "follow_count": 4
            },
            {
                "host": "verlag.weser-kurier.de",
                "count": 2,
                "examples": [
                    {
                        "href": "https://verlag.weser-kurier.de/verlag/datenschutz.php",
                        "text": "Datenschutz"
                    },
                    {
                        "href": "https://verlag.weser-kurier.de/verlag/datenschutz.php",
                        "text": "Datenschutz"
                    }
                ],
                "nofollow": 0,
                "strength": "strong",
                "follow_count": 2
            }
        ]
    },
    "browser_analysis": {
        "cookies": {
            "items": [],
            "total": 0,
            "third_party": 0
        },
        "storage": {
            "total": 4,
            "local_storage_keys": [
                "__cmpconsentx35882_.weser-kurier.de",
                "__cmpconsentx35882_expire_.weser-kurier.de",
                "__cmpcccx35882_expire_.weser-kurier.de",
                "__cmpcccx35882_.weser-kurier.de"
            ],
            "tracking_key_hints": [
                "consent",
                "consent"
            ],
            "local_storage_total": 4,
            "session_storage_keys": [],
            "session_storage_total": 0
        },
        "findings": [
            {
                "id": "browser_privacy_relevant_third_parties",
                "title": "Datenschutzrelevante Drittanbieter im Browseraufruf",
                "public": true,
                "category": "privacy",
                "severity": "warning"
            },
            {
                "id": "browser_consent_reject_missing",
                "title": "Kein sichtbarer Ablehnen-Button im Banner",
                "public": true,
                "category": "privacy",
                "severity": "warning"
            },
            {
                "id": "gpc_privacy_domains_present",
                "count": 2,
                "title": "Datenschutzrelevante Kontakte trotz GPC-Signal",
                "public": true,
                "category": "privacy",
                "severity": "info"
            },
            {
                "id": "gpc_tracking_storage_hints",
                "count": 2,
                "title": "Tracking-Hinweise im Storage trotz GPC-Signal",
                "public": true,
                "category": "privacy",
                "severity": "info"
            },
            {
                "id": "browser_storage_tracking_hints",
                "title": "Tracking-Hinweise im Browser-Storage",
                "public": true,
                "category": "privacy",
                "severity": "warning",
                "storage_hints": [
                    "consent",
                    "consent"
                ]
            },
            {
                "id": "third_country_transfer_review",
                "title": "Drittland-/US-Anbieter im Browseraufruf prüfen",
                "public": true,
                "category": "privacy",
                "severity": "warning"
            },
            {
                "id": "unknown_vendor_jurisdiction",
                "title": "Anbieter-Jurisdiktion nicht klar ableitbar",
                "public": true,
                "category": "privacy",
                "severity": "info"
            },
            {
                "id": "third_party_page_url_parameter",
                "count": 2,
                "title": "Seiten-URL wird in Drittanbieter-Requests übertragen",
                "public": true,
                "category": "privacy",
                "severity": "warning"
            },
            {
                "id": "browser_keystroke_listener_signals",
                "count": 62,
                "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": "consent_state_gpc_evidence_review",
                "title": "Consent-Zustand: GPC mit Tracking-Hinweisen",
                "public": true,
                "category": "privacy",
                "severity": "info"
            },
            {
                "id": "tracking_pixel_detected",
                "count": 1,
                "title": "Tracking-Pixel oder pixelnahe Requests erkannt",
                "public": true,
                "category": "privacy",
                "severity": "warning"
            },
            {
                "id": "beacon_api_usage",
                "count": 3,
                "title": "Beacon-/Keepalive-Telemetrie erkannt",
                "public": true,
                "category": "privacy",
                "severity": "warning"
            }
        ],
        "renderer": "playwright-chromium",
        "final_url": "https://baby.weser-kurier.de/",
        "consent_ui": {
            "accept_controls": [
                {
                    "tag": "a",
                    "top": 698,
                    "area": 9035,
                    "left": 387,
                    "text": "Accept all",
                    "color": "rgb(255, 255, 255)",
                    "width": 250,
                    "height": 36,
                    "background": "rgb(0, 112, 168)",
                    "font_weight": "400"
                }
            ],
            "accept_max_area": 9035,
            "reject_controls": [],
            "reject_max_area": 0,
            "settings_controls": [
                {
                    "tag": "a",
                    "top": 754,
                    "area": 8035,
                    "left": 387,
                    "text": "Settings",
                    "color": "rgb(26, 86, 129)",
                    "width": 250,
                    "height": 32,
                    "background": "rgb(255, 255, 255)",
                    "font_weight": "400"
                }
            ],
            "first_layer_summary": "Akzeptieren 1 / Ablehnen 0 / Einstellungen 1",
            "cookie_context_found": true,
            "reject_less_prominent": false,
            "visible_control_count": 27,
            "reject_prominence_ratio": 0
        },
        "gpc_signal": {
            "error": "",
            "enabled": true,
            "storage": {
                "total": 4,
                "tracking_key_hints": [
                    "consent",
                    "consent"
                ],
                "local_storage_total": 4,
                "session_storage_total": 0
            },
            "cookie_count": 0,
            "request_count": 72,
            "sec_gpc_header": true,
            "navigator_value": true,
            "contacted_domains": [
                {
                    "host": "baby.weser-kurier.de",
                    "count": 57,
                    "category": "other",
                    "provider": "baby.weser-kurier.de",
                    "third_party": false,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "xhr": 1,
                        "font": 4,
                        "image": 45,
                        "script": 3,
                        "document": 1,
                        "stylesheet": 3
                    }
                },
                {
                    "host": "cdn.consentmanager.net",
                    "count": 5,
                    "category": "other",
                    "provider": "cdn.consentmanager.net",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "image": 3,
                        "script": 2
                    }
                },
                {
                    "host": "data-8c0b0197a5.weser-kurier.de",
                    "count": 5,
                    "category": "other",
                    "provider": "data-8c0b0197a5.weser-kurier.de",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "xhr": 1,
                        "script": 4
                    }
                },
                {
                    "host": "securepubads.g.doubleclick.net",
                    "count": 2,
                    "category": "advertising",
                    "provider": "Google DoubleClick",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "script": 2
                    }
                },
                {
                    "host": "c.delivery.consentmanager.net",
                    "count": 1,
                    "category": "other",
                    "provider": "c.delivery.consentmanager.net",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "image": 1
                    }
                },
                {
                    "host": "d.delivery.consentmanager.net",
                    "count": 1,
                    "category": "other",
                    "provider": "d.delivery.consentmanager.net",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "script": 1
                    }
                },
                {
                    "host": "googletagmanager.com",
                    "count": 1,
                    "category": "tag_manager",
                    "provider": "Google Tag Manager",
                    "third_party": true,
                    "category_label": "Tag-Manager",
                    "resource_types": {
                        "script": 1
                    }
                }
            ],
            "contacted_domain_count": 7,
            "privacy_relevant_domains": [
                {
                    "host": "securepubads.g.doubleclick.net",
                    "count": 2,
                    "category": "advertising",
                    "provider": "Google DoubleClick",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "script": 2
                    }
                },
                {
                    "host": "googletagmanager.com",
                    "count": 1,
                    "category": "tag_manager",
                    "provider": "Google Tag Manager",
                    "third_party": true,
                    "category_label": "Tag-Manager",
                    "resource_types": {
                        "script": 1
                    }
                }
            ],
            "third_party_cookie_count": 0,
            "third_party_domain_count": 6,
            "privacy_relevant_domain_count": 2
        },
        "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": true,
            "tcfapi": true,
            "onetrust": false,
            "cookiebot": false,
            "data_layer": true,
            "cmp_detected": true,
            "usercentrics": false,
            "google_tag_data": true
        },
        "accept_signal": {
            "error": "",
            "enabled": true,
            "storage": {
                "total": 8,
                "tracking_key_hints": [
                    "consent",
                    "consent"
                ],
                "local_storage_total": 8,
                "session_storage_total": 0
            },
            "clicked_text": "Accept all",
            "accept_clicked": true,
            "accept_available": true,
            "contacted_domains": [
                {
                    "host": "baby.weser-kurier.de",
                    "count": 57,
                    "category": "other",
                    "provider": "baby.weser-kurier.de",
                    "third_party": false,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "xhr": 1,
                        "font": 4,
                        "image": 45,
                        "script": 3,
                        "document": 1,
                        "stylesheet": 3
                    }
                },
                {
                    "host": "cdn.consentmanager.net",
                    "count": 5,
                    "category": "other",
                    "provider": "cdn.consentmanager.net",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "image": 3,
                        "script": 2
                    }
                },
                {
                    "host": "data-8c0b0197a5.weser-kurier.de",
                    "count": 5,
                    "category": "other",
                    "provider": "data-8c0b0197a5.weser-kurier.de",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "xhr": 1,
                        "script": 4
                    }
                },
                {
                    "host": "c.delivery.consentmanager.net",
                    "count": 3,
                    "category": "other",
                    "provider": "c.delivery.consentmanager.net",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "image": 3
                    }
                },
                {
                    "host": "ep2.adtrafficquality.google",
                    "count": 3,
                    "category": "other",
                    "provider": "ep2.adtrafficquality.google",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "image": 1,
                        "script": 1,
                        "document": 1
                    }
                },
                {
                    "host": "securepubads.g.doubleclick.net",
                    "count": 3,
                    "category": "advertising",
                    "provider": "Google DoubleClick",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "fetch": 1,
                        "script": 2
                    }
                },
                {
                    "host": "5b448f2f.de.ioam.de",
                    "count": 2,
                    "category": "other",
                    "provider": "5b448f2f.de.ioam.de",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "script": 2
                    }
                },
                {
                    "host": "ep1.adtrafficquality.google",
                    "count": 2,
                    "category": "other",
                    "provider": "ep1.adtrafficquality.google",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "xhr": 1,
                        "image": 1
                    }
                },
                {
                    "host": "google-analytics.com",
                    "count": 2,
                    "category": "analytics",
                    "provider": "Google Analytics",
                    "third_party": true,
                    "category_label": "Analytics",
                    "resource_types": {
                        "xhr": 1,
                        "script": 1
                    }
                },
                {
                    "host": "google.com",
                    "count": 2,
                    "category": "other",
                    "provider": "google.com",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "fetch": 1,
                        "document": 1
                    }
                },
                {
                    "host": "googletagmanager.com",
                    "count": 2,
                    "category": "tag_manager",
                    "provider": "Google Tag Manager",
                    "third_party": true,
                    "category_label": "Tag-Manager",
                    "resource_types": {
                        "script": 2
                    }
                },
                {
                    "host": "pagead2.googlesyndication.com",
                    "count": 2,
                    "category": "advertising",
                    "provider": "Google AdSense",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "image": 1,
                        "script": 1
                    }
                },
                {
                    "host": "cb74d04167833e9c4762de41e7a171c9.safeframe.googlesyndication.com",
                    "count": 1,
                    "category": "advertising",
                    "provider": "Google AdSense",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "document": 1
                    }
                },
                {
                    "host": "d.delivery.consentmanager.net",
                    "count": 1,
                    "category": "other",
                    "provider": "d.delivery.consentmanager.net",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "script": 1
                    }
                },
                {
                    "host": "google.de",
                    "count": 1,
                    "category": "other",
                    "provider": "google.de",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "image": 1
                    }
                },
                {
                    "host": "gum.criteo.com",
                    "count": 1,
                    "category": "other",
                    "provider": "gum.criteo.com",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "document": 1
                    }
                },
                {
                    "host": "invstatic101.creativecdn.com",
                    "count": 1,
                    "category": "other",
                    "provider": "invstatic101.creativecdn.com",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "script": 1
                    }
                },
                {
                    "host": "logs1412.xiti.com",
                    "count": 1,
                    "category": "other",
                    "provider": "logs1412.xiti.com",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "fetch": 1
                    }
                },
                {
                    "host": "region1.analytics.google.com",
                    "count": 1,
                    "category": "analytics",
                    "provider": "Google Analytics",
                    "third_party": true,
                    "category_label": "Analytics",
                    "resource_types": {
                        "fetch": 1
                    }
                },
                {
                    "host": "script.ioam.de",
                    "count": 1,
                    "category": "other",
                    "provider": "script.ioam.de",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "script": 1
                    }
                }
            ],
            "contacted_domain_count": 23,
            "new_domains_after_accept": [
                {
                    "host": "ep2.adtrafficquality.google",
                    "count": 3,
                    "category": "other",
                    "provider": "ep2.adtrafficquality.google",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "image": 1,
                        "script": 1,
                        "document": 1
                    }
                },
                {
                    "host": "5b448f2f.de.ioam.de",
                    "count": 2,
                    "category": "other",
                    "provider": "5b448f2f.de.ioam.de",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "script": 2
                    }
                },
                {
                    "host": "c.delivery.consentmanager.net",
                    "count": 2,
                    "category": "other",
                    "provider": "c.delivery.consentmanager.net",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "image": 3
                    }
                },
                {
                    "host": "ep1.adtrafficquality.google",
                    "count": 2,
                    "category": "other",
                    "provider": "ep1.adtrafficquality.google",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "xhr": 1,
                        "image": 1
                    }
                },
                {
                    "host": "google-analytics.com",
                    "count": 2,
                    "category": "analytics",
                    "provider": "Google Analytics",
                    "third_party": true,
                    "category_label": "Analytics",
                    "resource_types": {
                        "xhr": 1,
                        "script": 1
                    }
                },
                {
                    "host": "google.com",
                    "count": 2,
                    "category": "other",
                    "provider": "google.com",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "fetch": 1,
                        "document": 1
                    }
                },
                {
                    "host": "pagead2.googlesyndication.com",
                    "count": 2,
                    "category": "advertising",
                    "provider": "Google AdSense",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "image": 1,
                        "script": 1
                    }
                },
                {
                    "host": "cb74d04167833e9c4762de41e7a171c9.safeframe.googlesyndication.com",
                    "count": 1,
                    "category": "advertising",
                    "provider": "Google AdSense",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "document": 1
                    }
                },
                {
                    "host": "google.de",
                    "count": 1,
                    "category": "other",
                    "provider": "google.de",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "image": 1
                    }
                },
                {
                    "host": "googletagmanager.com",
                    "count": 1,
                    "category": "tag_manager",
                    "provider": "Google Tag Manager",
                    "third_party": true,
                    "category_label": "Tag-Manager",
                    "resource_types": {
                        "script": 2
                    }
                },
                {
                    "host": "gum.criteo.com",
                    "count": 1,
                    "category": "other",
                    "provider": "gum.criteo.com",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "document": 1
                    }
                },
                {
                    "host": "invstatic101.creativecdn.com",
                    "count": 1,
                    "category": "other",
                    "provider": "invstatic101.creativecdn.com",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "script": 1
                    }
                }
            ],
            "privacy_relevant_domains": [
                {
                    "host": "securepubads.g.doubleclick.net",
                    "count": 3,
                    "category": "advertising",
                    "provider": "Google DoubleClick",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "fetch": 1,
                        "script": 2
                    }
                },
                {
                    "host": "google-analytics.com",
                    "count": 2,
                    "category": "analytics",
                    "provider": "Google Analytics",
                    "third_party": true,
                    "category_label": "Analytics",
                    "resource_types": {
                        "xhr": 1,
                        "script": 1
                    }
                },
                {
                    "host": "googletagmanager.com",
                    "count": 2,
                    "category": "tag_manager",
                    "provider": "Google Tag Manager",
                    "third_party": true,
                    "category_label": "Tag-Manager",
                    "resource_types": {
                        "script": 2
                    }
                },
                {
                    "host": "pagead2.googlesyndication.com",
                    "count": 2,
                    "category": "advertising",
                    "provider": "Google AdSense",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "image": 1,
                        "script": 1
                    }
                },
                {
                    "host": "cb74d04167833e9c4762de41e7a171c9.safeframe.googlesyndication.com",
                    "count": 1,
                    "category": "advertising",
                    "provider": "Google AdSense",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "document": 1
                    }
                },
                {
                    "host": "region1.analytics.google.com",
                    "count": 1,
                    "category": "analytics",
                    "provider": "Google Analytics",
                    "third_party": true,
                    "category_label": "Analytics",
                    "resource_types": {
                        "fetch": 1
                    }
                },
                {
                    "host": "stats.g.doubleclick.net",
                    "count": 1,
                    "category": "advertising",
                    "provider": "Google DoubleClick",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "ping": 1
                    }
                }
            ],
            "third_party_domain_count": 22,
            "cookie_count_after_accept": 10,
            "cookie_count_before_accept": 0,
            "request_count_after_accept": 99,
            "storage_count_after_accept": 8,
            "request_count_before_accept": 72,
            "new_cookie_count_after_accept": 10,
            "privacy_relevant_domain_count": 7,
            "new_request_count_after_accept": 27,
            "third_party_cookie_count_after_accept": 2,
            "storage_tracking_hint_count_after_accept": 2,
            "new_privacy_relevant_domains_after_accept": [
                {
                    "host": "google-analytics.com",
                    "count": 2,
                    "category": "analytics",
                    "provider": "Google Analytics",
                    "third_party": true,
                    "category_label": "Analytics",
                    "resource_types": {
                        "xhr": 1,
                        "script": 1
                    }
                },
                {
                    "host": "pagead2.googlesyndication.com",
                    "count": 2,
                    "category": "advertising",
                    "provider": "Google AdSense",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "image": 1,
                        "script": 1
                    }
                },
                {
                    "host": "cb74d04167833e9c4762de41e7a171c9.safeframe.googlesyndication.com",
                    "count": 1,
                    "category": "advertising",
                    "provider": "Google AdSense",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "document": 1
                    }
                },
                {
                    "host": "googletagmanager.com",
                    "count": 1,
                    "category": "tag_manager",
                    "provider": "Google Tag Manager",
                    "third_party": true,
                    "category_label": "Tag-Manager",
                    "resource_types": {
                        "script": 2
                    }
                },
                {
                    "host": "region1.analytics.google.com",
                    "count": 1,
                    "category": "analytics",
                    "provider": "Google Analytics",
                    "third_party": true,
                    "category_label": "Analytics",
                    "resource_types": {
                        "fetch": 1
                    }
                },
                {
                    "host": "securepubads.g.doubleclick.net",
                    "count": 1,
                    "category": "advertising",
                    "provider": "Google DoubleClick",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "fetch": 1,
                        "script": 2
                    }
                },
                {
                    "host": "stats.g.doubleclick.net",
                    "count": 1,
                    "category": "advertising",
                    "provider": "Google DoubleClick",
                    "third_party": true,
                    "category_label": "Werbung",
                    "resource_types": {
                        "ping": 1
                    }
                }
            ],
            "new_privacy_relevant_domain_count_after_accept": 7
        },
        "request_count": 74,
        "top_providers": [
            {
                "provider": "cdn.consentmanager.net",
                "request_count": 5
            },
            {
                "provider": "data-8c0b0197a5.weser-kurier.de",
                "request_count": 5
            },
            {
                "provider": "Google DoubleClick",
                "request_count": 2
            },
            {
                "provider": "c.delivery.consentmanager.net",
                "request_count": 1
            },
            {
                "provider": "d.delivery.consentmanager.net",
                "request_count": 1
            },
            {
                "provider": "Google Tag Manager",
                "request_count": 1
            },
            {
                "provider": "Google AdSense",
                "request_count": 1
            }
        ],
        "request_samples": [
            {
                "host": "securepubads.g.doubleclick.net",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 3,
                "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
            },
            {
                "host": "data-8c0b0197a5.weser-kurier.de",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 6,
                "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
            },
            {
                "host": "data-8c0b0197a5.weser-kurier.de",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 4,
                "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
            },
            {
                "host": "d.delivery.consentmanager.net",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 2,
                "query_keys": [
                    "id",
                    "h",
                    "l",
                    "o"
                ],
                "third_party": true,
                "resource_type": "script",
                "query_key_count": 4,
                "url_value_param_count": 1,
                "sensitive_query_key_count": 0,
                "target_url_value_param_count": 1
            },
            {
                "host": "cdn.consentmanager.net",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 3,
                "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
            },
            {
                "host": "data-8c0b0197a5.weser-kurier.de",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 6,
                "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
            },
            {
                "host": "googletagmanager.com",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 1,
                "query_keys": [
                    "id"
                ],
                "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": "data-8c0b0197a5.weser-kurier.de",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 7,
                "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
            },
            {
                "host": "data-8c0b0197a5.weser-kurier.de",
                "method": "POST",
                "referrer": {
                    "host": "baby.weser-kurier.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": 1,
                "query_keys": [],
                "third_party": true,
                "resource_type": "xhr",
                "query_key_count": 0,
                "url_value_param_count": 0,
                "sensitive_query_key_count": 0,
                "target_url_value_param_count": 0
            },
            {
                "host": "cdn.consentmanager.net",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 3,
                "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
            },
            {
                "host": "securepubads.g.doubleclick.net",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 6,
                "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
            },
            {
                "host": "cdn.consentmanager.net",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 3,
                "query_keys": [],
                "third_party": true,
                "resource_type": "image",
                "query_key_count": 0,
                "url_value_param_count": 0,
                "sensitive_query_key_count": 0,
                "target_url_value_param_count": 0
            },
            {
                "host": "c.delivery.consentmanager.net",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 2,
                "query_keys": [
                    "id",
                    "did",
                    "cfdid",
                    "t",
                    "h",
                    "o",
                    "l",
                    "lv",
                    "d",
                    "ct",
                    "e",
                    "e2"
                ],
                "third_party": true,
                "resource_type": "image",
                "query_key_count": 16,
                "url_value_param_count": 1,
                "sensitive_query_key_count": 0,
                "target_url_value_param_count": 1
            },
            {
                "host": "cdn.consentmanager.net",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 3,
                "query_keys": [],
                "third_party": true,
                "resource_type": "image",
                "query_key_count": 0,
                "url_value_param_count": 0,
                "sensitive_query_key_count": 0,
                "target_url_value_param_count": 0
            },
            {
                "host": "cdn.consentmanager.net",
                "method": "GET",
                "referrer": {
                    "host": "baby.weser-kurier.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": 3,
                "query_keys": [],
                "third_party": true,
                "resource_type": "image",
                "query_key_count": 0,
                "url_value_param_count": 0,
                "sensitive_query_key_count": 0,
                "target_url_value_param_count": 0
            },
            {
                "host": "pagead2.googlesyndication.com",
                "method": "POST",
                "referrer": {
                    "host": "baby.weser-kurier.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": 2,
                "query_keys": [
                    "e"
                ],
                "third_party": true,
                "resource_type": "fetch",
                "query_key_count": 1,
                "url_value_param_count": 0,
                "sensitive_query_key_count": 0,
                "target_url_value_param_count": 0
            }
        ],
        "cmp_consent_state": {
            "tcf": {
                "api_found": true,
                "vendor_li": [],
                "cmp_loaded": true,
                "cmp_status": "loaded",
                "purpose_li": [],
                "event_status": "cmpuishown",
                "gdpr_applies": true,
                "ping_success": true,
                "policy_version": "5",
                "vendor_consents": [],
                "vendor_li_count": 0,
                "purpose_consents": [],
                "purpose_li_count": 0,
                "tc_string_length": 279,
                "tc_string_present": true,
                "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": "baby.weser-kurier.de",
                "count": 58,
                "category": "other",
                "provider": "baby.weser-kurier.de",
                "third_party": false,
                "category_label": "Sonstige",
                "resource_types": {
                    "xhr": 1,
                    "font": 4,
                    "image": 46,
                    "script": 3,
                    "document": 1,
                    "stylesheet": 3
                }
            },
            {
                "host": "cdn.consentmanager.net",
                "count": 5,
                "category": "other",
                "provider": "cdn.consentmanager.net",
                "third_party": true,
                "category_label": "Sonstige",
                "resource_types": {
                    "image": 3,
                    "script": 2
                }
            },
            {
                "host": "data-8c0b0197a5.weser-kurier.de",
                "count": 5,
                "category": "other",
                "provider": "data-8c0b0197a5.weser-kurier.de",
                "third_party": true,
                "category_label": "Sonstige",
                "resource_types": {
                    "xhr": 1,
                    "script": 4
                }
            },
            {
                "host": "securepubads.g.doubleclick.net",
                "count": 2,
                "category": "advertising",
                "provider": "Google DoubleClick",
                "third_party": true,
                "category_label": "Werbung",
                "resource_types": {
                    "script": 2
                }
            },
            {
                "host": "c.delivery.consentmanager.net",
                "count": 1,
                "category": "other",
                "provider": "c.delivery.consentmanager.net",
                "third_party": true,
                "category_label": "Sonstige",
                "resource_types": {
                    "image": 1
                }
            },
            {
                "host": "d.delivery.consentmanager.net",
                "count": 1,
                "category": "other",
                "provider": "d.delivery.consentmanager.net",
                "third_party": true,
                "category_label": "Sonstige",
                "resource_types": {
                    "script": 1
                }
            },
            {
                "host": "googletagmanager.com",
                "count": 1,
                "category": "tag_manager",
                "provider": "Google Tag Manager",
                "third_party": true,
                "category_label": "Tag-Manager",
                "resource_types": {
                    "script": 1
                }
            },
            {
                "host": "pagead2.googlesyndication.com",
                "count": 1,
                "category": "advertising",
                "provider": "Google AdSense",
                "third_party": true,
                "category_label": "Werbung",
                "resource_types": {
                    "fetch": 1
                }
            }
        ],
        "privacy_api_metrics": {
            "api_calls": {
                "fetch_keepalive_count": 1,
                "mutation_observer_count": 10,
                "keyboard_input_listener_count": 62
            },
            "beacon_count": 0,
            "webgl_read_count": 0,
            "canvas_read_count": 0,
            "audio_context_count": 0,
            "canvas_export_count": 0,
            "fetch_keepalive_count": 1,
            "webgl_parameter_count": 0,
            "mutation_observer_count": 10,
            "keyboard_input_listener_count": 62
        },
        "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": true,
            "available": true,
            "cmp_loaded": true,
            "cmp_status": "loaded",
            "event_status": "cmpuishown",
            "gdpr_applies": true,
            "ping_success": true,
            "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": "5",
            "vendor_li_count": 0,
            "purpose_li_count": 0,
            "tc_string_length": 279,
            "tc_string_present": true,
            "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": 813,
                    "href": "https://www.weser-kurier.de/datenschutz/",
                    "left": 378,
                    "text": "Privacy notice",
                    "width": 104,
                    "height": 35,
                    "category": "privacy_notice"
                },
                {
                    "tag": "a",
                    "top": 813,
                    "href": "https://www.weser-kurier.de/impressum/",
                    "left": 553,
                    "text": "Legal notice",
                    "width": 93,
                    "height": 35,
                    "category": "imprint"
                },
                {
                    "tag": "a",
                    "top": 847,
                    "href": "https://www.consentmanager.net/de/cookie-banner/?utm_source=cmplogo2A&utm_medium=banner&utm_campaign=cmplogo2A&utm_term=",
                    "left": 794,
                    "text": "",
                    "width": 14,
                    "height": 14,
                    "category": "cookie_consent"
                },
                {
                    "tag": "img",
                    "top": 928,
                    "href": "",
                    "left": 13,
                    "text": "Privacy settings",
                    "width": 20,
                    "height": 20,
                    "category": "privacy_notice"
                }
            ],
            "available": true,
            "sample_count": 4,
            "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": {
                "imprint": 1,
                "cookie_consent": 1,
                "privacy_notice": 2
            },
            "contact_visible": false,
            "imprint_visible": true,
            "viewport_height": 960,
            "cookie_consent_visible": true,
            "privacy_notice_visible": true
        },
        "consent_journey_matrix": {
            "color": "yellow",
            "items": [
                {
                    "host": "securepubads.g.doubleclick.net",
                    "states": {
                        "gpc": 2,
                        "default": 2
                    },
                    "category": "advertising",
                    "provider": "Google DoubleClick",
                    "category_label": "Werbung",
                    "privacy_relevant": true,
                    "total_request_count": 4
                },
                {
                    "host": "pagead2.googlesyndication.com",
                    "states": {
                        "default": 1,
                        "accept_new": 2
                    },
                    "category": "advertising",
                    "provider": "Google AdSense",
                    "category_label": "Werbung",
                    "privacy_relevant": true,
                    "total_request_count": 3
                },
                {
                    "host": "googletagmanager.com",
                    "states": {
                        "gpc": 1,
                        "default": 1,
                        "accept_new": 1
                    },
                    "category": "tag_manager",
                    "provider": "Google Tag Manager",
                    "category_label": "Tag-Manager",
                    "privacy_relevant": true,
                    "total_request_count": 3
                },
                {
                    "host": "google-analytics.com",
                    "states": {
                        "accept_new": 2
                    },
                    "category": "analytics",
                    "provider": "Google Analytics",
                    "category_label": "Analytics",
                    "privacy_relevant": true,
                    "total_request_count": 2
                },
                {
                    "host": "cb74d04167833e9c4762de41e7a171c9.safeframe.googlesyndication.com",
                    "states": {
                        "accept_new": 1
                    },
                    "category": "advertising",
                    "provider": "Google AdSense",
                    "category_label": "Werbung",
                    "privacy_relevant": true,
                    "total_request_count": 1
                },
                {
                    "host": "cdn.consentmanager.net",
                    "states": {
                        "gpc": 5,
                        "default": 5
                    },
                    "category": "other",
                    "provider": "cdn.consentmanager.net",
                    "category_label": "Sonstige",
                    "privacy_relevant": false,
                    "total_request_count": 10
                },
                {
                    "host": "data-8c0b0197a5.weser-kurier.de",
                    "states": {
                        "gpc": 5,
                        "default": 5
                    },
                    "category": "other",
                    "provider": "data-8c0b0197a5.weser-kurier.de",
                    "category_label": "Sonstige",
                    "privacy_relevant": false,
                    "total_request_count": 10
                },
                {
                    "host": "c.delivery.consentmanager.net",
                    "states": {
                        "gpc": 1,
                        "default": 1,
                        "accept_new": 2
                    },
                    "category": "other",
                    "provider": "c.delivery.consentmanager.net",
                    "category_label": "Sonstige",
                    "privacy_relevant": false,
                    "total_request_count": 4
                },
                {
                    "host": "ep2.adtrafficquality.google",
                    "states": {
                        "accept_new": 3
                    },
                    "category": "other",
                    "provider": "ep2.adtrafficquality.google",
                    "category_label": "Sonstige",
                    "privacy_relevant": false,
                    "total_request_count": 3
                },
                {
                    "host": "5b448f2f.de.ioam.de",
                    "states": {
                        "accept_new": 2
                    },
                    "category": "other",
                    "provider": "5b448f2f.de.ioam.de",
                    "category_label": "Sonstige",
                    "privacy_relevant": false,
                    "total_request_count": 2
                },
                {
                    "host": "d.delivery.consentmanager.net",
                    "states": {
                        "gpc": 1,
                        "default": 1
                    },
                    "category": "other",
                    "provider": "d.delivery.consentmanager.net",
                    "category_label": "Sonstige",
                    "privacy_relevant": false,
                    "total_request_count": 2
                },
                {
                    "host": "ep1.adtrafficquality.google",
                    "states": {
                        "accept_new": 2
                    },
                    "category": "other",
                    "provider": "ep1.adtrafficquality.google",
                    "category_label": "Sonstige",
                    "privacy_relevant": false,
                    "total_request_count": 2
                },
                {
                    "host": "google.com",
                    "states": {
                        "accept_new": 2
                    },
                    "category": "other",
                    "provider": "google.com",
                    "category_label": "Sonstige",
                    "privacy_relevant": false,
                    "total_request_count": 2
                },
                {
                    "host": "google.de",
                    "states": {
                        "accept_new": 1
                    },
                    "category": "other",
                    "provider": "google.de",
                    "category_label": "Sonstige",
                    "privacy_relevant": false,
                    "total_request_count": 1
                },
                {
                    "host": "gum.criteo.com",
                    "states": {
                        "accept_new": 1
                    },
                    "category": "other",
                    "provider": "gum.criteo.com",
                    "category_label": "Sonstige",
                    "privacy_relevant": false,
                    "total_request_count": 1
                },
                {
                    "host": "invstatic101.creativecdn.com",
                    "states": {
                        "accept_new": 1
                    },
                    "category": "other",
                    "provider": "invstatic101.creativecdn.com",
                    "category_label": "Sonstige",
                    "privacy_relevant": false,
                    "total_request_count": 1
                }
            ],
            "score": 84,
            "states": [
                {
                    "id": "default",
                    "label": "Erstaufruf",
                    "description": "Kontakte ohne Nutzeraktion",
                    "domain_count": 7,
                    "request_count": 16,
                    "privacy_relevant_domain_count": 3
                },
                {
                    "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": 12,
                    "request_count": 20,
                    "privacy_relevant_domain_count": 4
                },
                {
                    "id": "gpc",
                    "label": "GPC-Aufruf",
                    "description": "Kontakte bei Global Privacy Control",
                    "domain_count": 6,
                    "request_count": 15,
                    "privacy_relevant_domain_count": 2
                }
            ],
            "status": "prüfen",
            "summary": "Consent-Journey: 0 neue Datenschutz-Domain(s) nach Ablehnen, 4 nach Akzeptieren, 2 im GPC-Aufruf.",
            "gpc_privacy_relevant_domain_count": 2,
            "accept_privacy_relevant_domain_count": 4,
            "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": "mittel",
                    "cookie_count": 0,
                    "domain_count": 8,
                    "request_count": 74,
                    "storage_total": 4,
                    "new_cookie_count": 0,
                    "third_party_cookie_count": 0,
                    "storage_tracking_hint_count": 2,
                    "privacy_relevant_domain_count": 3
                },
                {
                    "id": "reject",
                    "label": "Nach Ablehnen",
                    "status": "nicht verfügbar",
                    "evidence": "",
                    "risk_level": "hoch",
                    "cookie_count": 0,
                    "domain_count": 0,
                    "request_count": 0,
                    "storage_total": 4,
                    "new_cookie_count": 0,
                    "third_party_cookie_count": 0,
                    "storage_tracking_hint_count": 2,
                    "privacy_relevant_domain_count": 0
                },
                {
                    "id": "accept",
                    "label": "Nach Akzeptieren",
                    "status": "geklickt",
                    "evidence": "Accept all",
                    "risk_level": "info",
                    "cookie_count": 10,
                    "domain_count": 23,
                    "request_count": 99,
                    "storage_total": 8,
                    "new_cookie_count": 10,
                    "third_party_cookie_count": 2,
                    "storage_tracking_hint_count": 2,
                    "privacy_relevant_domain_count": 7
                },
                {
                    "id": "gpc",
                    "label": "GPC-Aufruf",
                    "status": "aktiv",
                    "evidence": "Navigator-GPC und Sec-GPC wurden im gesonderten Browserlauf gesetzt.",
                    "risk_level": "mittel",
                    "cookie_count": 0,
                    "domain_count": 7,
                    "request_count": 72,
                    "storage_total": 4,
                    "new_cookie_count": 0,
                    "third_party_cookie_count": 0,
                    "storage_tracking_hint_count": 2,
                    "privacy_relevant_domain_count": 2
                }
            ],
            "color": "red",
            "score": 38,
            "status": "kritisch",
            "summary": "Consent-State-Evidence: 4 Zustände verglichen, 1 hoch auffällig, 2 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"
                },
                {
                    "id": "consent_state_gpc_evidence_review",
                    "title": "Consent-Zustand: GPC mit Tracking-Hinweisen",
                    "public": true,
                    "category": "privacy",
                    "severity": "info"
                }
            ],
            "available": true,
            "high_count": 1,
            "medium_count": 2
        },
        "contacted_domain_count": 8,
        "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": 62,
                    "label": "Tastatur-/Eingabe-Listener",
                    "detail": "62 Tastatur-/Input-Listener, 86 Interaktions-Listener, 10 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": 10,
                "keyboard_input_listener_count": 62
            },
            "summary": "1 Fingerprinting-/Session-Replay-Hinweis(e) aus dem Browserlauf.",
            "findings": [
                {
                    "id": "browser_keystroke_listener_signals",
                    "count": 62,
                    "title": "Viele Tastatur-/Eingabe-Listener im Browser erkannt",
                    "public": true,
                    "category": "privacy",
                    "severity": "info"
                }
            ],
            "finding_count": 1,
            "session_replay_domains": []
        },
        "privacy_relevant_domains": [
            {
                "host": "securepubads.g.doubleclick.net",
                "count": 2,
                "category": "advertising",
                "provider": "Google DoubleClick",
                "third_party": true,
                "category_label": "Werbung",
                "resource_types": {
                    "script": 2
                }
            },
            {
                "host": "googletagmanager.com",
                "count": 1,
                "category": "tag_manager",
                "provider": "Google Tag Manager",
                "third_party": true,
                "category_label": "Tag-Manager",
                "resource_types": {
                    "script": 1
                }
            },
            {
                "host": "pagead2.googlesyndication.com",
                "count": 1,
                "category": "advertising",
                "provider": "Google AdSense",
                "third_party": true,
                "category_label": "Werbung",
                "resource_types": {
                    "fetch": 1
                }
            }
        ],
        "provider_category_counts": {
            "other": 4,
            "advertising": 2,
            "tag_manager": 1
        },
        "provider_category_labels": {
            "other": "other",
            "advertising": "Werbung",
            "tag_manager": "Tag-Manager"
        },
        "third_party_domain_count": 7,
        "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": "yellow",
            "items": [
                {
                    "host": "d.delivery.consentmanager.net",
                    "category": "other",
                    "provider": "d.delivery.consentmanager.net",
                    "query_keys": [
                        "id",
                        "h",
                        "l",
                        "o"
                    ],
                    "risk_reason": "Seiten-URL oder URL-Wert in Drittanbieter-Requestparametern",
                    "resource_type": "script",
                    "category_label": "Sonstige",
                    "referrer_query_keys": [],
                    "url_value_param_count": 1,
                    "target_url_value_param_count": 1
                },
                {
                    "host": "c.delivery.consentmanager.net",
                    "category": "other",
                    "provider": "c.delivery.consentmanager.net",
                    "query_keys": [
                        "id",
                        "did",
                        "cfdid",
                        "t",
                        "h",
                        "o",
                        "l",
                        "lv"
                    ],
                    "risk_reason": "Seiten-URL oder URL-Wert in Drittanbieter-Requestparametern",
                    "resource_type": "image",
                    "category_label": "Sonstige",
                    "referrer_query_keys": [],
                    "url_value_param_count": 1,
                    "target_url_value_param_count": 1
                }
            ],
            "score": 76,
            "status": "prüfen",
            "summary": "2 Drittanbieter-Domain(s) mit Referrer-/URL-Leak-Prüfbedarf, 0 sensible Query-Kontexte.",
            "findings": [
                {
                    "id": "third_party_page_url_parameter",
                    "count": 2,
                    "title": "Seiten-URL wird in Drittanbieter-Requests übertragen",
                    "public": true,
                    "category": "privacy",
                    "severity": "warning"
                }
            ],
            "sample_count": 16,
            "full_referrer_count": 0,
            "page_url_param_count": 2,
            "affected_domain_count": 2,
            "sensitive_query_count": 0
        },
        "third_party_contact_matrix": {
            "color": "red",
            "items": [
                {
                    "host": "securepubads.g.doubleclick.net",
                    "region": "US",
                    "status": "vor Einwilligung prüfen",
                    "category": "advertising",
                    "provider": "Google DoubleClick",
                    "risk_level": "hoch",
                    "request_count": 2,
                    "transfer_risk": "hoch",
                    "category_label": "Werbung",
                    "resource_types": [
                        {
                            "type": "script",
                            "count": 2
                        }
                    ],
                    "transfer_label": "Drittland/USA",
                    "privacy_relevant": true
                },
                {
                    "host": "pagead2.googlesyndication.com",
                    "region": "US",
                    "status": "dokumentieren",
                    "category": "advertising",
                    "provider": "Google AdSense",
                    "risk_level": "mittel",
                    "request_count": 1,
                    "transfer_risk": "hoch",
                    "category_label": "Werbung",
                    "resource_types": [
                        {
                            "type": "fetch",
                            "count": 1
                        }
                    ],
                    "transfer_label": "Drittland/USA",
                    "privacy_relevant": true
                },
                {
                    "host": "googletagmanager.com",
                    "region": "US",
                    "status": "dokumentieren",
                    "category": "tag_manager",
                    "provider": "Google Tag Manager",
                    "risk_level": "mittel",
                    "request_count": 1,
                    "transfer_risk": "hoch",
                    "category_label": "Tag-Manager",
                    "resource_types": [
                        {
                            "type": "script",
                            "count": 1
                        }
                    ],
                    "transfer_label": "Drittland/USA",
                    "privacy_relevant": true
                },
                {
                    "host": "cdn.consentmanager.net",
                    "region": "unbekannt",
                    "status": "prüfen",
                    "category": "other",
                    "provider": "cdn.consentmanager.net",
                    "risk_level": "niedrig",
                    "request_count": 5,
                    "transfer_risk": "mittel",
                    "category_label": "Sonstige",
                    "resource_types": [
                        {
                            "type": "image",
                            "count": 3
                        },
                        {
                            "type": "script",
                            "count": 2
                        }
                    ],
                    "transfer_label": "Jurisdiktion unklar",
                    "privacy_relevant": false
                },
                {
                    "host": "data-8c0b0197a5.weser-kurier.de",
                    "region": "EU/EWR",
                    "status": "prüfen",
                    "category": "other",
                    "provider": "data-8c0b0197a5.weser-kurier.de",
                    "risk_level": "niedrig",
                    "request_count": 5,
                    "transfer_risk": "niedrig",
                    "category_label": "Sonstige",
                    "resource_types": [
                        {
                            "type": "script",
                            "count": 4
                        },
                        {
                            "type": "xhr",
                            "count": 1
                        }
                    ],
                    "transfer_label": "EU/EWR",
                    "privacy_relevant": false
                },
                {
                    "host": "c.delivery.consentmanager.net",
                    "region": "unbekannt",
                    "status": "prüfen",
                    "category": "other",
                    "provider": "c.delivery.consentmanager.net",
                    "risk_level": "niedrig",
                    "request_count": 1,
                    "transfer_risk": "mittel",
                    "category_label": "Sonstige",
                    "resource_types": [
                        {
                            "type": "image",
                            "count": 1
                        }
                    ],
                    "transfer_label": "Jurisdiktion unklar",
                    "privacy_relevant": false
                },
                {
                    "host": "d.delivery.consentmanager.net",
                    "region": "unbekannt",
                    "status": "prüfen",
                    "category": "other",
                    "provider": "d.delivery.consentmanager.net",
                    "risk_level": "niedrig",
                    "request_count": 1,
                    "transfer_risk": "mittel",
                    "category_label": "Sonstige",
                    "resource_types": [
                        {
                            "type": "script",
                            "count": 1
                        }
                    ],
                    "transfer_label": "Jurisdiktion unklar",
                    "privacy_relevant": false
                }
            ],
            "score": 30,
            "status": "kritisch",
            "summary": "7 Drittanbieter-Domain(s) beim ersten Browseraufruf, davon 3 datenschutzrelevant.",
            "category_counts": {
                "Werbung": 2,
                "Sonstige": 4,
                "Tag-Manager": 1
            },
            "total_domain_count": 7,
            "total_request_count": 16,
            "privacy_relevant_count": 3,
            "transfer_risk_analysis": {
                "color": "red",
                "items": [
                    {
                        "host": "securepubads.g.doubleclick.net",
                        "region": "US",
                        "provider": "Google DoubleClick",
                        "request_count": 2,
                        "transfer_risk": "hoch",
                        "category_label": "Werbung",
                        "transfer_label": "Drittland/USA",
                        "privacy_relevant": true
                    },
                    {
                        "host": "pagead2.googlesyndication.com",
                        "region": "US",
                        "provider": "Google AdSense",
                        "request_count": 1,
                        "transfer_risk": "hoch",
                        "category_label": "Werbung",
                        "transfer_label": "Drittland/USA",
                        "privacy_relevant": true
                    },
                    {
                        "host": "googletagmanager.com",
                        "region": "US",
                        "provider": "Google Tag Manager",
                        "request_count": 1,
                        "transfer_risk": "hoch",
                        "category_label": "Tag-Manager",
                        "transfer_label": "Drittland/USA",
                        "privacy_relevant": true
                    },
                    {
                        "host": "cdn.consentmanager.net",
                        "region": "unbekannt",
                        "provider": "cdn.consentmanager.net",
                        "request_count": 5,
                        "transfer_risk": "mittel",
                        "category_label": "Sonstige",
                        "transfer_label": "Jurisdiktion unklar",
                        "privacy_relevant": false
                    },
                    {
                        "host": "data-8c0b0197a5.weser-kurier.de",
                        "region": "EU/EWR",
                        "provider": "data-8c0b0197a5.weser-kurier.de",
                        "request_count": 5,
                        "transfer_risk": "niedrig",
                        "category_label": "Sonstige",
                        "transfer_label": "EU/EWR",
                        "privacy_relevant": false
                    },
                    {
                        "host": "c.delivery.consentmanager.net",
                        "region": "unbekannt",
                        "provider": "c.delivery.consentmanager.net",
                        "request_count": 1,
                        "transfer_risk": "mittel",
                        "category_label": "Sonstige",
                        "transfer_label": "Jurisdiktion unklar",
                        "privacy_relevant": false
                    },
                    {
                        "host": "d.delivery.consentmanager.net",
                        "region": "unbekannt",
                        "provider": "d.delivery.consentmanager.net",
                        "request_count": 1,
                        "transfer_risk": "mittel",
                        "category_label": "Sonstige",
                        "transfer_label": "Jurisdiktion unklar",
                        "privacy_relevant": false
                    }
                ],
                "score": 31,
                "status": "kritisch",
                "summary": "7 Drittanbieter für Transfer-/Jurisdiktionsprüfung, 3 mit hohem Prüfbedarf, 3 unklar.",
                "findings": [
                    {
                        "id": "third_country_transfer_review",
                        "title": "Drittland-/US-Anbieter im Browseraufruf prüfen",
                        "public": true,
                        "category": "privacy",
                        "severity": "warning"
                    },
                    {
                        "id": "unknown_vendor_jurisdiction",
                        "title": "Anbieter-Jurisdiktion nicht klar ableitbar",
                        "public": true,
                        "category": "privacy",
                        "severity": "info"
                    }
                ],
                "unknown_count": 3,
                "high_risk_count": 3,
                "total_vendor_count": 7,
                "third_country_count": 3
            }
        },
        "privacy_relevant_domain_count": 3,
        "tracking_pixel_beacon_analysis": {
            "color": "orange",
            "items": [
                {
                    "url": "",
                    "host": "baby.weser-kurier.de",
                    "kind": "beacon_api",
                    "reason": "sendBeacon API 0 Aufruf(e), 0 Code-Hinweis(e); keepalive 1 Aufruf(e), 0 Code-Hinweis(e).",
                    "source": "javascript_api",
                    "category": "telemetry",
                    "provider": "Beacon-/Keepalive-API",
                    "third_party": false,
                    "resource_type": "beacon",
                    "category_label": "Telemetry"
                },
                {
                    "url": "",
                    "host": "c.delivery.consentmanager.net",
                    "kind": "browser_tracking_request",
                    "reason": "image-Request mit 16 Query-Schlüssel(n).",
                    "source": "chromium_request",
                    "category": "other",
                    "provider": "c.delivery.consentmanager.net",
                    "query_keys": [
                        "id",
                        "did",
                        "cfdid",
                        "t",
                        "h",
                        "o",
                        "l",
                        "lv"
                    ],
                    "third_party": true,
                    "resource_type": "image",
                    "category_label": "Sonstige"
                },
                {
                    "url": "",
                    "host": "pagead2.googlesyndication.com",
                    "kind": "browser_tracking_request",
                    "reason": "fetch-Request mit 1 Query-Schlüssel(n).",
                    "source": "chromium_request",
                    "category": "advertising",
                    "provider": "Google AdSense",
                    "query_keys": [
                        "e"
                    ],
                    "third_party": true,
                    "resource_type": "fetch",
                    "category_label": "Werbung"
                }
            ],
            "score": 58,
            "status": "auffällig",
            "summary": "1 Pixel-/Bildtracking-Hinweis(e), 3 Beacon-/Telemetry-Hinweis(e), 0 Link-Ping(s).",
            "findings": [
                {
                    "id": "tracking_pixel_detected",
                    "count": 1,
                    "title": "Tracking-Pixel oder pixelnahe Requests erkannt",
                    "public": true,
                    "category": "privacy",
                    "severity": "warning"
                },
                {
                    "id": "beacon_api_usage",
                    "count": 3,
                    "title": "Beacon-/Keepalive-Telemetrie erkannt",
                    "public": true,
                    "category": "privacy",
                    "severity": "warning"
                }
            ],
            "pixel_count": 1,
            "link_ping_count": 0,
            "telemetry_count": 2,
            "beacon_api_count": 0,
            "third_party_count": 2,
            "fetch_keepalive_count": 1,
            "privacy_relevant_count": 1,
            "beacon_code_reference_count": 0,
            "fetch_keepalive_reference_count": 0
        }
    },
    "privacy_analysis": {
        "cookies": {
            "items": [],
            "total": 0,
            "tracking": [],
            "pre_consent": [],
            "missing_secure": [],
            "missing_samesite": [],
            "pre_consent_tracking": [],
            "pre_consent_nonessential": []
        },
        "findings": [
            {
                "id": "tracking_without_consent_hint",
                "title": "Tracking ohne sichtbaren Cookie-Hinweis",
                "public": true,
                "category": "privacy",
                "severity": "warning"
            }
        ],
        "tracking_ids": [
            {
                "type": "google_tag_manager",
                "value": "GTM-KXF68BN",
                "provider": "Google Tag Manager"
            }
        ],
        "tracking_scripts": [
            {
                "url": "https://securepubads.g.doubleclick.net/tag/js/gpt.js",
                "provider": "Google DoubleClick"
            }
        ],
        "consent_hint_found": false,
        "privacy_policy_hint_found": true
    },
    "consent_audit": {
        "color": "red",
        "score": 0,
        "checks": [
            {
                "id": "banner_visible",
                "ok": false,
                "label": "Cookie-/Consent-Hinweis sichtbar",
                "detail": "Ein Hinweis mit Cookie-/Einwilligungsbezug wurde im sichtbaren Text erkannt."
            },
            {
                "id": "reject_visible",
                "ok": false,
                "label": "Ablehnen gleichwertig erreichbar",
                "detail": "Ablehnen oder nur notwendige Cookies wurde im Text oder Browser erkannt. Browser-Buttons: 0."
            },
            {
                "id": "settings_visible",
                "ok": true,
                "label": "Einstellungen oder Auswahl vorhanden",
                "detail": "Eine Einstellungs- oder Auswahlmoeglichkeit wurde im Text oder Browser erkannt. Browser-Buttons: 1."
            },
            {
                "id": "browser_reject_visible",
                "ok": false,
                "label": "Ablehnen im sichtbaren Banner",
                "detail": "Sichtbare Banner-Controls: Akzeptieren 1, Ablehnen 0, Einstellungen 1."
            },
            {
                "id": "browser_settings_visible",
                "ok": true,
                "label": "Einstellungen im sichtbaren Banner",
                "detail": "Sichtbare Banner-Controls: Akzeptieren 1, Ablehnen 0, Einstellungen 1."
            },
            {
                "id": "reject_equally_prominent",
                "ok": true,
                "label": "Ablehnen nicht deutlich schwaecher dargestellt",
                "detail": "Groessen-Verhältnis Ablehnen/Akzeptieren: nicht messbar."
            },
            {
                "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": true,
                "label": "Keine neuen Cookies nach Ablehnen",
                "detail": "0 neue Cookie(s) nach dem Ablehnen-Klick."
            },
            {
                "id": "no_tracking_storage_after_reject",
                "ok": true,
                "label": "Kein Tracking-Storage nach Ablehnen",
                "detail": "2 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": false,
                "label": "GPC-Signal ohne Tracking-Hinweise",
                "detail": "GPC-Aufruf: 2 datenschutzrelevante Domain(s), 0 Drittanbieter-Cookie(s), 2 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": true,
                "label": "Keine nicht notwendigen Cookies vor Einwilligung",
                "detail": "0 moeglicherweise nicht notwendige Cookie(s) im Erstaufruf."
            },
            {
                "id": "google_default_restrictive",
                "ok": false,
                "label": "Google Consent Default restriktiv",
                "detail": "Google-Tags brauchen vor dem ersten Laden restriktive Consent-Defaults."
            },
            {
                "id": "third_parties_explained",
                "ok": true,
                "label": "Drittanbieter begrenzt und erklaerbar",
                "detail": "0 datenschutzrelevante Drittanbieter-Domain(s), 7 Drittanbieter insgesamt."
            },
            {
                "id": "storage_without_tracking_hints",
                "ok": false,
                "label": "Web Storage ohne Tracking-Hinweise",
                "detail": "4 Storage-Key(s), 2 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 27, neue Cookies 10, neue Datenschutz-Domains 7."
            },
            {
                "id": "cmp_state_readable",
                "ok": true,
                "label": "CMP-/TCF-Zustand auslesbar",
                "detail": "TCF TC-String: ja, 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": "kritisch",
        "summary": "Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig.",
        "evidence": [
            "0 Cookie(s) beim ersten Aufruf aus HTTP-Headern und Chromium",
            "1 Tracking-Script(s) im HTML",
            "0 datenschutzrelevante Drittanbieter-Domain(s)",
            "4 Storage-Key(s), 2 Tracking-Hinweis(e)",
            "Consent-Banner-Controls: Akzeptieren 1, Ablehnen 0, Einstellungen 1",
            "Ablehnen/Akzeptieren-Prominenz: nicht messbar",
            "Reject-Test: nicht ausgefuehrt, neue Cookies 0, Tracking-Storage 2, neue Datenschutz-Domains 0",
            "Accept-Test: geklickt, neue Requests 27, neue Cookies 10, neue Datenschutz-Domains 7, Drittanbieter-Cookies 2",
            "CMP-State: TCF-String ja, TCF Purposes 0, TCF Vendors 0, Cookiebot nein, OneTrust-Gruppen 0, Usercentrics-Services 0",
            "GPC-Test: aktiv, Datenschutz-Domains 2, Drittanbieter-Cookies 0, Storage-Hinweise 2",
            "CMP-/TCF-Signal: ja",
            "Google Consent Default: nein"
        ],
        "gpc_enabled": true,
        "cmp_detected": true,
        "blocking_plan": {
            "items": [
                {
                    "kind": "google_consent",
                    "level": "hoch",
                    "source": "Google",
                    "target": "Google Consent Defaults",
                    "recipes": [
                        {
                            "tool": "Google Consent Mode v2"
                        },
                        {
                            "tool": "Google Tag Manager"
                        },
                        {
                            "tool": "Cookiebot"
                        },
                        {
                            "tool": "Usercentrics"
                        },
                        {
                            "tool": "OneTrust"
                        }
                    ],
                    "category": "tag_manager",
                    "evidence": "Google-Tags erkannt, aber kein Consent-Default vor dem ersten Tag.",
                    "category_label": "Tag-Manager"
                },
                {
                    "kind": "script",
                    "level": "hoch",
                    "source": "securepubads.g.doubleclick.net",
                    "target": "https://securepubads.g.doubleclick.net/tag/js/gpt.js",
                    "recipes": [
                        {
                            "tool": "Google Tag Manager"
                        },
                        {
                            "tool": "Cookiebot"
                        },
                        {
                            "tool": "Usercentrics"
                        },
                        {
                            "tool": "OneTrust"
                        },
                        {
                            "tool": "Developer-Fallback"
                        }
                    ],
                    "category": "advertising",
                    "evidence": "Google DoubleClick · Werbung",
                    "category_label": "Werbung"
                },
                {
                    "kind": "storage",
                    "level": "hoch",
                    "source": "localStorage",
                    "target": "__cmpconsentx35882_.weser-kurier.de",
                    "recipes": [
                        {
                            "tool": "Google Tag Manager"
                        },
                        {
                            "tool": "Usercentrics"
                        },
                        {
                            "tool": "Developer-Fallback"
                        }
                    ],
                    "category": "tracking",
                    "evidence": "localStorage · Tracking/Analytics · dauerhaft bis Löschung durch Nutzer/Browser",
                    "category_label": "tracking"
                },
                {
                    "kind": "storage",
                    "level": "hoch",
                    "source": "localStorage",
                    "target": "__cmpconsentx35882_expire_.weser-kurier.de",
                    "recipes": [
                        {
                            "tool": "Google Tag Manager"
                        },
                        {
                            "tool": "Usercentrics"
                        },
                        {
                            "tool": "Developer-Fallback"
                        }
                    ],
                    "category": "tracking",
                    "evidence": "localStorage · Tracking/Analytics · dauerhaft bis Löschung durch Nutzer/Browser",
                    "category_label": "tracking"
                },
                {
                    "kind": "third_party_request",
                    "level": "hoch",
                    "source": "Google Tag Manager",
                    "target": "googletagmanager.com",
                    "recipes": [
                        {
                            "tool": "Google Tag Manager"
                        },
                        {
                            "tool": "Cookiebot"
                        },
                        {
                            "tool": "Usercentrics"
                        },
                        {
                            "tool": "OneTrust"
                        },
                        {
                            "tool": "Developer-Fallback"
                        }
                    ],
                    "category": "tag_manager",
                    "evidence": "1 Request(s) im Erstaufruf · Tag-Manager",
                    "category_label": "Tag-Manager"
                },
                {
                    "kind": "third_party_request",
                    "level": "hoch",
                    "source": "Google AdSense",
                    "target": "pagead2.googlesyndication.com",
                    "recipes": [
                        {
                            "tool": "Google Tag Manager"
                        },
                        {
                            "tool": "Cookiebot"
                        },
                        {
                            "tool": "Usercentrics"
                        },
                        {
                            "tool": "OneTrust"
                        },
                        {
                            "tool": "Developer-Fallback"
                        }
                    ],
                    "category": "advertising",
                    "evidence": "1 Request(s) im Erstaufruf · Werbung",
                    "category_label": "Werbung"
                },
                {
                    "kind": "third_party_request",
                    "level": "hoch",
                    "source": "Google DoubleClick",
                    "target": "securepubads.g.doubleclick.net",
                    "recipes": [
                        {
                            "tool": "Google Tag Manager"
                        },
                        {
                            "tool": "Cookiebot"
                        },
                        {
                            "tool": "Usercentrics"
                        },
                        {
                            "tool": "OneTrust"
                        },
                        {
                            "tool": "Developer-Fallback"
                        }
                    ],
                    "category": "advertising",
                    "evidence": "2 Request(s) im Erstaufruf · Werbung",
                    "category_label": "Werbung"
                }
            ],
            "summary": "7 Blockier-/Consent-Maßnahme(n) abgeleitet: 7 hoch, 0 mittel.",
            "available": true,
            "high_count": 7,
            "total_count": 7,
            "type_counts": {
                "script": 1,
                "storage": 2,
                "google_consent": 1,
                "third_party_request": 3
            },
            "medium_count": 0
        },
        "tcf_api_found": true,
        "cookiebot_found": false,
        "accept_test_enabled": true,
        "browser_cookie_count": 0,
        "accept_button_clicked": true,
        "browser_storage_count": 4,
        "reject_button_clicked": false,
        "reject_less_prominent": false,
        "tcf_tc_string_present": true,
        "tracking_script_count": 1,
        "accept_button_available": true,
        "reject_button_available": false,
        "reject_prominence_ratio": 0,
        "pre_consent_cookie_count": 0,
        "pre_consent_cookie_names": [],
        "tcf_vendor_consent_count": 0,
        "third_party_domain_count": 7,
        "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": 0,
        "gpc_third_party_cookie_count": 0,
        "post_accept_new_cookie_count": 10,
        "post_reject_new_cookie_count": 0,
        "post_accept_new_request_count": 27,
        "browser_settings_control_count": 1,
        "gpc_storage_tracking_hint_count": 2,
        "cookiebot_marketing_or_statistics": false,
        "gpc_privacy_relevant_domain_count": 2,
        "pre_consent_tracking_cookie_count": 0,
        "pre_consent_tracking_cookie_names": [],
        "privacy_relevant_third_party_count": 0,
        "browser_storage_tracking_hint_count": 2,
        "post_accept_third_party_cookie_count": 2,
        "pre_consent_nonessential_cookie_count": 0,
        "pre_consent_nonessential_cookie_names": [],
        "post_accept_storage_tracking_hint_count": 2,
        "post_reject_storage_tracking_hint_count": 2,
        "post_accept_privacy_relevant_domain_count": 7,
        "post_reject_privacy_relevant_domain_count": 0
    },
    "cookie_inventory": {
        "color": "green",
        "items": [],
        "score": 100,
        "total": 0,
        "status": "unauffällig",
        "summary": "0 Cookie(s) inventarisiert: 0 Tracking-/Werbe-Cookie(s), 0 Drittanbieter-Cookie(s), 0 langlebige Cookie(s), 0 sehr lange Laufzeit(en).",
        "findings": [],
        "categories": [],
        "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": 0,
        "pre_consent_count": 0,
        "retention_classes": [],
        "third_party_count": 0,
        "missing_secure_count": 0,
        "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": 34,
        "checks": [
            {
                "ok": false,
                "note": "Fehlt in der HTTP-Antwort.",
                "label": "HSTS",
                "value": "",
                "header": "strict-transport-security",
                "present": false,
                "purpose": "Erzwingt HTTPS nach dem ersten sicheren Aufruf.",
                "severity": "warning"
            },
            {
                "ok": false,
                "note": "Fehlt in der HTTP-Antwort.",
                "label": "Content-Security-Policy",
                "value": "",
                "header": "content-security-policy",
                "present": false,
                "purpose": "Begrenzt Skript-, Frame- und Ressourcenquellen im Browser.",
                "severity": "warning"
            },
            {
                "ok": false,
                "note": "Fehlt in der HTTP-Antwort.",
                "label": "X-Frame-Options",
                "value": "",
                "header": "x-frame-options",
                "present": false,
                "purpose": "Reduziert Clickjacking-Risiken bei älteren Browsern.",
                "severity": "warning"
            },
            {
                "ok": false,
                "note": "Fehlt in der HTTP-Antwort.",
                "label": "X-Content-Type-Options",
                "value": "",
                "header": "x-content-type-options",
                "present": false,
                "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": [
            "HSTS",
            "Content-Security-Policy",
            "X-Frame-Options",
            "X-Content-Type-Options",
            "Referrer-Policy",
            "Permissions-Policy",
            "Cross-Origin-Opener-Policy",
            "Cross-Origin-Resource-Policy",
            "Cross-Origin-Embedder-Policy"
        ],
        "summary": "0 von 9 wichtigen Security-Headern vorhanden, 0 korrekt bewertet. Keine Content-Security-Policy gefunden.",
        "findings": [],
        "ok_count": 0,
        "weak_count": 0,
        "csp_analysis": {
            "color": "red",
            "score": 0,
            "status": "fehlt",
            "summary": "Keine Content-Security-Policy gefunden.",
            "enforced": false,
            "findings": [],
            "available": false,
            "directives": [],
            "report_only": false,
            "finding_count": 0,
            "warning_count": 0
        },
        "missing_count": 9,
        "present_count": 0,
        "missing_info_count": 5,
        "missing_warning_count": 4
    },
    "infrastructure_analysis": {
        "signals": {
            "caa": true,
            "dnssec": true,
            "final_https": true,
            "tls_version": "TLSv1.3",
            "hsts_enabled": false,
            "address_count": 1,
            "ipv6_available": false,
            "email_protection": {
                "mx": true,
                "spf": false,
                "dmarc": false
            },
            "certificate_valid": true,
            "certificate_issuer": "R12",
            "certificate_alt_names": [
                "baby.weser-kurier.de"
            ],
            "multiple_ip_addresses": false,
            "certificate_expires_at": "Aug 10 08:02:35 2026 GMT",
            "certificate_days_remaining": 55,
            "certificate_hostname_matches": true
        },
        "findings": [
            {
                "id": "dmarc_missing",
                "title": "DMARC fehlt",
                "public": true,
                "category": "email",
                "severity": "info"
            }
        ],
        "risk_level": "low",
        "positive_signals": [
            "Moderne TLS-Version aktiv: TLSv1.3.",
            "CAA-Records begrenzen Zertifikatsaussteller."
        ]
    },
    "performance_analysis": {
        "score": 94,
        "signals": {
            "compressed": false,
            "duration_ms": 1173,
            "image_count": 64,
            "script_count": 6,
            "cache_control": "no-cache, no-store",
            "content_length": 95433,
            "viewport_found": true,
            "stylesheet_count": 3
        },
        "findings": [
            {
                "id": "compression_missing",
                "title": "Komprimierung nicht erkannt",
                "public": true,
                "category": "performance",
                "severity": "info"
            }
        ],
        "risk_level": "medium"
    },
    "accessibility_analysis": {
        "color": "yellow",
        "score": 84,
        "status": "prüfen",
        "signals": {
            "h1_count": 1,
            "image_count": 64,
            "button_count": 13,
            "heading_count": 57,
            "viewport_found": true,
            "html_lang_found": true,
            "form_field_count": 10,
            "image_missing_alt_count": 0,
            "buttons_without_name_count": 2,
            "form_fields_without_label_count": 0
        },
        "summary": "64 Bild(er), 10 Formularfeld(er), 13 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft.",
        "findings": [
            {
                "id": "button_name_missing",
                "count": 2,
                "title": "Buttons ohne erkennbaren Namen",
                "public": true,
                "category": "accessibility",
                "severity": "warning"
            }
        ],
        "wcag_matrix": {
            "rows": [
                {
                    "id": "wcag_non_text_content",
                    "ok": true,
                    "wcag": "WCAG 1.1.1 Non-text Content",
                    "title": "Alternativtexte für Bilder",
                    "impact": "niedrig",
                    "status": "ok",
                    "evidence": "0 von 64 Bild(er) ohne alt-Text im HTML-Sample."
                },
                {
                    "id": "wcag_form_labels",
                    "ok": true,
                    "wcag": "WCAG 1.3.1 Info and Relationships / 3.3.2 Labels or Instructions",
                    "title": "Formularfelder beschriften",
                    "impact": "niedrig",
                    "status": "ok",
                    "evidence": "0 von 10 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": "2 von 13 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 57 Ü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": "1 WCAG-/EAA-Prüfpunkt(e) auffällig, davon 1 mit hoher Auswirkung.",
            "standard": "WCAG 2.2 orientierte Basisprüfung",
            "available": true,
            "issue_count": 1,
            "high_impact_count": 1
        }
    },
    "domain_history": {
        "status": [],
        "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": ""
    },
    "data_entry_analysis": {
        "forms": [
            {
                "method": "POST",
                "purpose": "Adresse",
                "data_types": [
                    {
                        "id": "address",
                        "label": "Adresse"
                    },
                    {
                        "id": "personal",
                        "label": "Name/personenbezogene Daten"
                    },
                    {
                        "id": "search",
                        "label": "Suche"
                    }
                ],
                "field_count": 2
            },
            {
                "method": "POST",
                "purpose": "Adresse",
                "data_types": [
                    {
                        "id": "address",
                        "label": "Adresse"
                    },
                    {
                        "id": "personal",
                        "label": "Name/personenbezogene Daten"
                    },
                    {
                        "id": "search",
                        "label": "Suche"
                    }
                ],
                "field_count": 2
            },
            {
                "url": "https://baby.weser-kurier.de/anzeige-aufgeben/anzeigenschaltung-und-kontakt",
                "path": "/anzeige-aufgeben/anzeigenschaltung-und-kontakt",
                "method": "UNBEKANNT",
                "source": "crawl",
                "purpose": "Formular",
                "data_types": [],
                "field_count": 0
            },
            {
                "url": "https://baby.weser-kurier.de/anzeige-aufgeben/preise-und-musterbuch",
                "path": "/anzeige-aufgeben/preise-und-musterbuch",
                "method": "UNBEKANNT",
                "source": "crawl",
                "purpose": "Formular",
                "data_types": [],
                "field_count": 0
            },
            {
                "url": "https://baby.weser-kurier.de/alles-fuers-baby",
                "path": "/alles-fuers-baby",
                "method": "UNBEKANNT",
                "source": "crawl",
                "purpose": "Formular",
                "data_types": [],
                "field_count": 0
            },
            {
                "purpose": "Formular",
                "field_count": 0,
                "source": "crawl",
                "path": "/anzeige-aufgeben/anzeigenschaltung-und-kontakt",
                "url": "https://baby.weser-kurier.de/anzeige-aufgeben/anzeigenschaltung-und-kontakt"
            },
            {
                "purpose": "Formular",
                "field_count": 0,
                "source": "crawl",
                "path": "/anzeige-aufgeben/preise-und-musterbuch",
                "url": "https://baby.weser-kurier.de/anzeige-aufgeben/preise-und-musterbuch"
            },
            {
                "purpose": "Formular",
                "field_count": 0,
                "source": "crawl",
                "path": "/alles-fuers-baby",
                "url": "https://baby.weser-kurier.de/alles-fuers-baby"
            }
        ],
        "score": 84,
        "summary": "Crawl fand 13 Formular(e) auf 3 geprüften Seite(n), u. a. /anzeige-aufgeben/anzeigenschaltung-und-kontakt, /anzeige-aufgeben/preise-und-musterbuch, /alles-fuers-baby.",
        "findings": [],
        "form_count": 13,
        "risk_level": "medium",
        "field_count": 7,
        "asks_for_data": true,
        "crawl_form_pages": [
            {
                "url": "https://baby.weser-kurier.de/anzeige-aufgeben/anzeigenschaltung-und-kontakt",
                "path": "/anzeige-aufgeben/anzeigenschaltung-und-kontakt",
                "category": "kontakt",
                "form_count": 4
            },
            {
                "url": "https://baby.weser-kurier.de/anzeige-aufgeben/preise-und-musterbuch",
                "path": "/anzeige-aufgeben/preise-und-musterbuch",
                "category": "preise",
                "form_count": 4
            },
            {
                "url": "https://baby.weser-kurier.de/alles-fuers-baby",
                "path": "/alles-fuers-baby",
                "category": "unterseite",
                "form_count": 5
            }
        ],
        "payment_providers": [],
        "detected_data_types": [
            {
                "id": "address",
                "count": 2,
                "label": "Adresse"
            },
            {
                "id": "personal",
                "count": 2,
                "label": "Name/personenbezogene Daten"
            },
            {
                "id": "contact",
                "count": 1,
                "label": "Kontaktformular"
            }
        ],
        "crawl_form_page_count": 3,
        "privacy_context_found": true,
        "operator_context_found": true
    },
    "pii_exposure_analysis": {
        "color": "yellow",
        "score": 82,
        "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": true,
                "count": 0,
                "label": "GET-Formulare",
                "detail": "Keine personenbezogenen GET-Formulare erkannt."
            },
            {
                "id": "external_forms",
                "ok": true,
                "count": 0,
                "label": "Externe Formularziele",
                "detail": "Keine externen Formularziele mit personenbezogenen Feldern erkannt."
            },
            {
                "id": "tracking_context",
                "ok": false,
                "count": 3,
                "label": "Tracking neben Dateneingabe",
                "detail": "3 datenschutzrelevante Drittanbieter."
            }
        ],
        "status": "prüfen",
        "summary": "1 PII-/Datenleck-Hinweis(e) aus URL-, Formular- und Browserkontext.",
        "findings": [
            {
                "id": "pii_tracking_on_data_entry_page",
                "title": "Dateneingabe und datenschutzrelevante Drittanbieter im selben Browseraufruf",
                "public": true,
                "category": "privacy",
                "severity": "warning",
                "third_party_count": 3
            }
        ],
        "link_hits": [],
        "finding_count": 1,
        "current_url_hits": [],
        "tracking_context": true,
        "sensitive_get_forms": []
    },
    "scan_history_analysis": {
        "available": true,
        "summary": "Vergleich mit dem vorherigen gespeicherten Scan: Score +0 Punkte, 0 neue und 0 behobene Hinweis(e).",
        "trend": "unverändert",
        "total_scan_count": 2,
        "previous_scan_count": 1,
        "score_delta": 0,
        "previous_score": 0,
        "current_score": 0,
        "previous_scan_id": "43a4cca6-3559-4a19-8bb5-10aaa3028295",
        "previous_created_at": "2026-06-15 11:10:37.564123+02",
        "new_findings": [],
        "resolved_findings": [],
        "technical_changes": {
            "available": true,
            "summary": "0 neue und 0 entfernte technische Datenschutz-Signal(e): Cookies, Drittanbieter und externe Skriptquellen.",
            "new_cookie_count": 0,
            "removed_cookie_count": 0,
            "new_third_party_count": 0,
            "removed_third_party_count": 0,
            "new_script_source_count": 0,
            "removed_script_source_count": 0,
            "new_cookies": [],
            "removed_cookies": [],
            "new_third_parties": [],
            "removed_third_parties": [],
            "new_script_sources": [],
            "removed_script_sources": []
        },
        "history": [
            {
                "scan_id": "49e1d630-a065-452f-8000-cba7aabdc7bb",
                "created_at": "2026-06-15 11:47:32.565003+02",
                "score": 0,
                "verdict": "riskant",
                "finding_count": 36,
                "integrity_root_hash": "453b514cb8cca88ae3fb249a875218970c3cb19855efbef1508345faf2648de8",
                "integrity_available_hash_count": 9,
                "current": true
            },
            {
                "scan_id": "43a4cca6-3559-4a19-8bb5-10aaa3028295",
                "created_at": "2026-06-15 11:10:37.564123+02",
                "score": 0,
                "verdict": "riskant",
                "finding_count": 36,
                "integrity_root_hash": "8aa693a927a8bc56044dd67b3bc41707a2cd89f7d105df94f995ced81bdf55e0",
                "integrity_available_hash_count": 9,
                "current": false
            }
        ]
    },
    "benchmark_analysis": {
        "host": "baby.weser-kurier.de",
        "rank": 1,
        "score": 0,
        "status": "im_mittelfeld",
        "summary": "baby.weser-kurier.de liegt mit 0 Punkten ungefähr im gespeicherten Vergleichsfeld. Weil viele gespeicherte Checks bei 0 Punkten liegen, zeigt die Detailansicht zusätzlich aktive Peers mit Durchschnitt 17.6.",
        "available": true,
        "peer_count": 1724,
        "percentile": 0,
        "query_mode": "php_ttl_cache_refresh",
        "distribution": {
            "0_39": 1717,
            "40_59": 5,
            "60_79": 2,
            "80_100": 0
        },
        "median_score": 0,
        "average_score": 1,
        "comparison_basis": "Neuester gespeicherter SaferPage-Scan je Domain; überwiegend deutschsprachige gespeicherte Checks.",
        "same_score_count": 0,
        "better_than_count": 0,
        "qualified_peer_count": 100,
        "zero_score_count": 1624,
        "top_quartile_score": 0,
        "top_decile_score": 0,
        "qualified_average_score": 17.6,
        "qualified_median_score": 16,
        "qualified_top_quartile_score": 24,
        "qualified_top_decile_score": 36,
        "thresholds": [
            {
                "id": "critical",
                "label": "Kritisch",
                "range": "0-39",
                "met": true
            },
            {
                "id": "basic",
                "label": "Basis stabilisieren",
                "range": "40-59",
                "met": false
            },
            {
                "id": "managed",
                "label": "Gesteuert",
                "range": "60-79",
                "met": false
            },
            {
                "id": "strong",
                "label": "Stark",
                "range": "80-100",
                "met": false
            }
        ],
        "risk_tier": "kritisch",
        "target_score": 40,
        "aspirational_target_score": 60,
        "gap_to_target": 40,
        "gap_to_top_quartile": 24,
        "gap_to_strong": 80,
        "cache_ttl_seconds": 300
    },
    "audit_receipt": {
        "url": "https://baby.weser-kurier.de/",
        "host": "baby.weser-kurier.de",
        "status": "verfügbar",
        "bot_url": "https://saferpage.de/bot",
        "summary": "Prüfbeleg für baby.weser-kurier.de: kontrollierter HTTP-/Browser-Kurzcheck mit 74 Request(s), 4 Consent-Zustand/Zuständen und 7 Artefakt(en).",
        "renderer": "playwright-chromium",
        "artifacts": [
            {
                "label": "Öffentlicher Kurzreport",
                "detail": "https://saferpage.de/baby.weser-kurier.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/baby.weser-kurier.de-160x150-13aaf095597f43f261.png",
                "status": "verfügbar"
            },
            {
                "label": "Cookie-Erklärung",
                "detail": "4 Cookie-/Storage-Eintrag/Einträge.",
                "status": "prüfen"
            },
            {
                "label": "Empfänger-/Anbieterinventar",
                "detail": "7 Anbieterzeile(n), 6 AVV-/Rollenprüfung(en).",
                "status": "kritisch"
            },
            {
                "label": "Barrierefreiheitserklärung-Entwurf",
                "detail": "1 bekannte Barrierefreiheits-Punkt(e).",
                "status": "Nicht vollständig konform im automatischen Basischeck"
            }
        ],
        "available": true,
        "final_url": "https://baby.weser-kurier.de/",
        "checked_at": "2026-06-15T09:47:32+00:00",
        "share_text": "SaferPage Prüfbeleg baby.weser-kurier.de: 74 Browser-Request(s), 7 Drittanbieter, 4 Cookie-/Storage-Einträge, geprüft am 2026-06-15T09:47:32.",
        "user_agent": "SaferPageCrawler/0.3 (+https://saferpage.de/bot; schedules passive DACH website checks; report examples: https://saferpage.de/tests)",
        "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": "74 Request(s), 7 Drittanbieter-Domain(s), 0 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": "7 Anbieterzeile(n) im öffentlichen Nachweis."
            },
            {
                "label": "Cookie-Auszug",
                "value": "0 Cookie-Zeile(n) im öffentlichen Nachweis."
            }
        ],
        "confidence_score": 67,
        "browser_final_url": "https://baby.weser-kurier.de/"
    },
    "evidence_integrity_manifest": {
        "host": "baby.weser-kurier.de",
        "status": "verfügbar",
        "summary": "Integritätsmanifest für baby.weser-kurier.de: 9/9 Nachweisbereich(e) mit SHA-256-Hash dokumentiert.",
        "sections": [
            {
                "id": "audit_receipt",
                "hash": "940dee326ff2531ff625de016f68b4c66ba5dad2bfeb02b5ed57aa64525bc4f1",
                "count": 18,
                "label": "Prüfbeleg",
                "detail": "Kanonischer JSON-Hash des kompakten Prüfbelegs.",
                "status": "verfügbar"
            },
            {
                "id": "protocol",
                "hash": "227f9f6245bd8a771e9c86b2a5e46870722e85424989d495147e92a7c30688f1",
                "count": 15,
                "label": "Scan-Protokoll",
                "detail": "URL, Endziel, User-Agent, Zeitstempel, HTTP/DNS/TLS und Renderer.",
                "status": "verfügbar"
            },
            {
                "id": "checkpoints",
                "hash": "a1311a384070aa010342f3590182f824c18e3a7518e3ddea68f82e058d7365dd",
                "count": 6,
                "label": "Prüfschritte",
                "detail": "Kanonischer JSON-Hash der dokumentierten Prüfstationen.",
                "status": "verfügbar"
            },
            {
                "id": "consent_states",
                "hash": "cba77e6fc9fb8b08f9a1008f43ca8fe42848c35735ba1b0c0227370ec9db9060",
                "count": 4,
                "label": "Consent-Zustände",
                "detail": "Default-, Ablehnen-, Akzeptieren- und GPC-Nachweise soweit verfügbar.",
                "status": "verfügbar"
            },
            {
                "id": "third_party_evidence",
                "hash": "da9ca64a400c7c49faff7f0cfdd0070d93eb5f902e0249731a21989101382eeb",
                "count": 7,
                "label": "Drittanbieter-Auszug",
                "detail": "Sanitisierte Anbieter-, Kategorie-, Transfer- und Request-Zählwerte.",
                "status": "verfügbar"
            },
            {
                "id": "cookie_evidence",
                "hash": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945",
                "count": 0,
                "label": "Cookie-Auszug",
                "detail": "Sanitisierte Cookie-Metadaten ohne Cookie-Werte.",
                "status": "leer"
            },
            {
                "id": "request_samples",
                "hash": "5eacfe00c2befe1c764332fd7f4eb38afabd979636e7744d2ba65e4bd64b1a86",
                "count": 10,
                "label": "Request-Samples",
                "detail": "Sanitisierte Drittanbieter-Samples ohne vollständige Request-URLs.",
                "status": "verfügbar"
            },
            {
                "id": "checked_pages",
                "hash": "0ac85e46949e67dcfec205b7dc3a82c74974df1557f56e02dc3dcf7210e159e5",
                "count": 8,
                "label": "Geprüfte Unterseiten",
                "detail": "Priorisierte Pfade aus Sitemap, Pflichtseiten und interner Linkstruktur.",
                "status": "verfügbar"
            },
            {
                "id": "screenshot_file",
                "hash": "4a4ce26e6abd2d8021dd5b6c02680029f3d24546588bbce0f9d55c525840c899",
                "count": 9989,
                "label": "160x150 Seitenvorschau-Datei",
                "detail": "/cache/screenshots/baby.weser-kurier.de-160x150-13aaf095597f43f261.png",
                "status": "verfügbar"
            }
        ],
        "algorithm": "sha256",
        "available": true,
        "root_hash": "453b514cb8cca88ae3fb249a875218970c3cb19855efbef1508345faf2648de8",
        "checked_at": "2026-06-15T09:47: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 74 Browser-Request(s), 0 Cookie-Nachweis(en), 7 Drittanbieter-Auszug/auszügen und 4 Consent-Zustand/Zuständen.",
        "protocol": {
            "host": "baby.weser-kurier.de",
            "dns_ok": true,
            "tls_ok": true,
            "bot_url": "https://saferpage.de/bot",
            "renderer": "playwright-chromium",
            "final_url": "https://baby.weser-kurier.de/",
            "input_url": "https://baby.weser-kurier.de/",
            "checked_at": "2026-06-15T09:47:32+00:00",
            "user_agent": "SaferPageCrawler/0.3 (+https://saferpage.de/bot; schedules passive DACH website checks; report examples: https://saferpage.de/tests)",
            "http_status": 200,
            "scan_context": "crawler",
            "screenshot_url": "/cache/screenshots/baby.weser-kurier.de-160x150-13aaf095597f43f261.png",
            "googlebot_status": 200,
            "browser_final_url": "https://baby.weser-kurier.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://baby.weser-kurier.de/.",
                "status": "ok"
            },
            {
                "label": "Browserlauf",
                "detail": "74 Request(s), 7 Drittanbieter-Domain(s).",
                "status": "ok"
            },
            {
                "label": "Consent-Zustände",
                "detail": "Default, Ablehnen, Akzeptieren und GPC werden soweit möglich gegenübergestellt.",
                "status": "prüfen"
            },
            {
                "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": "/anzeige-aufgeben/anzeigenschaltung-und-kontakt",
                "source": "homepage_link",
                "status": 0,
                "category": "kontakt"
            },
            {
                "path": "/kontakt",
                "source": "homepage_link",
                "status": 0,
                "category": "kontakt"
            },
            {
                "path": "/anzeige-aufgeben/preise-und-musterbuch",
                "source": "homepage_link",
                "status": 0,
                "category": "preise"
            },
            {
                "path": "/alles-fuers-baby",
                "source": "homepage_link",
                "status": 0,
                "category": "unterseite"
            },
            {
                "path": "/alles-fuers-baby/erstausstattung/baby-flaeschchen",
                "source": "homepage_link",
                "status": 0,
                "category": "unterseite"
            },
            {
                "path": "/alles-fuers-baby/erstausstattung/babybett-kaufen",
                "source": "homepage_link",
                "status": 0,
                "category": "unterseite"
            },
            {
                "path": "/alles-fuers-baby/erstausstattung/gefahren-zuhause",
                "source": "homepage_link",
                "status": 0,
                "category": "unterseite"
            },
            {
                "path": "/alles-fuers-baby/erstausstattung/hungersignale",
                "source": "homepage_link",
                "status": 0,
                "category": "unterseite"
            }
        ],
        "cookie_evidence": [],
        "browser_evidence": {
            "gpc_enabled": true,
            "request_count": 74,
            "storage_total": 4,
            "accept_clicked": true,
            "reject_clicked": false,
            "browser_cookie_count": 0,
            "contacted_domain_count": 8,
            "third_party_domain_count": 7,
            "storage_tracking_hint_count": 2,
            "privacy_relevant_domain_count": 3
        },
        "storage_evidence": {
            "tracking_key_hints": [
                "consent",
                "consent"
            ],
            "local_storage_total": 4,
            "session_storage_total": 0
        },
        "third_party_evidence": [
            {
                "host": "securepubads.g.doubleclick.net",
                "category": "Werbung",
                "provider": "Google DoubleClick",
                "transfer": "Drittland/USA",
                "risk_level": "hoch",
                "request_count": 2,
                "resource_types": [
                    "script"
                ],
                "privacy_relevant": true
            },
            {
                "host": "pagead2.googlesyndication.com",
                "category": "Werbung",
                "provider": "Google AdSense",
                "transfer": "Drittland/USA",
                "risk_level": "mittel",
                "request_count": 1,
                "resource_types": [
                    "fetch"
                ],
                "privacy_relevant": true
            },
            {
                "host": "googletagmanager.com",
                "category": "Tag-Manager",
                "provider": "Google Tag Manager",
                "transfer": "Drittland/USA",
                "risk_level": "mittel",
                "request_count": 1,
                "resource_types": [
                    "script"
                ],
                "privacy_relevant": true
            },
            {
                "host": "cdn.consentmanager.net",
                "category": "Sonstige",
                "provider": "cdn.consentmanager.net",
                "transfer": "Jurisdiktion unklar",
                "risk_level": "niedrig",
                "request_count": 5,
                "resource_types": [
                    "image",
                    "script"
                ],
                "privacy_relevant": false
            },
            {
                "host": "data-8c0b0197a5.weser-kurier.de",
                "category": "Sonstige",
                "provider": "data-8c0b0197a5.weser-kurier.de",
                "transfer": "EU/EWR",
                "risk_level": "niedrig",
                "request_count": 5,
                "resource_types": [
                    "script",
                    "xhr"
                ],
                "privacy_relevant": false
            },
            {
                "host": "c.delivery.consentmanager.net",
                "category": "Sonstige",
                "provider": "c.delivery.consentmanager.net",
                "transfer": "Jurisdiktion unklar",
                "risk_level": "niedrig",
                "request_count": 1,
                "resource_types": [
                    "image"
                ],
                "privacy_relevant": false
            },
            {
                "host": "d.delivery.consentmanager.net",
                "category": "Sonstige",
                "provider": "d.delivery.consentmanager.net",
                "transfer": "Jurisdiktion unklar",
                "risk_level": "niedrig",
                "request_count": 1,
                "resource_types": [
                    "script"
                ],
                "privacy_relevant": false
            }
        ],
        "external_script_count": 2,
        "consent_state_evidence": [
            {
                "label": "Erstaufruf",
                "cookie_count": 0,
                "domain_count": 7,
                "request_count": 16,
                "storage_tracking_hint_count": 0,
                "privacy_relevant_domain_count": 3
            },
            {
                "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": 12,
                "request_count": 20,
                "storage_tracking_hint_count": 0,
                "privacy_relevant_domain_count": 4
            },
            {
                "label": "GPC-Aufruf",
                "cookie_count": 0,
                "domain_count": 6,
                "request_count": 15,
                "storage_tracking_hint_count": 0,
                "privacy_relevant_domain_count": 2
            }
        ],
        "request_sample_evidence": [
            {
                "host": "securepubads.g.doubleclick.net",
                "query_keys": [],
                "resource_type": "script",
                "query_key_count": 0,
                "referrer_has_path": false,
                "referrer_has_query": false,
                "sensitive_query_key_count": 0
            },
            {
                "host": "data-8c0b0197a5.weser-kurier.de",
                "query_keys": [],
                "resource_type": "script",
                "query_key_count": 0,
                "referrer_has_path": false,
                "referrer_has_query": false,
                "sensitive_query_key_count": 0
            },
            {
                "host": "data-8c0b0197a5.weser-kurier.de",
                "query_keys": [],
                "resource_type": "script",
                "query_key_count": 0,
                "referrer_has_path": false,
                "referrer_has_query": false,
                "sensitive_query_key_count": 0
            },
            {
                "host": "d.delivery.consentmanager.net",
                "query_keys": [
                    "id",
                    "h",
                    "l",
                    "o"
                ],
                "resource_type": "script",
                "query_key_count": 4,
                "referrer_has_path": false,
                "referrer_has_query": false,
                "sensitive_query_key_count": 0
            },
            {
                "host": "cdn.consentmanager.net",
                "query_keys": [],
                "resource_type": "script",
                "query_key_count": 0,
                "referrer_has_path": false,
                "referrer_has_query": false,
                "sensitive_query_key_count": 0
            },
            {
                "host": "data-8c0b0197a5.weser-kurier.de",
                "query_keys": [],
                "resource_type": "script",
                "query_key_count": 0,
                "referrer_has_path": false,
                "referrer_has_query": false,
                "sensitive_query_key_count": 0
            },
            {
                "host": "googletagmanager.com",
                "query_keys": [
                    "id"
                ],
                "resource_type": "script",
                "query_key_count": 1,
                "referrer_has_path": false,
                "referrer_has_query": false,
                "sensitive_query_key_count": 0
            },
            {
                "host": "data-8c0b0197a5.weser-kurier.de",
                "query_keys": [],
                "resource_type": "script",
                "query_key_count": 0,
                "referrer_has_path": false,
                "referrer_has_query": false,
                "sensitive_query_key_count": 0
            },
            {
                "host": "data-8c0b0197a5.weser-kurier.de",
                "query_keys": [],
                "resource_type": "xhr",
                "query_key_count": 0,
                "referrer_has_path": false,
                "referrer_has_query": false,
                "sensitive_query_key_count": 0
            },
            {
                "host": "cdn.consentmanager.net",
                "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": "accept_without_visible_reject_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": 0,
        "settings_control_count": 1,
        "visible_control_count": 27,
        "accept_max_area": 9035,
        "reject_max_area": 0,
        "reject_prominence_ratio": "nicht messbar",
        "samples": [
            {
                "kind": "accept",
                "text": "Accept all",
                "tag": "a",
                "width": 250,
                "height": 36,
                "area": 9035,
                "top": 698,
                "left": 387,
                "font_weight": "400"
            },
            {
                "kind": "settings",
                "text": "Settings",
                "tag": "a",
                "width": 250,
                "height": 32,
                "area": 8035,
                "top": 754,
                "left": 387,
                "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."
    }
}