Live-Domain-Report

kap-forum.de Datenschutz-Check

Scan-ID: 8168eec4-520d-411d-8a5b-c4b666c4c230 · 2026-06-19 19:17:16.139774+02

Geprüfte Domain-Wurzel: https://kap-forum.de/

Kurz-URL: saferpage.de/kap-forum.de

Kleine Seitenvorschau von kap-forum.de
Screenshot-Vorschau 160x150 · vollständig sichtbar · Headless Chromium · preview_available · page_preview

Datenschutz-Score

59/100 Hinweise gefunden

In 20 Sekunden lesen

Was ist bei kap-forum.de wirklich wichtig?

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

Was ist das Ergebnis?Score 59/100 · Hinweise gefunden. Der Wert ist Priorisierung, kein Urteil.Warum ist der Score so?Score-Erklärung öffnenWas wurde tatsächlich gesehen?89 Request(s), 1 Datenschutz-Domain(s), 1 Cookie(s) vor Einwilligung, 4 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 Sache des Betreibers.
Belegbar5 technische Evidence-Punkte aus dem gespeicherten passiven Lauf.Hintergrund-LinkMehr erfahrenNicht behaupten3 Claim-Grenzen: keine Rechtsfreigabe, kein Zertifikat, kein abschließendes Seriositätsurteil.Fix-PfadFixpfad öffnenNachweiseMethodik · Evidence-Hub

Score-Erklärung

Warum ist der Score so?

Diese Erklärung macht die Gesamtaussage lesbar: Score-Treiber, entlastende Signale, Gate-/Grenzsignale und manuelle Prüfpunkte bleiben getrennt. Der Score ist kein Verbot, kein Gütesiegel und keine Rechtsfreigabe. Score-Methodik öffnen

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

1 Cookie(s) vor Einwilligung im gespeicherten Lauf.

1 datenschutzrelevante Drittanbieter-Domain(s) aus Browserkontakten.

4 Formular(e) auf 4 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.

Möglicherweise nicht notwendige Cookies vor Einwilligung: Nicht notwendige Cookies vor Einwilligung prüfen und blockieren.

Quelle
Scan-Evidence
Entlastende SignaleGegenueber dem Gesamtwert separat lesen

0 Tracking-Script(s) im gespeicherten Lauf.

Kein Google-Tag, keine Google-Domain und keine Google-Tracking-ID belegt.

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 75: priorisierte Betreiberpruefung empfohlen.

4 manuelle Review-Ausloeser aus der Scope-Grenze.

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

Grenze
manuell pruefen

Mehr erfahren

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.

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-GrenzeneinGoogle-Consent aus Evidenz
GeprüftAutomatische Evidence aus dem passiven Lauf

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

Cookies und Consent-Startzustand: 1 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: 4 Formular(e) auf 4 Seite(n) erkannt.

Status
belegt

Methodik-Grenzen öffnen

Mehr erfahren

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.

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

/datenschutzdatenschutz · HTTP 200 · Tracking 0 · Cookies 0 · Formulare 1 · Ablehnen ja/impressumimpressum · HTTP 200 · Tracking 0 · Cookies 0 · Formulare 1/kontaktkontakt · HTTP 200 · Tracking 0 · Cookies 0 · Formulare 1/1894-2unterseite · HTTP 200 · Tracking 0 · Cookies 0 · Formulare 1

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.

Domainkap-forum.de Score59 Scan-ID8168eec4-520d-411d-8a5b-c4b666c4c230 Erstellt2026-06-19 19:17:16.139774+02 Öffentlicher Linksaferpage.de/kap-forum.de ExportPDF/Druck, JSON, CSV, XLSX, ZIP-Nachweise
DNS erreichbarAdressen: 1
HTTPS-Zertifikat gültigTLS: TLSv1.3
HTTP-Status 200Endziel: https://www.kap-forum.de/

Link-only

Die wichtigsten Befunde zuerst

Dieser Report zeigt Scan-Fakten zur geprüften Website. Umsetzungsschritte, Hintergrundseiten, Checklisten, Code und allgemeine Empfehlungen stehen auf getrennten Seiten; im Report erscheint nur der Link.

3priorisierte Scan-Hinweise3hoch gewichtete Scan-HinweiseLink-onlykeine Hintergrundinhalte im ReportFaktenReport 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 stehen auf separaten Seiten; hier bleiben Evidence und Link.
Gewicht
88/100
Mehr dazu
öffnen
Möglicherweise nicht notwendige Cookies vor Einwilligunghoch · TDDDG/ePrivacy

Scan-Hinweis aus dem gespeicherten Lauf; Umsetzungstext steht auf einer separaten Seite.

Guide-, Checklisten- und Umsetzungstexte stehen auf separaten Seiten; hier bleiben Evidence und Link.
Gewicht
78/100
Mehr dazu
öffnen
Consent-Banner wirkt im Browser wie Akzeptieren-onlyhoch · TDDDG/ePrivacy

Consent-Banner darf nicht nur wie eine Akzeptieren-Abfrage wirken.

Guide-, Checklisten- und Umsetzungstexte stehen auf separaten Seiten; hier bleiben Evidence und Link.
Gewicht
78/100
Mehr dazu
öffnen

Betreiber-Fazit

Vor Nutzung prüfen

Die Website hat auffällige Datenschutz- oder Vertrauenssignale. Für reine Information kann sie nutzbar sein, bei Daten oder Zahlungen ist Vorsicht sinnvoll.

Auffällige SignaleMöglicherweise nicht notwendige Cookies vor EinwilligungConsent-Banner wirkt im Browser wie Akzeptieren-onlyDateneingabe und datenschutzrelevante Drittanbieter im selben BrowseraufrufCanonical zeigt auf fremde Domain
Entlastende SignaleBetreiber und Datenschutz sind auffindbarDateneingabe hat KontextNutzbarkeit wirkt solideTechnisches Vertrauenssignal
Datenschutz & Trackingauffällig0 Tracking-Script(s), 1 Cookie(s) vor Einwilligung, 1 datenschutzrelevante Drittanbieter.
DateneingabeprüfenCrawl fand 4 Formular(e) auf 4 geprüften Seite(n), u. a. /datenschutz, /impressum, /kontakt, /1894-2.
BrowserkontakteauffälligChromium sah 89 Request(s), 2 Drittanbieter-Domain(s), davon 1 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.

Mehr erfahren

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 · hoch · 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
Sicherheit, TLS & Header34
kritisch

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

Details und Umsetzungshinweise stehen auf separaten Seiten; sichtbar bleiben Modulscore, Evidence und Link.Mehr erfahren
Barrierefreiheit & Usability52
auffällig

9 Bild(er) ohne alt, 0 Formularfeld(er) ohne Beschriftung, 2 Button(s) ohne Namen.

Details und Umsetzungshinweise stehen auf separaten Seiten; sichtbar bleiben Modulscore, Evidence und Link.Mehr erfahren
Datenschutz, Cookies & Consent54
auffällig

Scan-Evidence in diesem Modul vorhanden; Betreiberkontext steht auf einer separaten Seite.

Details und Umsetzungshinweise stehen auf separaten Seiten; sichtbar bleiben Modulscore, Evidence und Link.Mehr erfahren
Browser-Nachweis64
auffällig

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

Details und Umsetzungshinweise stehen auf separaten Seiten; sichtbar bleiben Modulscore, Evidence und Link.Mehr erfahren
SEO-Integrität & Cloaking64
auffällig

2 SEO-Spam-Hinweis(e), 0 Cloaking-Hinweis(e).

Details und Umsetzungshinweise stehen auf separaten Seiten; sichtbar bleiben Modulscore, Evidence und Link.Mehr erfahren
Formulare, Login & Zahlung82
prüfen

Crawl fand 4 Formular(e) auf 4 geprüften Seite(n), u. a. /datenschutz, /impressum, /kontakt, /1894-2.

Details und Umsetzungshinweise stehen auf separaten Seiten; sichtbar bleiben Modulscore, Evidence und Link.Mehr erfahren
Google-Dienste & Drittanbieter100
unauffällig

Keine Google-Domain, keine Google-Tracking-ID und keine datenschutzrelevanten Drittanbieter im passiven Check erkannt.

Details und Umsetzungshinweise stehen auf separaten Seiten; sichtbar bleiben Modulscore, Evidence und Link.Mehr erfahren
PII, URL-Parameter & Datenleck-Schutz82
prüfen

1 PII-/Datenleck-Hinweis(e) aus URL-, Formular- und Browserkontext.

Details und Umsetzungshinweise stehen auf separaten Seiten; sichtbar bleiben Modulscore, Evidence und Link.Mehr erfahren

Mehr erfahren

Link-only Detailmodule

Detailseiten statt eingebettetem Hintergrund

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

Nachweise öffnenPrüfbeleg, Exportpaket und Hash-NachweiseMonitoring öffnenScan-Verlauf, Änderungen und WiederholungsscansMethodik öffnenGrenzen, Crawl-Verhalten und PrüfprofilPriorisierte Scan-Hinweise als JSON anzeigenMaschinenlesbare Befunde mit Evidence und Link

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
Aktuell · 2026-06-19 19:17Score 59 · 26 Hinweis(e)Früher · 2026-06-19 18:50Score 59 · 26 Hinweis(e)

Änderungen

Neue und behobene Hinweise

Score vorher: 59 · jetzt: 59 · 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.

BSI/Security-Headermittel · 4 Hinweis(e)Detailseite öffnenTDDDG/ePrivacyhoch · 4 Hinweis(e)Detailseite öffnenBarrierefreiheit/Usabilitymittel · 2 Hinweis(e)Detailseite öffnenDSGVO/Transparenzmittel · 2 Hinweis(e)Detailseite öffnenGPC/Opt-out-Signalmittel · 2 Hinweis(e)Detailseite öffnenPII/Trackinghoch · 1 Hinweis(e)Detailseite öffnen

Regelwerks-Scorecard

DSGVOScore 10/100 · hoher Prüfbedarf · 6 Befund(e)Transparenz, Datenflüsse, Empfänger, Speicherdauer und technische Sicherheit personenbezogener Daten.Detailseite öffnenTDDDG/ePrivacyScore 0/100 · hoher Prüfbedarf · 6 Befund(e)Cookies, Endgerätezugriff, Tracking, Consent-Zustände, GPC und Widerruf.Detailseite öffnenBFSG/WCAGScore 72/100 · prüfen · 2 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 86/100 · prüfen · 1 Befund(e)Impressum, Kontakt, Anbieterkennzeichnung und erkennbare Betreiberidentität.Detailseite öffnen

Regelwerks-Matrix

TDDDG/ePrivacyhoch · 6 Befund(e) · Score 112Detailseite öffnenBSI/Sicherheitmittel · 9 Befund(e) · Score 86Detailseite öffnenDSGVO Transparenzmittel · 3 Befund(e) · Score 42Detailseite öffnenBITV/Usabilitymittel · 2 Befund(e) · Score 28Detailseite öffnenDSGVO Datenleck/PIIhoch · 1 Befund(e) · Score 28Detailseite öffnenBetreibervertrauenmittel · 1 Befund(e) · Score 14Detailseite öffnen

Domainhistorie

Wie lange gibt es die Domain?

RDAP liefert kein klares Registrierungsdatum.

Letzte Änderung2020-12-17Statusactive

Datenschutz zuerst

Was sieht ein Nutzer beim ersten Aufruf?

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

Dateneingabe & Zahlung

Welche Daten könnte die Seite abfragen?

Crawl fand 4 Formular(e) auf 4 geprüften Seite(n). Datenschutzkontext: ja · Details auf der verlinkten Seite

9Formulare insgesamt erkannt4aus gecrawlten Test-URLs4Formular-UnterseitenverlinktDatenschutzkontextHintergrund-LinkDetails auf der verlinkten Seite

Mehr erfahren

/datenschutzCrawl · 1 Formular(e)/impressumCrawl · 1 Formular(e)/kontaktCrawl · 1 Formular(e)/1894-2Crawl · 1 Formular(e)E-Mail1 Signal(e)Newsletter1 Signal(e)Kontaktformular1 Signal(e)E-MailFormular · 1 Feld(er)FormularFormular · 0 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

Mehr erfahren

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 · 1 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: 89 · kontaktierte Domains: 3 · Drittanbieter: 2 · Browser-Cookies: 1 · Storage: 0 (0 Tracking-Hinweis(e)) · Banner: Akzeptieren 1 / Ablehnen 0 / Einstellungen 0 · Ablehnen/Akzeptieren: 0 · Reject-Test: nicht gefunden, neue Cookies 0, neue Tracking-Kontakte 0 · Accept-Test: geklickt, neue Cookies 1, neue Tracking-Kontakte 0 · TCF-String: nein, Purposes 0, Vendors 0 · GPC: aktiv, Datenschutz-Domains 1, Drittanbieter-Cookies 1 · Viewport-Signale: Datenschutz 1 / Impressum 0 / Kontakt 2 / Cookie 1 · CMP: nein · Browser: playwright-chromium

Zwecke

other1 Domain(s)Analytics1 Domain(s)

CMP & Storage

TCF TC-StringneinTCF Purposes0TCF Vendors0Akzeptieren1Ablehnen0Einstellungen0Ablehnen/Akzeptieren0Reject-TestoffenNeue Cookies nach Ablehnen0Tracking-Storage nach Ablehnen0Neue Tracking-Kontakte0Accept-TestgeklicktNeue Requests nach Akzeptieren0Neue Cookies nach Akzeptieren1Neue Tracking-Kontakte nach Akzeptieren0GPC-SignalaktivGPC Datenschutz-Domains1GPC Drittanbieter-Cookies1GPC Storage-Hinweise0

Viewport-Transparenz

Diskurs Programm Nachlesen Magazin Über uns Kontakt / NewsletterKontakt · x700 y101Kontakt / NewsletterKontakt · x700 y238Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verwCookie/Consent · x0 y835DATENSCHUTZERKLÄRUNGDatenschutz · x446 y896

Drittanbieter

MatomoAnalytics · 2 Request(s) · scriptfast.fonts.netSonstige · 1 Request(s) · stylesheet

Consent-Zustände

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

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

Mehr erfahren

ErstaufrufCookies 1 · neu 1 · Tracking-Storage 0 · Datenschutz-Domains 1 · mittelNach AblehnenCookies 1 · neu 0 · Tracking-Storage 0 · Datenschutz-Domains 0 · niedrigNach AkzeptierenCookies 2 · neu 1 · Tracking-Storage 0 · Datenschutz-Domains 0 · infoGPC-AufrufCookies 1 · neu 0 · Tracking-Storage 0 · Datenschutz-Domains 1 · mittel

Consent-Journey

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

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

Mehr erfahren

MatomoAnalytics · Erstaufruf 2 · Ablehnen neu 0 · Akzeptieren neu 0 · GPC 2fast.fonts.netSonstige · Erstaufruf 1 · Ablehnen neu 0 · Akzeptieren neu 0 · GPC 1

Drittanbieter-Kontakte

Wer bekommt beim ersten Aufruf technische Kontaktpunkte?

2 Drittanbieter-Domain(s) beim ersten Browseraufruf, davon 1 datenschutzrelevant. Score: 85 · Requests: 3 · datenschutzrelevant: 1

Mehr erfahren

Matomohoch · Analytics · 2 Request(s) · script:2 · matomo.kap-forum.defast.fonts.netniedrig · Sonstige · 1 Request(s) · stylesheet:1

Betreiber-Verzeichnis

Empfänger- und Auftragsverarbeiter-Signale aus dem Scan

2 Empfänger-/Anbieter-Eintrag/Einträge aus Browserkontakten und Cookie-Inventar, 1 datenschutzrelevant, 2 mit AVV-/Rollenprüfung. Score: 90 · hoher Prüfbedarf: 0 · AVV/Rolle prüfen: 2
Aus diesem Rohfeld wird im Report keine zusätzliche Scan-Feststellung abgeleitet; Betreiberkontext und Umsetzungshinweise stehen auf separaten Seiten.

Mehr erfahren

Matomomittel · Analytics · Auftragsverarbeiter/Empfänger prüfen · EU/EWR oder selbst gehostet · 2 Request(s) · 0 Cookie(s) · matomo.kap-forum.defast.fonts.netniedrig · Sonstige · Technischer Empfänger prüfen · Jurisdiktion unklar · 1 Request(s) · 0 Cookie(s)

Transfer-Risiko

Drittanbieter mit Transfer- oder Jurisdiktionssignal

2 Drittanbieter für Transfer-/Jurisdiktionsprüfung, 0 mit hohem Prüfbedarf, 1 unklar. Score: 92 · hoher Prüfbedarf: 0 · unklar: 1

Transfer Impact Assessment öffnen

Mehr erfahren

Matomomittel · EU/EWR oder selbst gehostet · EU/selbst gehostet möglich · matomo.kap-forum.defast.fonts.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

Mehr erfahren

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

Referrer & URL-Leaks

Werden Seitenpfade oder Suchparameter an Drittanbieter sichtbar?

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

Mehr erfahren

Keine Referrer- oder URL-Leak-Hinweise aus den gespeicherten Chromium-Requests erkannt.

Tracking-Pixel & Beacons

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

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

Mehr erfahren

Keine Tracking-Pixel, Link-Pings oder Beacon-/Keepalive-Hinweise erkannt.

Fingerprinting & Session-Replay

Liest die Seite Browser-Merkmale oder Interaktionen aus?

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

Mehr erfahren

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-Listenerok · 2 Tastatur-/Input-Listener, 21 Interaktions-Listener, 0 MutationObserver.

Seitenabdeckung

Welche Unterseiten wurden gefunden?

30 interne Linkziele erkannt (120 aus Sitemap), 4 priorisierte Unterseite(n) zusätzlich abgerufen. Score: 100 · wichtige Seiten: datenschutz, impressum, kontakt · Sitemap-URLs: 120 · gelesene Sitemaps: 3 · Unterseiten mit Tracking: 0 · Formularlücken: 0 · Datenschutzerklärung: 93 Punkte, fehlende Bausteine 1 · Aktualität: nicht erkannt · Lesbarkeit: 10.7 Wörter/Satz · Anbieter-Abgleich: 1/1 erwähnt

Priorisierte Seiten

/datenschutzdatenschutz · HTTP 200 · Tracking 0 · Cookies 0 · Formulare 1 · Ablehnen ja/impressumimpressum · HTTP 200 · Tracking 0 · Cookies 0 · Formulare 1/kontaktkontakt · HTTP 200 · Tracking 0 · Cookies 0 · Formulare 1/1894-2unterseite · HTTP 200 · Tracking 0 · Cookies 0 · Formulare 1

Datenschutzerklärung

Verantwortlicher / AnbietergefundenKontakt / DatenschutzkontaktgefundenZwecke der VerarbeitunggefundenRechtsgrundlagengefundenBetroffenenrechtegefundenSpeicherfrist / LöschunggefundenEmpfänger / AuftragsverarbeitergefundenCookies / TrackinggefundenWiderruf / Opt-outgefundenBeschwerde bei AufsichtsbehördegefundenDrittlandtransfergefundenStand / Aktualitätsdatumfehlt

Anbieter-Abgleich

MatomoAnalytics · in Datenschutzerklärung erwähnt

Google Consent Mode

Kein Google-Consent-Mode-Fix aus dieser Evidence

Kein Google-Tag, keine Google-Domain und keine Google-Tracking-ID im passiven Check belegt.
SaferPage stellt deshalb keinen Google-Consent-Mode-Fehler dar; spätere Google-Tags brauchen einen neuen technischen Re-Scan.

Evidence-Grenzen öffnen

Google-Tagsnicht belegt Google-Consent-Domains0 Google-Service-Domains0 · nicht automatisch Consent-Mode-pflichtig

Consent-Audit

Hält die Seite Tracking bis zur Einwilligung zurück?

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

Prüfpunkte

Cookie-/Consent-Hinweis sichtbarokAblehnen gleichwertig erreichbarokEinstellungen oder Auswahl vorhandenpruefenAblehnen im sichtbaren BannerpruefenEinstellungen im sichtbaren BannerpruefenAblehnen nicht deutlich schwaecher dargestelltokAblehnen technisch klickbarokKeine neuen Cookies nach AblehnenokKein Tracking-Storage nach AblehnenokKeine neuen Tracking-Kontakte nach Ablehnenok

Consent reparieren

Mehr erfahren1 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), 0 datenschutzrelevante Drittanbieter.

Blockierplan

Mehr erfahren0 Browser-Request(s), 1 Cookie(s) vor Einwilligung, 0 datenschutzrelevante Drittanbieter.

Banner-UX

Wirkt das Consent-Banner fair und gleichwertig bedienbar?

Consent-Banner-UX: 3 auffällige Prüfpunkt(e), davon 1 hoch. Muster: Ablehnen nicht gleichwertig sichtbar. Score: 66 · Akzeptieren: 1 · Ablehnen: 0 · Einstellungen: 0 · 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: 0 · sichtbare Controls: 15 · 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

Mehr erfahren

UX-Prüfpunkte

Ablehnen auf erster Ebene sichtbarauffällig · hoch · Sichtbare Controls: Akzeptieren 1, Ablehnen 0, Einstellungen 0.Einstellungen sichtbar erreichbarauffällig · mittel · Einstellungs-/Auswahl-Controls im Banner: 0.Ablehnen und Akzeptieren wirken gleichwertigok · niedrig · Größenverhältnis Ablehnen/Akzeptieren: nicht messbar. Accept-Fläche 3012, 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), 0 Tracking-Storage-Hinweis(e), 0 neue Datenschutz-Domain(s).Akzeptieren-Wirkung nachvollziehbarok · niedrig · Accept-Test: geklickt; neue Cookies 1, neue Datenschutz-Domains 0.GPC-Aufruf ohne neue Tracking-Hinweiseauffällig · mittel · GPC: Datenschutz-Domains 1, Drittanbieter-Cookies 1, Storage-Hinweise 0.Keine Tracking-Cookies vor Einwilligungok · niedrig · 0 Tracking-Cookie(s) im Erstaufruf.

Gemessene Control-Proben

Akzeptieren: OK61x49 · Flaeche 3012 · Position top 896 / left 283 · Tag button · 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: nein · Purposes Consent: 0 · Purposes LI: 0 · Vendor Consent: 0 · Vendor LI: 0

Mehr erfahren

Keine auswertbaren IAB-TCF-Signale im Browserzustand erkannt.

Quellenmatrix

Welche offiziellen Quellen stützen die Einordnung?

Quellen und Betreiber-Background stehen auf separaten Seiten.
Dieser Report zeigt dazu nur Zähler und Link; Quellenkommentare sind kein Befund zur geprüften Website.

Quellen: 9 · offizielle Links: 5

Methodik und Quellen öffnen9 Referenzzeile(n) stehen auf separaten Seiten; 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 Sache des Betreibers und ist als Guide verlinkt.

Einwilligungsbezug: 6 · vor Consent auffällig: 1 · unklar/prüfen: 7 · Drittanbieter: 2 · Storage: 0

Detailprüfung, Rechtsbewertung und Umsetzungshinweise werden nicht im Report angezeigt.

Mehr erfahren

Mehr erfahren

Disclosure-Abgleich

Passt die Datenschutzerklärung zur beobachteten Technik?

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

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

Lücken

Stand / Aktualitätsdatumpflichtbaustein · Datenschutzerklärung · fehlt

Datenschutzhinweis

Welche Disclosure-Signale wurden gesehen?

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

Mehr erfahren

Scan-Zähler

Mehr erfahren3 Zwecksignal(e), 3 Datenart(en), 2 Lückenhinweis(e); Entwurfstexte stehen auf separaten Seiten.

Cookie-Signale

__cf_bmUnklar · unklar, prüfen · kurz (0 Tage) · vor Consent

Drittanbieter-Signale

MatomoAnalytics · EU/EWR oder selbst gehostet · mittel · datenschutzrelevantfast.fonts.netSonstige · Jurisdiktion unklar · mittel

Web-Storage-Signale

Keine Web-Storage-Zeilen für den Entwurf vorhanden.

Cookie-Inventar

Welche Cookies wurden beim ersten Aufruf gesehen?

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

Mehr erfahren

Cookie-Disclosure

Welche Cookie-Signale wurden gesehen?

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

Mehr erfahren

Barrierefreiheit & Usability

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

17 Bild(er), 1 Formularfeld(er), 6 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft. Score: 52
3 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 alt9Felder ohne Label0Buttons ohne Namen2HTML langjaH10Viewportja

WCAG/EAA-Prüfpunkte

Alternativtexte für BilderWCAG 1.1.1 Non-text Content · prüfen · Impact mittel · 9 von 17 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 1 Formularfeld(er) ohne erkennbare Beschriftung.Buttons mit Namen versehenWCAG 4.1.2 Name, Role, Value · prüfen · Impact hoch · 2 von 6 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 · prüfen · Impact mittel · 0 H1 und 3 Ü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 stehen auf separaten Seiten.

Mehr erfahren

Mehr erfahren3 bekannte Issue-Signal(e) aus dem Scan.Alternativtexte für BilderWCAG 1.1.1 Non-text Content · Impact mittel · 9 von 17 Bild(er) ohne alt-Text im HTML-Sample.Buttons mit Namen versehenWCAG 4.1.2 Name, Role, Value · Impact hoch · 2 von 6 Button(s) ohne erkennbaren Namen.ÜberschriftenstrukturWCAG 1.3.1 Info and Relationships / 2.4.6 Headings and Labels · Impact mittel · 0 H1 und 3 Überschrift(en) im HTML-Sample.

DSGVO, Cookies & Tracking

Welche Datenschutz-Signale fallen auf?

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

Tracking

Keine bekannten Tracking-Scripts erkannt.

Cookies

Keine Set-Cookie-Header erkannt.

Seiteninhalt & Keywords

Worum geht es auf der Seite?

KAP Forum für Architektur & Stadtentwicklung
Willkommen auf der Website des KAP-Forums. Hier bekommen Sie einen Überblick über unsere Veranstaltungen, Redner und Büros. Architektur für alle!

teil13forum5architektur4bauen4stadtentwicklung2unsere2weniger2denken2

Technologie-Erkennung

Womit wurde die Seite gebaut?

Server: Apache · Powered-by: nicht erkannt · Generator: Powered by WPBakery Page Builder - drag and drop page builder for WordPress.

MatomoAnalyticsPowered by WPBakery Page Builder - drag and drop page builder for WordPress.CMSWordPressCMSjQueryLibraryApacheServer

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: ja

Keine auffälligen Impressum-/DSGVO-Muster erkannt.

Performance / PageSpeed-Basis

Wirkt die Seite schnell und mobil nutzbar?

Score: 94 · Antwortzeit: 204 ms · HTML: 0 Bytes · Viewport: ja

Viele potenziell blockierende Assetsinfo

Infrastruktur & TLS-Vertrauen

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

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

DMARC fehltinfoCAA-Record 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

Mehr erfahren

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

Header-Vorlagen

Mehr erfahren0 vorhanden, 9 fehlen, 0 prüfen.

CSP-Qualität

Keine Content-Security-Policy gefunden.

Skript-Lieferkette

Externe Skript-Lieferkette aus dem gespeicherten Scan

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

Mehr erfahren

Keine externen Skripte im Startseiten-Sample erkannt.

Zusammenhänge & Servernetzwerk

Verbindungs- und Servernetz-Signale aus dem Scan

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

Signale

Keine gemeinsamen IDs, gleiche-IP-Nachbarn oder gespeicherten Backlink-Hinweise erkannt.

Servernetz

78.47.8.244IPv4 · dedi5443.your-server.de78.47.8.0/24sichtbares Netz

SEO, Verhalten & Cloaking

Gibt es manipulative Signale?

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

Canonical zeigt auf fremde DomainwarningSehr viele externe Links erkanntwarning

Weitere technische Signale

Index-, KI-Crawler-, AdTech- und security.txt-Signale

Öffentlich abrufbare Same-Origin-Signale aus robots.txt, Sitemaps, Meta-/X-Robots, KI-/Crawler-Policys, ads.txt/sellers.json, security.txt und Hreflang. Jede Zeile ist ein technischer Beleg, kein abschließendes Urteil.

120Sitemap-URLs im passiven Lauf1Index-Direktiven (Meta/X-Robots)0explizite KI-Bot-Regeln0AdTech-Transparenzdateien0security.txt-Ziele0Hreflang-Alternates
Robots & SitemapCrawl-Scope-Evidence vorhanden
Der passive Coverage-Check hat robots.txt erfolgreich abgerufen, 3 Sitemap-Quelle(n) gelesen, 2 Sitemap-Kandidat(en) gesehen, 120 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, max-image-preview:large, max-snippet:-1, max-video-preview:-1.
Indexierungs-Grenzen öffnen
KI-/Crawler-PolicyPolicy-Dateien gesehen
Der passive Same-Origin-Check sah 1 von 5 festen Policy-Datei(en), 0 llms/AI/WARD-Datei(en) und 0 explizite KI-Bot-Regel(n) in robots.txt. robots.txt: generic_robots_policy; llms/AI/WARD: not_publicly_verified.
KI-/Crawler-Grenzen öffnen
AdTech-Transparenzdateiennicht belegt
Der passive Same-Origin-Check sah 0 von 3 AdTech-Datei(en), 0 ads.txt-Zeile(n), 0 app-ads.txt-Zeile(n), DIRECT 0, RESELLER 0, Exchange-Domains 0 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
Hreflang-/Sprachalternativennicht belegt
Der passive Lauf hat keine Hreflang-Alternates als Schwerpunkt gespeichert.
Mehr erfahren

Methodik-Grenzen öffnen

Alle Hinweise

Möglicherweise nicht notwendige Cookies vor Einwilligung Wichtig für Nutzer Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • __cf_bm
Mehr erfahren
Consent-Banner wirkt im Browser wie Akzeptieren-only Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Mehr erfahren
Dateneingabe und datenschutzrelevante Drittanbieter im selben Browseraufruf Wichtig für Nutzer Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • Tracking-Signale auf einer Seite mit Dateneingabe/Formular erkannt
Mehr erfahren
Canonical zeigt auf fremde Domain Wichtig für Nutzer Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • https://www.kap-forum.de/
Mehr erfahren
Datenschutzrelevante Kontakte trotz GPC-Signal Wichtig für Nutzer Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • Trotz GPC: 1 Datenschutz-Domain(s), 1 Drittanbieter-Cookies
Mehr erfahren
Sehr viele externe Links erkannt Wichtig für Nutzer Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • 39 externe Links auf der Startseite
Mehr erfahren
Drittanbieter-Cookies trotz GPC-Signal Wichtig für Nutzer Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • 1 im Scan gezählt
Mehr erfahren
Consent-Zustand: GPC mit Tracking-Hinweisen Wichtig für Nutzer Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • GPC-Signal (Global Privacy Control) gesetzt – tatsächliche Wirkung manuell prüfen
Mehr erfahren
Stand der Datenschutzerklärung nicht klar erkennbar Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Mehr erfahren
Keine sichtbaren Cookie-Einstellungen im Banner Wichtig für Nutzer Scan-Hinweis ohne zusätzliche Detail-Evidence. Mehr erfahren
Buttons ohne erkennbaren Namen Wichtig für Nutzer Konkrete Belege unten aufgeführt.
Beleg anzeigen (2)
  • type=button class="menu-toggle"
  • type=button class="tnp-submit"
Mehr erfahren
Bilder ohne Alternativtext Wichtig für Nutzer Konkrete Belege unten aufgeführt.
Beleg anzeigen (8)
  • https://www.kap-forum.de/wp-content/uploads/2026/02/KAP_Weniger-ist-mehr_02.gif
  • https://www.kap-forum.de/wp-content/uploads/2025/03/KAP_Zirkulaeres_Bauen_V3_3.gif
  • https://www.kap-forum.de/wp-content/uploads/2024/04/QUO-VADIS-2_4.gif
  • https://www.kap-forum.de/wp-content/uploads/2024/02/KAP_20_Header_tuerkis.png
  • https://www.kap-forum.de/wp-content/uploads/2023/11/KAP_Architekturfuehrer_Koeln_2.jpg
  • https://www.kap-forum.de/wp-content/uploads/2023/03/KAP_KI_web.gif
  • https://www.kap-forum.de/wp-content/uploads/2023/01/KAP_web_Zukunft_gestalten.gif
  • https://www.kap-forum.de/wp-content/uploads/2022/05/KAP_Bauwende_home.gif
Mehr erfahren
HSTS fehlt Technischer Hinweis Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • HTTP-Header „Strict-Transport-Security" fehlt in der Antwort der Startseite
Mehr erfahren
Keine gängige CMP-/TCF-API im Browser erkannt Technischer Hinweis Scan-Hinweis ohne zusätzliche Detail-Evidence. Mehr erfahren
Viele potenziell blockierende Assets Technischer Hinweis Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • Viele render-blockierende CSS/JS-Ressourcen im <head> der Startseite
Mehr erfahren
Content-Security-Policy fehlt Technischer Hinweis Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • HTTP-Header „Content-Security-Policy" fehlt in der Antwort der Startseite
Mehr erfahren
X-Frame-Options fehlt Technischer Hinweis Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • HTTP-Header „X-Frame-Options" fehlt in der Antwort der Startseite
Mehr erfahren
X-Content-Type-Options fehlt Technischer Hinweis Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • HTTP-Header „X-Content-Type-Options" fehlt in der Antwort der Startseite
Mehr erfahren
Cross-Origin-Embedder-Policy fehlt Technischer Hinweis Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • HTTP-Header „Cross-Origin-Embedder-Policy" fehlt in der Antwort der Startseite
Mehr erfahren
Cross-Origin-Opener-Policy fehlt Technischer Hinweis Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • HTTP-Header „Cross-Origin-Opener-Policy" fehlt in der Antwort der Startseite
Mehr erfahren
Cross-Origin-Resource-Policy fehlt Technischer Hinweis Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • HTTP-Header „Cross-Origin-Resource-Policy" fehlt in der Antwort der Startseite
Mehr erfahren
Consent-Banner mit Dark-Pattern-/UX-Risiko Technischer Hinweis Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • Banner-UX: Akzeptieren 1 vs. Ablehnen 0 – Ablehnen weniger prominent/gleichwertig
Referrer-Policy fehlt Technischer Hinweis Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • HTTP-Header „Referrer-Policy" fehlt in der Antwort der Startseite
Mehr erfahren
Permissions-Policy fehlt Technischer Hinweis Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • HTTP-Header „Permissions-Policy" fehlt in der Antwort der Startseite
Mehr erfahren
Datenschutzrelevante Drittanbieter im Browseraufruf Technischer Hinweis Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • matomo.kap-forum.de
Mehr erfahren
Anbieter-Jurisdiktion nicht klar ableitbar Technischer Hinweis Konkrete Belege unten aufgeführt.
Beleg anzeigen (1)
  • matomo.kap-forum.de
Mehr erfahren
Scan-Fakten als JSON anzeigen
{
    "schema": "https://saferpage.de/schemas/public-scan-facts.v1",
    "claim_boundary": "Öffentliche Rohdaten enthalten nur Scan-Fakten, Statuswerte, Evidence-Grenzen und feste Detail-/Hintergrund-Links. Betreiber-Hintergrund, Planungen, Checklisten, Code und allgemeine Empfehlungen stehen auf separaten Seiten.",
    "current_evidence_policy": {
        "schema": "https://saferpage.de/schemas/public-scan-current-evidence-policy.v1",
        "status": "current_scan_fields_only",
        "summary": "Der Fakten-JSON exportiert nur Felder, die im gespeicherten aktuellen Scan wirklich vorhanden sind. Fehlende neue Evidence wird nicht aus alten Testergebnisformaten nachgebaut.",
        "guardrails": [
            "Keine synthetischen Boundary-Fallbacks fuer alte Scans",
            "Keine Nachbewertung alter Testergebnisse im Fakten-JSON",
            "Keine Betreiber-Empfehlung im Report-JSON"
        ]
    },
    "host": "kap-forum.de",
    "normalized_url": "https://kap-forum.de/",
    "score": 59,
    "verdict": {
        "color": "orange",
        "label": "auffällig",
        "score": 59
    },
    "scan_id": "8168eec4-520d-411d-8a5b-c4b666c4c230",
    "created_at": "2026-06-19 19:17:16.139774+02",
    "evidence": {
        "dns": {
            "ok": true,
            "addresses": [
                "78.47.8.244"
            ],
            "duration_ms": 22
        },
        "tls": {
            "ok": true,
            "cipher": "TLS_AES_256_GCM_SHA384",
            "issuer": [
                [
                    [
                        "countryName",
                        "US"
                    ]
                ],
                [
                    [
                        "organizationName",
                        "Let's Encrypt"
                    ]
                ],
                [
                    [
                        "commonName",
                        "R12"
                    ]
                ]
            ],
            "subject": [
                [
                    [
                        "commonName",
                        "kap-forum.de"
                    ]
                ]
            ],
            "version": "TLSv1.3",
            "not_after": "Jul 26 12:59:30 2026 GMT",
            "hostname_matches": true,
            "days_until_expiry": 36,
            "subject_alt_names": [
                "kap-forum.de",
                "www.kap-forum.de"
            ],
            "issuer_common_name": "R12"
        },
        "http": {
            "ok": true,
            "status": 200,
            "headers": {
                "date": "Fri, 19 Jun 2026 17:16:49 GMT",
                "link": "<https://www.kap-forum.de/>; rel=shortlink",
                "vary": "Accept-Encoding",
                "server": "Apache",
                "upgrade": "h2",
                "connection": "Upgrade, close",
                "content-type": "text/html; charset=UTF-8",
                "transfer-encoding": "chunked"
            },
            "body_size": 35384,
            "final_url": "https://www.kap-forum.de/",
            "duration_ms": 204
        },
        "scanner": {
            "bot_url": "https://saferpage.de/bot",
            "context": "crawler",
            "user_agent": "SaferPageCrawler/0.3 (+https://saferpage.de/bot; schedules passive DACH website checks; report examples: https://saferpage.de/tests; kostenloser Report: <a href=\"https://saferpage.de/kap-forum.de\">https://saferpage.de/kap-forum.de</a>)",
            "default_user_agent": "SaferPageBot/0.2 (+https://saferpage.de/bot; passive website safety check; no attack tests)"
        },
        "domain_records": {
            "mx": true,
            "caa": false,
            "spf": true,
            "dmarc": false,
            "dnssec": false,
            "records": {
                "mx": [
                    "50 mx0.kap-forum.de."
                ],
                "ns": [
                    "ns58.domaincontrol.com.",
                    "ns57.domaincontrol.com."
                ],
                "caa": [],
                "txt": [
                    "v=spf1 mx a ip4:85.214.37.200 include:spf.server-he.de include:mymxserver.com -all",
                    "google-site-verification=5k5e8_Hbeg9WYq8TCdt2r2Hno0YI-7NTUjFLySXg_UA"
                ],
                "cname": [],
                "dmarc": [],
                "dnskey_present": false
            },
            "spf_includes": [
                "spf.server-he.de",
                "mymxserver.com"
            ],
            "verifications": [
                "google"
            ]
        },
        "googlebot_http": {
            "ok": true,
            "status": 200,
            "headers": {
                "date": "Fri, 19 Jun 2026 17:16:49 GMT",
                "link": "<https://www.kap-forum.de/>; rel=shortlink",
                "vary": "Accept-Encoding",
                "server": "Apache",
                "upgrade": "h2",
                "connection": "Upgrade, close",
                "content-type": "text/html; charset=UTF-8",
                "transfer-encoding": "chunked"
            },
            "body_size": 35384,
            "final_url": "https://www.kap-forum.de/",
            "duration_ms": 201
        },
        "ai_search_policy_evidence": {
            "files": [
                {
                    "id": "robots_txt",
                    "url": "https://www.kap-forum.de/robots.txt",
                    "label": "robots.txt",
                    "reason": "",
                    "status": "found",
                    "body_size": 174,
                    "truncated": false,
                    "body_sha256": "47ccbed44367f9ae7214e74f664641221f5a76b8e8012f1e9b32a01da03ce250",
                    "duration_ms": 884,
                    "http_status": 200,
                    "ai_bot_policy": {
                        "bot_directives": [],
                        "explicit_ai_bots": [],
                        "explicit_ai_bot_count": 0,
                        "wildcard_directive_count": 1,
                        "wildcard_directives_sample": [
                            {
                                "value": "",
                                "directive": "disallow"
                            }
                        ]
                    },
                    "relevant_lines": [
                        "User-agent: *",
                        "Disallow:",
                        "Sitemap: https://www.kap-forum.de/sitemap_index.xml"
                    ]
                },
                {
                    "id": "llms_txt",
                    "url": "https://www.kap-forum.de/llms.txt",
                    "label": "llms.txt",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 148,
                    "http_status": 404,
                    "relevant_lines": []
                },
                {
                    "id": "ai_txt",
                    "url": "https://www.kap-forum.de/.well-known/ai.txt",
                    "label": "AI Policy",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 123,
                    "http_status": 404,
                    "relevant_lines": []
                },
                {
                    "id": "ai_policy_txt",
                    "url": "https://www.kap-forum.de/.well-known/ai-policy.txt",
                    "label": "AI Policy",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 88,
                    "http_status": 404,
                    "relevant_lines": []
                },
                {
                    "id": "ward_txt",
                    "url": "https://www.kap-forum.de/.well-known/ward.txt",
                    "label": "WARD Policy",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 121,
                    "http_status": 404,
                    "relevant_lines": []
                }
            ],
            "origin": "https://www.kap-forum.de",
            "schema": "https://saferpage.de/schemas/ai-search-policy-evidence.v1",
            "status": "checked",
            "metrics": {
                "file_count": 5,
                "found_file_count": 1,
                "policy_file_count": 0,
                "explicit_ai_bot_count": 0
            },
            "summary": "1 von 5 Policy-Datei(en) gefunden; 0 explizite KI-Bot-Regel(n) in robots.txt.",
            "available": true,
            "guardrails": [
                "Nur feste Same-Origin-Policy-Dateien",
                "Keine Off-Host-Redirects",
                "64-KB-Body-Limit",
                "Öffentlich nur Hash, Status und kurze relevante Zeilen"
            ],
            "known_ai_bots": [
                "GPTBot",
                "ChatGPT-User",
                "Google-Extended",
                "ClaudeBot",
                "PerplexityBot",
                "CCBot"
            ],
            "explicit_ai_bots": [],
            "policy_file_count": 0,
            "llms_ward_policy_status": "not_publicly_verified",
            "robots_ai_policy_status": "generic_robots_policy"
        },
        "adtech_transparency_evidence": {
            "files": [
                {
                    "id": "ads_txt",
                    "url": "https://www.kap-forum.de/ads.txt",
                    "label": "ads.txt",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 252,
                    "http_status": 404,
                    "ads_txt_policy": [],
                    "relevant_lines": [],
                    "sellers_json_policy": []
                },
                {
                    "id": "app_ads_txt",
                    "url": "https://www.kap-forum.de/app-ads.txt",
                    "label": "app-ads.txt",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 159,
                    "http_status": 404,
                    "ads_txt_policy": [],
                    "relevant_lines": [],
                    "sellers_json_policy": []
                },
                {
                    "id": "sellers_json",
                    "url": "https://www.kap-forum.de/sellers.json",
                    "label": "sellers.json",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 206,
                    "http_status": 404,
                    "ads_txt_policy": [],
                    "relevant_lines": [],
                    "sellers_json_policy": []
                }
            ],
            "origin": "https://www.kap-forum.de",
            "schema": "https://saferpage.de/schemas/adtech-transparency-evidence.v1",
            "status": "checked",
            "metrics": {
                "file_count": 3,
                "direct_count": 0,
                "reseller_count": 0,
                "found_file_count": 0,
                "ads_txt_entry_count": 0,
                "exchange_domain_count": 0,
                "app_ads_txt_entry_count": 0,
                "sellers_json_seller_count": 0
            },
            "summary": "0 von 3 AdTech-Transparenzdatei(en) gefunden; 0 DIRECT- und 0 RESELLER-Zeile(n).",
            "available": true,
            "guardrails": [
                "Nur feste Same-Origin-AdTech-Dateien",
                "Keine Off-Host-Redirects",
                "64-KB-Body-Limit",
                "Öffentlich nur Hash, Status, Zähler und kurze relevante Zeilen"
            ],
            "direct_count": 0,
            "ads_txt_found": false,
            "reseller_count": 0,
            "app_ads_txt_found": false,
            "sellers_json_found": false,
            "ads_txt_entry_count": 0,
            "exchange_domain_count": 0,
            "sellers_json_parse_ok": false,
            "app_ads_txt_entry_count": 0,
            "sellers_json_seller_count": 0
        },
        "security_trust_policy_evidence": {
            "files": [
                {
                    "id": "security_txt",
                    "url": "https://www.kap-forum.de/.well-known/security.txt",
                    "label": "security.txt",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 268,
                    "http_status": 404,
                    "relevant_lines": [],
                    "security_txt_policy": []
                },
                {
                    "id": "security_txt_legacy",
                    "url": "https://www.kap-forum.de/security.txt",
                    "label": "security.txt legacy",
                    "reason": "http_error",
                    "status": "missing",
                    "body_size": 0,
                    "truncated": false,
                    "body_sha256": "",
                    "duration_ms": 243,
                    "http_status": 404,
                    "relevant_lines": [],
                    "security_txt_policy": []
                }
            ],
            "origin": "https://www.kap-forum.de",
            "schema": "https://saferpage.de/schemas/security-trust-policy-evidence.v1",
            "status": "checked",
            "metrics": {
                "file_count": 2,
                "field_count": 0,
                "contact_count": 0,
                "found_file_count": 0,
                "preferred_well_known_found": 0
            },
            "summary": "0 von 2 security.txt-Ziel(en) gefunden; 0 Kontaktfeld(er), 0 strukturierte Feld(er).",
            "available": true,
            "guardrails": [
                "Nur feste Same-Origin-security.txt-Ziele",
                "Keine Off-Host-Redirects",
                "64-KB-Body-Limit",
                "Öffentlich nur Hash, Status und kurze relevante Zeilen"
            ],
            "field_count": 0,
            "contact_count": 0,
            "fields_present": [],
            "policy_present": false,
            "expires_present": false,
            "encryption_present": false,
            "security_txt_found": false,
            "preferred_well_known_found": false
        }
    },
    "findings": [
        {
            "id": "pre_consent_nonessential_cookies",
            "title": "Möglicherweise nicht notwendige Cookies vor Einwilligung",
            "public": true,
            "source": "chromium_cookie_inventory",
            "cookies": [
                "__cf_bm"
            ],
            "audience": "nutzer",
            "category": "privacy",
            "severity": "warning",
            "evidence_items": [
                "__cf_bm"
            ],
            "user_importance": 127,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "browser_consent_accept_only",
            "title": "Consent-Banner wirkt im Browser wie Akzeptieren-only",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "warning",
            "user_importance": 123,
            "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",
            "evidence_items": [
                "Tracking-Signale auf einer Seite mit Dateneingabe/Formular erkannt"
            ],
            "user_importance": 118,
            "importance_label": "Wichtig für Nutzer",
            "third_party_count": 1
        },
        {
            "id": "external_canonical",
            "title": "Canonical zeigt auf fremde Domain",
            "public": true,
            "audience": "nutzer",
            "category": "seo",
            "severity": "warning",
            "canonical_url": "https://www.kap-forum.de/",
            "evidence_items": [
                "https://www.kap-forum.de/"
            ],
            "user_importance": 118,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "gpc_privacy_domains_present",
            "count": 1,
            "title": "Datenschutzrelevante Kontakte trotz GPC-Signal",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "info",
            "evidence_items": [
                "Trotz GPC: 1 Datenschutz-Domain(s), 1 Drittanbieter-Cookie(s)"
            ],
            "user_importance": 116,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "external_link_spam",
            "title": "Sehr viele externe Links erkannt",
            "public": true,
            "audience": "nutzer",
            "category": "seo",
            "severity": "warning",
            "evidence_items": [
                "39 externe Links auf der Startseite"
            ],
            "user_importance": 116,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "gpc_third_party_cookies",
            "count": 1,
            "title": "Drittanbieter-Cookies trotz GPC-Signal",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "info",
            "evidence_items": [
                "1 im Scan gezählt"
            ],
            "user_importance": 114,
            "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",
            "evidence_items": [
                "GPC-Signal (Global Privacy Control) gesetzt – tatsächliche Wirkung manuell prüfen"
            ],
            "user_importance": 112,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "privacy_policy_update_date_missing",
            "title": "Stand der Datenschutzerklärung nicht klar erkennbar",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "info",
            "user_importance": 94,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "browser_consent_settings_missing",
            "title": "Keine sichtbaren Cookie-Einstellungen im Banner",
            "public": true,
            "audience": "nutzer",
            "category": "privacy",
            "severity": "info",
            "user_importance": 86,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "button_name_missing",
            "count": 2,
            "title": "Buttons ohne erkennbaren Namen",
            "public": true,
            "audience": "nutzer",
            "category": "accessibility",
            "severity": "warning",
            "evidence_items": [
                "type=button class=\"menu-toggle\"",
                "type=button class=\"tnp-submit\""
            ],
            "user_importance": 86,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "image_alt_missing",
            "count": 9,
            "title": "Bilder ohne Alternativtext",
            "public": true,
            "audience": "nutzer",
            "category": "accessibility",
            "severity": "info",
            "evidence_items": [
                "https://www.kap-forum.de/wp-content/uploads/2026/02/KAP_Weniger-ist-mehr_02.gif",
                "https://www.kap-forum.de/wp-content/uploads/2025/03/KAP_Zirkulaeres_Bauen_V3_3.gif",
                "https://www.kap-forum.de/wp-content/uploads/2024/04/QUO-VADIS-2_4.gif",
                "https://www.kap-forum.de/wp-content/uploads/2024/02/KAP_20_Header_tuerkis.png",
                "https://www.kap-forum.de/wp-content/uploads/2023/11/KAP_Architekturfuehrer_Koeln_2.jpg",
                "https://www.kap-forum.de/wp-content/uploads/2023/03/KAP_KI_web.gif",
                "https://www.kap-forum.de/wp-content/uploads/2023/01/KAP_web_Zukunft_gestalten.gif",
                "https://www.kap-forum.de/wp-content/uploads/2022/05/KAP_Bauwende_home.gif"
            ],
            "user_importance": 82,
            "importance_label": "Wichtig für Nutzer"
        },
        {
            "id": "missing_hsts",
            "title": "HSTS fehlt",
            "public": true,
            "audience": "betreiber",
            "category": "security_headers",
            "severity": "warning",
            "evidence_items": [
                "HTTP-Header „Strict-Transport-Security\" fehlt in der Antwort der Startseite"
            ],
            "user_importance": 78,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "cmp_api_not_detected",
            "title": "Keine gängige CMP-/TCF-API im Browser erkannt",
            "public": true,
            "audience": "betreiber",
            "category": "privacy",
            "severity": "info",
            "user_importance": 74,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "too_many_render_blocking_assets",
            "title": "Viele potenziell blockierende Assets",
            "public": true,
            "audience": "betreiber",
            "category": "performance",
            "severity": "info",
            "evidence_items": [
                "Viele render-blockierende CSS/JS-Ressourcen im <head> der Startseite"
            ],
            "user_importance": 74,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "missing_csp",
            "title": "Content-Security-Policy fehlt",
            "public": true,
            "audience": "betreiber",
            "category": "security_headers",
            "severity": "warning",
            "evidence_items": [
                "HTTP-Header „Content-Security-Policy\" fehlt in der Antwort der Startseite"
            ],
            "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",
            "evidence_items": [
                "HTTP-Header „X-Frame-Options\" fehlt in der Antwort der Startseite"
            ],
            "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",
            "evidence_items": [
                "HTTP-Header „X-Content-Type-Options\" fehlt in der Antwort der Startseite"
            ],
            "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",
            "evidence_items": [
                "HTTP-Header „Cross-Origin-Embedder-Policy\" fehlt in der Antwort der Startseite"
            ],
            "user_importance": 68,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "missing_cross_origin_opener_policy",
            "title": "Cross-Origin-Opener-Policy fehlt",
            "public": true,
            "audience": "betreiber",
            "category": "security_headers",
            "severity": "info",
            "evidence_items": [
                "HTTP-Header „Cross-Origin-Opener-Policy\" fehlt in der Antwort der Startseite"
            ],
            "user_importance": 66,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "missing_cross_origin_resource_policy",
            "title": "Cross-Origin-Resource-Policy fehlt",
            "public": true,
            "audience": "betreiber",
            "category": "security_headers",
            "severity": "info",
            "evidence_items": [
                "HTTP-Header „Cross-Origin-Resource-Policy\" fehlt in der Antwort der Startseite"
            ],
            "user_importance": 64,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "consent_banner_dark_pattern_risk",
            "count": 1,
            "title": "Consent-Banner mit Dark-Pattern-/UX-Risiko",
            "public": true,
            "audience": "betreiber",
            "category": "privacy",
            "severity": "warning",
            "evidence_items": [
                "Banner-UX: Akzeptieren 1 vs. Ablehnen 0 – Ablehnen weniger prominent/gleichwertig"
            ],
            "user_importance": 60,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "missing_referrer_policy",
            "title": "Referrer-Policy fehlt",
            "public": true,
            "audience": "betreiber",
            "category": "security_headers",
            "severity": "info",
            "evidence_items": [
                "HTTP-Header „Referrer-Policy\" fehlt in der Antwort der Startseite"
            ],
            "user_importance": 40,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "missing_permissions_policy",
            "title": "Permissions-Policy fehlt",
            "public": true,
            "audience": "betreiber",
            "category": "security_headers",
            "severity": "info",
            "evidence_items": [
                "HTTP-Header „Permissions-Policy\" fehlt in der Antwort der Startseite"
            ],
            "user_importance": 40,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "browser_privacy_relevant_third_parties",
            "title": "Datenschutzrelevante Drittanbieter im Browseraufruf",
            "public": true,
            "audience": "betreiber",
            "category": "privacy",
            "severity": "info",
            "evidence_items": [
                "matomo.kap-forum.de"
            ],
            "user_importance": 30,
            "importance_label": "Technischer Hinweis"
        },
        {
            "id": "unknown_vendor_jurisdiction",
            "title": "Anbieter-Jurisdiktion nicht klar ableitbar",
            "public": true,
            "audience": "betreiber",
            "category": "privacy",
            "severity": "info",
            "evidence_items": [
                "matomo.kap-forum.de"
            ],
            "user_importance": 30,
            "importance_label": "Technischer Hinweis"
        }
    ],
    "audit_modules": [
        {
            "id": "security_tls",
            "color": "red",
            "score": 34,
            "title": "Sicherheit, TLS & Header",
            "source": "DNS, TLS, HTTP-Status, Zertifikat und Security-Header",
            "status": "kritisch",
            "evidence": "2 Infrastruktur-Hinweis(e), Security-Header: 0/9 vorhanden, 9 fehlen, externe Skript-Hosts: 0."
        },
        {
            "id": "accessibility_usability",
            "color": "orange",
            "score": 52,
            "title": "Barrierefreiheit & Usability",
            "source": "Passives HTML-Sample: Bilder, Formulare, Buttons, Sprache, Headings und Viewport",
            "status": "auffällig",
            "evidence": "9 Bild(er) ohne alt, 0 Formularfeld(er) ohne Beschriftung, 2 Button(s) ohne Namen."
        },
        {
            "id": "privacy_consent",
            "color": "orange",
            "score": 54,
            "title": "Datenschutz, Cookies & Consent",
            "source": "Browser, HTTP-Header, HTML und Consent-/Cookie-Heuristik",
            "status": "auffällig",
            "evidence": "0 Tracking-Script(s), 1 Cookie(s) vor Einwilligung, 0 Tracking-Cookie(s), Ablehnen-Option: ja, Consent-Audit: 54."
        },
        {
            "id": "browser_evidence",
            "color": "orange",
            "score": 64,
            "title": "Browser-Nachweis",
            "source": "Headless Chromium mit Screenshot- und Request-Telemetrie",
            "status": "auffällig",
            "evidence": "89 Request(s), 2 Drittanbieter-Domain(s), davon 1 datenschutzrelevant, 1 Browser-Cookie(s), Transfer-Prüfbedarf: 0, Referrer-/URL-Leaks: 0, Fingerprinting-/Replay-Hinweise: 0."
        },
        {
            "id": "seo_integrity",
            "color": "orange",
            "score": 64,
            "title": "SEO-Integrität & Cloaking",
            "source": "HTML-Inhalt, strukturierte Daten, Links und Googlebot-Vergleich",
            "status": "auffällig",
            "evidence": "2 SEO-Spam-Hinweis(e), 0 Cloaking-Hinweis(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 Report keine zusätzliche Scan-Feststellung abgeleitet; Betreiberkontext und Umsetzungshinweise stehen auf separaten Seiten."
        },
        {
            "id": "google_third_parties",
            "color": "green",
            "score": 100,
            "title": "Google-Dienste & Drittanbieter",
            "source": "Chromium-Requests, Anbieterklassifikation und Google Consent Mode Heuristik",
            "status": "unauffällig",
            "evidence": "Keine Google-Domain, keine Google-Tracking-ID und keine datenschutzrelevanten Drittanbieter im passiven Check erkannt."
        },
        {
            "id": "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": "consent_journey",
            "color": "green",
            "score": 92,
            "title": "Consent-Journey-Matrix",
            "source": "Chromium-Zustände: Erstaufruf, Reject, Accept und GPC",
            "status": "unauffällig",
            "evidence": "Consent-Journey: 0 neue Datenschutz-Domain(s) nach Ablehnen, 0 nach Akzeptieren, 1 im GPC-Aufruf."
        },
        {
            "id": "cookie_inventory",
            "color": "green",
            "score": 92,
            "title": "Cookie-Inventar",
            "source": "HTTP-Set-Cookie und Chromium-Cookies beim ersten Seitenaufruf",
            "status": "unauffällig",
            "evidence": "1 Cookie(s), 0 Tracking-/Werbe-Cookie(s), 1 Drittanbieter-Cookie(s), 0 langlebig, 0 sehr lang."
        },
        {
            "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 204 ms."
        },
        {
            "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": "script_supply_chain",
            "color": "green",
            "score": 100,
            "title": "Externe Skripte & SRI",
            "source": "HTML-Script-Tags, Anbieterklassifikation und SRI-Attribute",
            "status": "unauffällig",
            "evidence": "0 externe Skript(e) von 0 Host(s), 0 ohne SRI, 0 Tracking-/Tag-nahe Skript(e)."
        },
        {
            "id": "operator_transparency",
            "color": "green",
            "score": 100,
            "title": "Impressum, Kontakt & Datenschutzerklärung",
            "source": "Deutschsprachige Betreiber- und Datenschutzhinweis-Erkennung",
            "status": "unauffällig",
            "evidence": "Impressum: ja, Datenschutz: ja, Kontakt: ja."
        },
        {
            "id": "referrer_url_leaks",
            "color": "green",
            "score": 100,
            "title": "Referrer & URL-Leaks",
            "source": "Chromium-Request-Telemetrie ohne gespeicherte Parameterwerte",
            "status": "unauffällig",
            "evidence": "0 Drittanbieter-Domain(s) mit Referrer-/URL-Leak-Prüfbedarf, 0 sensible Query-Kontexte."
        },
        {
            "id": "site_coverage",
            "color": "green",
            "score": 100,
            "title": "Seitenabdeckung & Crawl",
            "source": "Startseiten-Links, Compliance-Links und begrenzter interner Zusatzabruf",
            "status": "unauffällig",
            "evidence": "30 interne Linkziele erkannt, 4 priorisierte Unterseite(n) abgerufen."
        },
        {
            "id": "tracking_pixels_beacons",
            "color": "green",
            "score": 100,
            "title": "Tracking-Pixel & Beacons",
            "source": "HTML-Pixel, Link-Ping-Attribute, Chromium-Requests und Browser-API-Instrumentierung",
            "status": "unauffällig",
            "evidence": "0 Pixel-/Bildtracking-Hinweis(e), 0 Beacon-/Telemetry-Hinweis(e), 0 Link-Ping(s)."
        }
    ],
    "ai_search_policy_evidence": {
        "files": [
            {
                "id": "robots_txt",
                "url": "https://www.kap-forum.de/robots.txt",
                "label": "robots.txt",
                "reason": "",
                "status": "found",
                "body_size": 174,
                "truncated": false,
                "body_sha256": "47ccbed44367f9ae7214e74f664641221f5a76b8e8012f1e9b32a01da03ce250",
                "duration_ms": 884,
                "http_status": 200,
                "ai_bot_policy": {
                    "bot_directives": [],
                    "explicit_ai_bots": [],
                    "explicit_ai_bot_count": 0,
                    "wildcard_directive_count": 1,
                    "wildcard_directives_sample": [
                        {
                            "value": "",
                            "directive": "disallow"
                        }
                    ]
                },
                "relevant_lines": [
                    "User-agent: *",
                    "Disallow:",
                    "Sitemap: https://www.kap-forum.de/sitemap_index.xml"
                ]
            },
            {
                "id": "llms_txt",
                "url": "https://www.kap-forum.de/llms.txt",
                "label": "llms.txt",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 148,
                "http_status": 404,
                "relevant_lines": []
            },
            {
                "id": "ai_txt",
                "url": "https://www.kap-forum.de/.well-known/ai.txt",
                "label": "AI Policy",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 123,
                "http_status": 404,
                "relevant_lines": []
            },
            {
                "id": "ai_policy_txt",
                "url": "https://www.kap-forum.de/.well-known/ai-policy.txt",
                "label": "AI Policy",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 88,
                "http_status": 404,
                "relevant_lines": []
            },
            {
                "id": "ward_txt",
                "url": "https://www.kap-forum.de/.well-known/ward.txt",
                "label": "WARD Policy",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 121,
                "http_status": 404,
                "relevant_lines": []
            }
        ],
        "origin": "https://www.kap-forum.de",
        "schema": "https://saferpage.de/schemas/ai-search-policy-evidence.v1",
        "status": "checked",
        "metrics": {
            "file_count": 5,
            "found_file_count": 1,
            "policy_file_count": 0,
            "explicit_ai_bot_count": 0
        },
        "summary": "1 von 5 Policy-Datei(en) gefunden; 0 explizite KI-Bot-Regel(n) in robots.txt.",
        "available": true,
        "guardrails": [
            "Nur feste Same-Origin-Policy-Dateien",
            "Keine Off-Host-Redirects",
            "64-KB-Body-Limit",
            "Öffentlich nur Hash, Status und kurze relevante Zeilen"
        ],
        "known_ai_bots": [
            "GPTBot",
            "ChatGPT-User",
            "Google-Extended",
            "ClaudeBot",
            "PerplexityBot",
            "CCBot"
        ],
        "explicit_ai_bots": [],
        "policy_file_count": 0,
        "llms_ward_policy_status": "not_publicly_verified",
        "robots_ai_policy_status": "generic_robots_policy"
    },
    "adtech_transparency_evidence": {
        "files": [
            {
                "id": "ads_txt",
                "url": "https://www.kap-forum.de/ads.txt",
                "label": "ads.txt",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 252,
                "http_status": 404,
                "ads_txt_policy": [],
                "relevant_lines": [],
                "sellers_json_policy": []
            },
            {
                "id": "app_ads_txt",
                "url": "https://www.kap-forum.de/app-ads.txt",
                "label": "app-ads.txt",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 159,
                "http_status": 404,
                "ads_txt_policy": [],
                "relevant_lines": [],
                "sellers_json_policy": []
            },
            {
                "id": "sellers_json",
                "url": "https://www.kap-forum.de/sellers.json",
                "label": "sellers.json",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 206,
                "http_status": 404,
                "ads_txt_policy": [],
                "relevant_lines": [],
                "sellers_json_policy": []
            }
        ],
        "origin": "https://www.kap-forum.de",
        "schema": "https://saferpage.de/schemas/adtech-transparency-evidence.v1",
        "status": "checked",
        "metrics": {
            "file_count": 3,
            "direct_count": 0,
            "reseller_count": 0,
            "found_file_count": 0,
            "ads_txt_entry_count": 0,
            "exchange_domain_count": 0,
            "app_ads_txt_entry_count": 0,
            "sellers_json_seller_count": 0
        },
        "summary": "0 von 3 AdTech-Transparenzdatei(en) gefunden; 0 DIRECT- und 0 RESELLER-Zeile(n).",
        "available": true,
        "guardrails": [
            "Nur feste Same-Origin-AdTech-Dateien",
            "Keine Off-Host-Redirects",
            "64-KB-Body-Limit",
            "Öffentlich nur Hash, Status, Zähler und kurze relevante Zeilen"
        ],
        "direct_count": 0,
        "ads_txt_found": false,
        "reseller_count": 0,
        "app_ads_txt_found": false,
        "sellers_json_found": false,
        "ads_txt_entry_count": 0,
        "exchange_domain_count": 0,
        "sellers_json_parse_ok": false,
        "app_ads_txt_entry_count": 0,
        "sellers_json_seller_count": 0
    },
    "security_trust_policy_evidence": {
        "files": [
            {
                "id": "security_txt",
                "url": "https://www.kap-forum.de/.well-known/security.txt",
                "label": "security.txt",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 268,
                "http_status": 404,
                "relevant_lines": [],
                "security_txt_policy": []
            },
            {
                "id": "security_txt_legacy",
                "url": "https://www.kap-forum.de/security.txt",
                "label": "security.txt legacy",
                "reason": "http_error",
                "status": "missing",
                "body_size": 0,
                "truncated": false,
                "body_sha256": "",
                "duration_ms": 243,
                "http_status": 404,
                "relevant_lines": [],
                "security_txt_policy": []
            }
        ],
        "origin": "https://www.kap-forum.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": "green",
        "pages": [
            {
                "url": "https://www.kap-forum.de/datenschutz",
                "path": "/datenschutz",
                "text": "Datenschutz",
                "source": "homepage_link",
                "category": "datenschutz",
                "priority": 100
            },
            {
                "url": "https://www.kap-forum.de/impressum",
                "path": "/impressum",
                "text": "Impressum",
                "source": "homepage_link",
                "category": "impressum",
                "priority": 96
            },
            {
                "url": "https://www.kap-forum.de/kontakt",
                "path": "/kontakt",
                "text": "Kontakt / Newsletter",
                "source": "homepage_link",
                "category": "kontakt",
                "priority": 90
            },
            {
                "url": "https://www.kap-forum.de/1894-2",
                "path": "/1894-2",
                "text": "",
                "source": "sitemap",
                "category": "unterseite",
                "priority": 24
            },
            {
                "url": "https://www.kap-forum.de/25hours-hotel-bikini-berlin",
                "path": "/25hours-hotel-bikini-berlin",
                "text": "",
                "source": "sitemap",
                "category": "unterseite",
                "priority": 24
            },
            {
                "url": "https://www.kap-forum.de/3deluxe-inexterior-wiesbaden",
                "path": "/3deluxe-inexterior-wiesbaden",
                "text": "",
                "source": "sitemap",
                "category": "unterseite",
                "priority": 24
            },
            {
                "url": "https://www.kap-forum.de/aff-architekten-berlin",
                "path": "/aff-architekten-berlin",
                "text": "",
                "source": "sitemap",
                "category": "unterseite",
                "priority": 24
            },
            {
                "url": "https://www.kap-forum.de/alape",
                "path": "/alape",
                "text": "",
                "source": "sitemap",
                "category": "unterseite",
                "priority": 24
            },
            {
                "url": "https://www.kap-forum.de/alleswirdgut-architektur-zt-gmbh-wien",
                "path": "/alleswirdgut-architektur-zt-gmbh-wien",
                "text": "",
                "source": "sitemap",
                "category": "unterseite",
                "priority": 24
            },
            {
                "url": "https://www.kap-forum.de/am-ende-muss-es-menschlich-sein",
                "path": "/am-ende-muss-es-menschlich-sein",
                "text": "",
                "source": "sitemap",
                "category": "unterseite",
                "priority": 24
            },
            {
                "url": "https://www.kap-forum.de/amunt-stuttgart",
                "path": "/amunt-stuttgart",
                "text": "",
                "source": "sitemap",
                "category": "unterseite",
                "priority": 24
            },
            {
                "url": "https://www.kap-forum.de/art-invest-real-estate-management-gmbh-co-kg-koeln",
                "path": "/art-invest-real-estate-management-gmbh-co-kg-koeln",
                "text": "",
                "source": "sitemap",
                "category": "unterseite",
                "priority": 24
            }
        ],
        "score": 100,
        "status": "unauffällig",
        "summary": "30 interne Linkziele erkannt (120 aus Sitemap), 4 priorisierte Unterseite(n) zusätzlich abgerufen.",
        "findings": [
            {
                "id": "privacy_policy_update_date_missing",
                "title": "Stand der Datenschutzerklärung nicht klar erkennbar",
                "public": true,
                "category": "privacy",
                "severity": "info"
            }
        ],
        "robots_ok": true,
        "categories": {
            "kontakt": 1,
            "impressum": 1,
            "unterseite": 27,
            "datenschutz": 1
        },
        "sample_limit": 4,
        "sampled_count": 4,
        "sampled_pages": [
            {
                "ok": true,
                "url": "https://www.kap-forum.de/datenschutz",
                "path": "/datenschutz",
                "audit": {
                    "form_count": 1,
                    "finding_ids": [],
                    "cookie_count": 0,
                    "imprint_found": true,
                    "consent_hint_found": true,
                    "reject_option_found": true,
                    "privacy_policy_found": true,
                    "tracking_script_count": 0,
                    "pre_consent_cookie_count": 0,
                    "pre_consent_tracking_cookie_count": 0
                },
                "forms": 1,
                "title": "Kap-Forum » Datenschutz",
                "status": 200,
                "category": "datenschutz",
                "duration_ms": 181,
                "privacy_hint": true,
                "privacy_policy_audit": {
                    "url": "https://www.kap-forum.de/datenschutz",
                    "color": "green",
                    "found": [
                        "Verantwortlicher / Anbieter",
                        "Kontakt / Datenschutzkontakt",
                        "Zwecke der Verarbeitung",
                        "Rechtsgrundlagen",
                        "Betroffenenrechte",
                        "Speicherfrist / Löschung",
                        "Empfänger / Auftragsverarbeiter",
                        "Cookies / Tracking",
                        "Widerruf / Opt-out",
                        "Beschwerde bei Aufsichtsbehörde",
                        "Drittlandtransfer",
                        "Datenschutzkontakt / DPO-Hinweis",
                        "Verständliche Satzlänge"
                    ],
                    "score": 93,
                    "checks": [
                        {
                            "id": "controller_identity",
                            "found": true,
                            "label": "Verantwortlicher / Anbieter"
                        },
                        {
                            "id": "contact",
                            "found": true,
                            "label": "Kontakt / Datenschutzkontakt"
                        },
                        {
                            "id": "purposes",
                            "found": true,
                            "label": "Zwecke der Verarbeitung"
                        },
                        {
                            "id": "legal_basis",
                            "found": true,
                            "label": "Rechtsgrundlagen"
                        },
                        {
                            "id": "rights",
                            "found": true,
                            "label": "Betroffenenrechte"
                        },
                        {
                            "id": "retention",
                            "found": true,
                            "label": "Speicherfrist / Löschung"
                        },
                        {
                            "id": "recipients",
                            "found": true,
                            "label": "Empfänger / Auftragsverarbeiter"
                        },
                        {
                            "id": "cookies_tracking",
                            "found": true,
                            "label": "Cookies / Tracking"
                        },
                        {
                            "id": "withdrawal",
                            "found": true,
                            "label": "Widerruf / Opt-out"
                        },
                        {
                            "id": "complaint_authority",
                            "found": true,
                            "label": "Beschwerde bei Aufsichtsbehörde"
                        },
                        {
                            "id": "third_country_transfer",
                            "found": true,
                            "label": "Drittlandtransfer"
                        },
                        {
                            "id": "update_date",
                            "found": false,
                            "label": "Stand / Aktualitätsdatum",
                            "detail": ""
                        },
                        {
                            "id": "dpo_contact",
                            "found": true,
                            "label": "Datenschutzkontakt / DPO-Hinweis"
                        },
                        {
                            "id": "readability",
                            "found": true,
                            "label": "Verständliche Satzlänge",
                            "detail": "10.7 Wörter/Satz"
                        }
                    ],
                    "status": "unauffällig",
                    "missing": [
                        "Stand / Aktualitätsdatum"
                    ],
                    "summary": "13 von 14 zentralen Datenschutz-Bausteinen erkannt.",
                    "findings": [
                        {
                            "id": "privacy_policy_update_date_missing",
                            "title": "Stand der Datenschutzerklärung nicht klar erkennbar",
                            "public": true,
                            "category": "privacy",
                            "severity": "info"
                        }
                    ],
                    "available": true,
                    "freshness": {
                        "stale": false,
                        "age_days": null,
                        "last_updated": "",
                        "update_date_found": false
                    },
                    "word_count": 3385,
                    "readability": {
                        "hard_to_read": false,
                        "sentence_count": 316,
                        "avg_sentence_words": 10.7
                    },
                    "missing_count": 1,
                    "dpo_contact_found": true
                }
            },
            {
                "ok": true,
                "url": "https://www.kap-forum.de/impressum",
                "path": "/impressum",
                "audit": {
                    "form_count": 1,
                    "finding_ids": [
                        "privacy_policy_too_thin",
                        "consent_no_reject_option",
                        "consent_accept_only"
                    ],
                    "cookie_count": 0,
                    "imprint_found": true,
                    "consent_hint_found": true,
                    "reject_option_found": false,
                    "privacy_policy_found": true,
                    "tracking_script_count": 0,
                    "pre_consent_cookie_count": 0,
                    "pre_consent_tracking_cookie_count": 0
                },
                "forms": 1,
                "title": "Kap-Forum » Impressum",
                "status": 200,
                "category": "impressum",
                "duration_ms": 180,
                "privacy_hint": true,
                "privacy_policy_audit": []
            },
            {
                "ok": true,
                "url": "https://www.kap-forum.de/kontakt",
                "path": "/kontakt",
                "audit": {
                    "form_count": 1,
                    "finding_ids": [
                        "privacy_policy_too_thin",
                        "consent_no_reject_option",
                        "consent_accept_only"
                    ],
                    "cookie_count": 0,
                    "imprint_found": true,
                    "consent_hint_found": true,
                    "reject_option_found": false,
                    "privacy_policy_found": true,
                    "tracking_script_count": 0,
                    "pre_consent_cookie_count": 0,
                    "pre_consent_tracking_cookie_count": 0
                },
                "forms": 1,
                "title": "Kap-Forum » Kontakt",
                "status": 200,
                "category": "kontakt",
                "duration_ms": 186,
                "privacy_hint": true,
                "privacy_policy_audit": []
            },
            {
                "ok": true,
                "url": "https://www.kap-forum.de/1894-2",
                "path": "/1894-2",
                "audit": {
                    "form_count": 1,
                    "finding_ids": [
                        "privacy_policy_too_thin",
                        "consent_no_reject_option",
                        "consent_accept_only"
                    ],
                    "cookie_count": 0,
                    "imprint_found": true,
                    "consent_hint_found": true,
                    "reject_option_found": false,
                    "privacy_policy_found": true,
                    "tracking_script_count": 0,
                    "pre_consent_cookie_count": 0,
                    "pre_consent_tracking_cookie_count": 0
                },
                "forms": 1,
                "title": "Kap-Forum » Büros » 05.11.2015 | Bergmeisterwolf | Brixen",
                "status": 200,
                "category": "unterseite",
                "duration_ms": 179,
                "privacy_hint": true,
                "privacy_policy_audit": []
            }
        ],
        "robots_checked": true,
        "sitemap_sources": [
            "https://www.kap-forum.de/sitemap_index.xml",
            "https://www.kap-forum.de/sitemap.xml",
            "https://www.kap-forum.de/post-sitemap.xml"
        ],
        "sitemap_available": true,
        "sitemap_url_count": 120,
        "homepage_link_count": 41,
        "internal_link_count": 30,
        "privacy_policy_audit": {
            "url": "https://www.kap-forum.de/datenschutz",
            "color": "green",
            "found": [
                "Verantwortlicher / Anbieter",
                "Kontakt / Datenschutzkontakt",
                "Zwecke der Verarbeitung",
                "Rechtsgrundlagen",
                "Betroffenenrechte",
                "Speicherfrist / Löschung",
                "Empfänger / Auftragsverarbeiter",
                "Cookies / Tracking",
                "Widerruf / Opt-out",
                "Beschwerde bei Aufsichtsbehörde",
                "Drittlandtransfer",
                "Datenschutzkontakt / DPO-Hinweis",
                "Verständliche Satzlänge"
            ],
            "score": 93,
            "checks": [
                {
                    "id": "controller_identity",
                    "found": true,
                    "label": "Verantwortlicher / Anbieter"
                },
                {
                    "id": "contact",
                    "found": true,
                    "label": "Kontakt / Datenschutzkontakt"
                },
                {
                    "id": "purposes",
                    "found": true,
                    "label": "Zwecke der Verarbeitung"
                },
                {
                    "id": "legal_basis",
                    "found": true,
                    "label": "Rechtsgrundlagen"
                },
                {
                    "id": "rights",
                    "found": true,
                    "label": "Betroffenenrechte"
                },
                {
                    "id": "retention",
                    "found": true,
                    "label": "Speicherfrist / Löschung"
                },
                {
                    "id": "recipients",
                    "found": true,
                    "label": "Empfänger / Auftragsverarbeiter"
                },
                {
                    "id": "cookies_tracking",
                    "found": true,
                    "label": "Cookies / Tracking"
                },
                {
                    "id": "withdrawal",
                    "found": true,
                    "label": "Widerruf / Opt-out"
                },
                {
                    "id": "complaint_authority",
                    "found": true,
                    "label": "Beschwerde bei Aufsichtsbehörde"
                },
                {
                    "id": "third_country_transfer",
                    "found": true,
                    "label": "Drittlandtransfer"
                },
                {
                    "id": "update_date",
                    "found": false,
                    "label": "Stand / Aktualitätsdatum",
                    "detail": ""
                },
                {
                    "id": "dpo_contact",
                    "found": true,
                    "label": "Datenschutzkontakt / DPO-Hinweis"
                },
                {
                    "id": "readability",
                    "found": true,
                    "label": "Verständliche Satzlänge",
                    "detail": "10.7 Wörter/Satz"
                }
            ],
            "status": "unauffällig",
            "missing": [
                "Stand / Aktualitätsdatum"
            ],
            "summary": "13 von 14 zentralen Datenschutz-Bausteinen erkannt.",
            "findings": [
                {
                    "id": "privacy_policy_update_date_missing",
                    "title": "Stand der Datenschutzerklärung nicht klar erkennbar",
                    "public": true,
                    "category": "privacy",
                    "severity": "info"
                }
            ],
            "available": true,
            "freshness": {
                "stale": false,
                "age_days": null,
                "last_updated": "",
                "update_date_found": false
            },
            "word_count": 3385,
            "readability": {
                "hard_to_read": false,
                "sentence_count": 316,
                "avg_sentence_words": 10.7
            },
            "missing_count": 1,
            "dpo_contact_found": true
        },
        "sitemap_source_count": 3,
        "provider_disclosure_audit": {
            "color": "green",
            "found": [
                "Matomo"
            ],
            "score": 100,
            "checks": [
                {
                    "id": "analytics_matomo",
                    "found": true,
                    "category": "analytics",
                    "evidence": [
                        "matomo.kap-forum.de"
                    ],
                    "keywords": [
                        "matomo",
                        "piwik"
                    ],
                    "provider": "Matomo",
                    "category_label": "Analytics"
                }
            ],
            "status": "unauffällig",
            "missing": [],
            "summary": "1 von 1 technisch erkannten Anbieter(n) wurden in der Datenschutzerklärung erwähnt.",
            "available": true,
            "missing_count": 0,
            "detected_count": 1,
            "mentioned_count": 1
        },
        "important_categories_found": [
            "datenschutz",
            "impressum",
            "kontakt"
        ],
        "sampled_tracking_page_count": 0,
        "sampled_form_privacy_gap_count": 0,
        "sitemap_candidate_source_count": 2
    },
    "page_analysis": {
        "h1": [],
        "h2": [],
        "title": "KAP Forum für Architektur & Stadtentwicklung",
        "keywords": [
            [
                "teil",
                13
            ],
            [
                "forum",
                5
            ],
            [
                "architektur",
                4
            ],
            [
                "bauen",
                4
            ],
            [
                "stadtentwicklung",
                2
            ],
            [
                "unsere",
                2
            ],
            [
                "weniger",
                2
            ],
            [
                "denken",
                2
            ],
            [
                "zukunft",
                2
            ],
            [
                "köln",
                2
            ]
        ],
        "language": "de",
        "description": "Willkommen auf der Website des KAP-Forums. Hier bekommen Sie einen Überblick über unsere Veranstaltungen, Redner und Büros. Architektur für alle!",
        "favicon_url": "https://www.kap-forum.de/wp-content/themes/twentysixteen-child/favicon.ico",
        "link_counts": {
            "external": 7,
            "internal": 34
        },
        "preview_image": "/cache/screenshots/kap-forum.de-160x150-f18a51da2291b495ca.png",
        "screenshot_url": "/cache/screenshots/kap-forum.de-160x150-f18a51da2291b495ca.png",
        "external_scripts": [],
        "browser_final_url": "https://www.kap-forum.de/",
        "meta_preview_image": "https://www.kap-forum.de/wp-content/uploads/2017/01/kap-forum-og-black.png",
        "screenshot_renderer": "playwright-chromium",
        "external_link_targets": [
            {
                "host": "architektur-forum-rheinland.de",
                "count": 1,
                "examples": [
                    {
                        "href": "https://www.architektur-forum-rheinland.de/",
                        "text": ""
                    }
                ],
                "nofollow": 0,
                "strength": "weak",
                "follow_count": 1
            },
            {
                "host": "bundesstiftung-baukultur.de",
                "count": 1,
                "examples": [
                    {
                        "href": "https://www.bundesstiftung-baukultur.de/foerderverein",
                        "text": ""
                    }
                ],
                "nofollow": 0,
                "strength": "weak",
                "follow_count": 1
            },
            {
                "host": "german-architects.com",
                "count": 1,
                "examples": [
                    {
                        "href": "https://www.german-architects.com/de",
                        "text": ""
                    }
                ],
                "nofollow": 0,
                "strength": "weak",
                "follow_count": 1
            },
            {
                "host": "hda-koeln.de",
                "count": 1,
                "examples": [
                    {
                        "href": "https://www.hda-koeln.de",
                        "text": ""
                    }
                ],
                "nofollow": 0,
                "strength": "weak",
                "follow_count": 1
            },
            {
                "host": "nbau.org",
                "count": 1,
                "examples": [
                    {
                        "href": "https://www.nbau.org/",
                        "text": ""
                    }
                ],
                "nofollow": 0,
                "strength": "weak",
                "follow_count": 1
            },
            {
                "host": "polis-magazin.com",
                "count": 1,
                "examples": [
                    {
                        "href": "https://polis-magazin.com",
                        "text": ""
                    }
                ],
                "nofollow": 0,
                "strength": "weak",
                "follow_count": 1
            },
            {
                "host": "ungersarchiv.de",
                "count": 1,
                "examples": [
                    {
                        "href": "https://www.ungersarchiv.de/index.php/home.html",
                        "text": ""
                    }
                ],
                "nofollow": 0,
                "strength": "weak",
                "follow_count": 1
            }
        ]
    },
    "browser_analysis": {
        "cookies": {
            "items": [
                {
                    "name": "__cf_bm",
                    "domain": ".fonts.net",
                    "secure": true,
                    "expires": 1781891210.30222,
                    "http_only": true,
                    "same_site": "None"
                }
            ],
            "total": 1,
            "third_party": 1
        },
        "storage": {
            "total": 0,
            "local_storage_keys": [],
            "tracking_key_hints": [],
            "local_storage_total": 0,
            "session_storage_keys": [],
            "session_storage_total": 0
        },
        "findings": [
            {
                "id": "browser_privacy_relevant_third_parties",
                "title": "Datenschutzrelevante Drittanbieter im Browseraufruf",
                "public": true,
                "category": "privacy",
                "severity": "info"
            },
            {
                "id": "browser_consent_accept_only",
                "title": "Consent-Banner wirkt im Browser wie Akzeptieren-only",
                "public": true,
                "category": "privacy",
                "severity": "warning"
            },
            {
                "id": "browser_consent_settings_missing",
                "title": "Keine sichtbaren Cookie-Einstellungen im Banner",
                "public": true,
                "category": "privacy",
                "severity": "info"
            },
            {
                "id": "gpc_privacy_domains_present",
                "count": 1,
                "title": "Datenschutzrelevante Kontakte trotz GPC-Signal",
                "public": true,
                "category": "privacy",
                "severity": "info"
            },
            {
                "id": "gpc_third_party_cookies",
                "count": 1,
                "title": "Drittanbieter-Cookies trotz GPC-Signal",
                "public": true,
                "category": "privacy",
                "severity": "info"
            },
            {
                "id": "cmp_api_not_detected",
                "title": "Keine gängige CMP-/TCF-API im Browser erkannt",
                "public": true,
                "category": "privacy",
                "severity": "info"
            },
            {
                "id": "unknown_vendor_jurisdiction",
                "title": "Anbieter-Jurisdiktion nicht klar ableitbar",
                "public": true,
                "category": "privacy",
                "severity": "info"
            },
            {
                "id": "consent_state_gpc_evidence_review",
                "title": "Consent-Zustand: GPC mit Tracking-Hinweisen",
                "public": true,
                "category": "privacy",
                "severity": "info"
            }
        ],
        "renderer": "playwright-chromium",
        "final_url": "https://www.kap-forum.de/",
        "consent_ui": {
            "accept_controls": [
                {
                    "tag": "button",
                    "top": 896,
                    "area": 3012,
                    "left": 283,
                    "text": "OK",
                    "color": "rgb(255, 255, 255)",
                    "width": 61,
                    "height": 49,
                    "background": "rgb(0, 0, 0)",
                    "font_weight": "400"
                }
            ],
            "accept_max_area": 3012,
            "reject_controls": [],
            "reject_max_area": 0,
            "settings_controls": [],
            "first_layer_summary": "Akzeptieren 1 / Ablehnen 0 / Einstellungen 0",
            "cookie_context_found": true,
            "reject_less_prominent": false,
            "visible_control_count": 15,
            "reject_prominence_ratio": 0
        },
        "gpc_signal": {
            "error": "",
            "enabled": true,
            "storage": {
                "total": 0,
                "tracking_key_hints": [],
                "local_storage_total": 0,
                "session_storage_total": 0
            },
            "cookie_count": 1,
            "request_count": 89,
            "sec_gpc_header": true,
            "navigator_value": true,
            "contacted_domains": [
                {
                    "host": "kap-forum.de",
                    "count": 86,
                    "category": "other",
                    "provider": "kap-forum.de",
                    "third_party": false,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "xhr": 1,
                        "image": 79,
                        "script": 2,
                        "document": 1,
                        "stylesheet": 3
                    }
                },
                {
                    "host": "matomo.kap-forum.de",
                    "count": 2,
                    "category": "analytics",
                    "provider": "Matomo",
                    "third_party": true,
                    "category_label": "Analytics",
                    "resource_types": {
                        "script": 2
                    }
                },
                {
                    "host": "fast.fonts.net",
                    "count": 1,
                    "category": "other",
                    "provider": "fast.fonts.net",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "stylesheet": 1
                    }
                }
            ],
            "contacted_domain_count": 3,
            "privacy_relevant_domains": [
                {
                    "host": "matomo.kap-forum.de",
                    "count": 2,
                    "category": "analytics",
                    "provider": "Matomo",
                    "third_party": true,
                    "category_label": "Analytics",
                    "resource_types": {
                        "script": 2
                    }
                }
            ],
            "third_party_cookie_count": 1,
            "third_party_domain_count": 2,
            "privacy_relevant_domain_count": 1
        },
        "screenshot": {
            "fit": "contain",
            "width": 160,
            "height": 150,
            "source_width": 1024,
            "source_height": 960,
            "source_capture": "full_page",
            "capture_version": "contain-v4-viewport-transparency-160x150"
        },
        "consent_apis": {
            "cmpapi": false,
            "tcfapi": false,
            "onetrust": false,
            "cookiebot": false,
            "data_layer": false,
            "cmp_detected": false,
            "usercentrics": false,
            "google_tag_data": false
        },
        "accept_signal": {
            "error": "",
            "enabled": true,
            "storage": {
                "total": 0,
                "tracking_key_hints": [],
                "local_storage_total": 0,
                "session_storage_total": 0
            },
            "clicked_text": "OK",
            "accept_clicked": true,
            "accept_available": true,
            "contacted_domains": [
                {
                    "host": "kap-forum.de",
                    "count": 86,
                    "category": "other",
                    "provider": "kap-forum.de",
                    "third_party": false,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "xhr": 1,
                        "image": 79,
                        "script": 2,
                        "document": 1,
                        "stylesheet": 3
                    }
                },
                {
                    "host": "matomo.kap-forum.de",
                    "count": 2,
                    "category": "analytics",
                    "provider": "Matomo",
                    "third_party": true,
                    "category_label": "Analytics",
                    "resource_types": {
                        "script": 2
                    }
                },
                {
                    "host": "fast.fonts.net",
                    "count": 1,
                    "category": "other",
                    "provider": "fast.fonts.net",
                    "third_party": true,
                    "category_label": "Sonstige",
                    "resource_types": {
                        "stylesheet": 1
                    }
                }
            ],
            "contacted_domain_count": 3,
            "new_domains_after_accept": [],
            "privacy_relevant_domains": [
                {
                    "host": "matomo.kap-forum.de",
                    "count": 2,
                    "category": "analytics",
                    "provider": "Matomo",
                    "third_party": true,
                    "category_label": "Analytics",
                    "resource_types": {
                        "script": 2
                    }
                }
            ],
            "third_party_domain_count": 2,
            "cookie_count_after_accept": 2,
            "cookie_count_before_accept": 1,
            "request_count_after_accept": 89,
            "storage_count_after_accept": 0,
            "request_count_before_accept": 89,
            "new_cookie_count_after_accept": 1,
            "privacy_relevant_domain_count": 1,
            "new_request_count_after_accept": 0,
            "third_party_cookie_count_after_accept": 1,
            "storage_tracking_hint_count_after_accept": 0,
            "new_privacy_relevant_domains_after_accept": [],
            "new_privacy_relevant_domain_count_after_accept": 0
        },
        "request_count": 89,
        "top_providers": [
            {
                "provider": "Matomo",
                "request_count": 2
            },
            {
                "provider": "fast.fonts.net",
                "request_count": 1
            }
        ],
        "request_samples": [
            {
                "host": "fast.fonts.net",
                "method": "GET",
                "referrer": {
                    "host": "kap-forum.de",
                    "has_path": false,
                    "has_query": false,
                    "same_site": true,
                    "path_depth": 0,
                    "query_keys": [],
                    "sensitive_query_key_count": 0
                },
                "has_query": false,
                "path_depth": 2,
                "query_keys": [],
                "third_party": true,
                "resource_type": "stylesheet",
                "query_key_count": 0,
                "url_value_param_count": 0,
                "sensitive_query_key_count": 0,
                "target_url_value_param_count": 0
            },
            {
                "host": "matomo.kap-forum.de",
                "method": "GET",
                "referrer": {
                    "host": "kap-forum.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": "script",
                "query_key_count": 0,
                "url_value_param_count": 0,
                "sensitive_query_key_count": 0,
                "target_url_value_param_count": 0
            },
            {
                "host": "matomo.kap-forum.de",
                "method": "GET",
                "referrer": null,
                "has_query": false,
                "path_depth": 1,
                "query_keys": [],
                "third_party": true,
                "resource_type": "script",
                "query_key_count": 0,
                "url_value_param_count": 0,
                "sensitive_query_key_count": 0,
                "target_url_value_param_count": 0
            }
        ],
        "cmp_consent_state": {
            "tcf": {
                "api_found": false,
                "vendor_li": [],
                "cmp_loaded": false,
                "cmp_status": "",
                "purpose_li": [],
                "event_status": "",
                "gdpr_applies": null,
                "ping_success": false,
                "policy_version": "",
                "vendor_consents": [],
                "vendor_li_count": 0,
                "purpose_consents": [],
                "purpose_li_count": 0,
                "tc_string_length": 0,
                "tc_string_present": false,
                "vendor_consent_count": 0,
                "purpose_consent_count": 0
            },
            "onetrust": {
                "found": false,
                "active_groups": [],
                "active_group_count": 0
            },
            "cookiebot": {
                "found": false,
                "declined": false,
                "consented": false,
                "has_response": false,
                "consent_marketing": null,
                "consent_statistics": null,
                "consent_preferences": null
            },
            "usercentrics": {
                "found": false,
                "has_response": false,
                "services_count": 0,
                "accepted_services_count": 0
            }
        },
        "contacted_domains": [
            {
                "host": "kap-forum.de",
                "count": 86,
                "category": "other",
                "provider": "kap-forum.de",
                "third_party": false,
                "category_label": "Sonstige",
                "resource_types": {
                    "xhr": 1,
                    "image": 79,
                    "script": 2,
                    "document": 1,
                    "stylesheet": 3
                }
            },
            {
                "host": "matomo.kap-forum.de",
                "count": 2,
                "category": "analytics",
                "provider": "Matomo",
                "third_party": true,
                "category_label": "Analytics",
                "resource_types": {
                    "script": 2
                }
            },
            {
                "host": "fast.fonts.net",
                "count": 1,
                "category": "other",
                "provider": "fast.fonts.net",
                "third_party": true,
                "category_label": "Sonstige",
                "resource_types": {
                    "stylesheet": 1
                }
            }
        ],
        "privacy_api_metrics": {
            "api_calls": {
                "keyboard_input_listener_count": 2
            },
            "beacon_count": 0,
            "webgl_read_count": 0,
            "canvas_read_count": 0,
            "audio_context_count": 0,
            "canvas_export_count": 0,
            "fetch_keepalive_count": 0,
            "webgl_parameter_count": 0,
            "mutation_observer_count": 0,
            "keyboard_input_listener_count": 2
        },
        "tcf_consent_analysis": {
            "color": "green",
            "score": 100,
            "status": "unauffällig",
            "summary": "TCF-Decoder: 0 Zweck(e) mit Consent/LI-Signal, 0 Vendor-Consent(s), 0 Vendor-LI-Signal(e).",
            "findings": [],
            "api_found": false,
            "available": false,
            "cmp_loaded": false,
            "cmp_status": "",
            "event_status": "",
            "gdpr_applies": null,
            "ping_success": false,
            "purpose_rows": [
                {
                    "id": 1,
                    "label": "Informationen auf einem Gerät speichern und/oder abrufen",
                    "status": "nicht_erlaubt",
                    "risk_level": "niedrig",
                    "consent_granted": false,
                    "legitimate_interest_granted": false
                },
                {
                    "id": 2,
                    "label": "Einfache Anzeigen auswählen",
                    "status": "nicht_erlaubt",
                    "risk_level": "niedrig",
                    "consent_granted": false,
                    "legitimate_interest_granted": false
                },
                {
                    "id": 3,
                    "label": "Personalisiertes Anzeigen-Profil erstellen",
                    "status": "nicht_erlaubt",
                    "risk_level": "niedrig",
                    "consent_granted": false,
                    "legitimate_interest_granted": false
                },
                {
                    "id": 4,
                    "label": "Personalisierte Anzeigen auswählen",
                    "status": "nicht_erlaubt",
                    "risk_level": "niedrig",
                    "consent_granted": false,
                    "legitimate_interest_granted": false
                },
                {
                    "id": 5,
                    "label": "Personalisiertes Inhalts-Profil erstellen",
                    "status": "nicht_erlaubt",
                    "risk_level": "niedrig",
                    "consent_granted": false,
                    "legitimate_interest_granted": false
                },
                {
                    "id": 6,
                    "label": "Personalisierte Inhalte auswählen",
                    "status": "nicht_erlaubt",
                    "risk_level": "niedrig",
                    "consent_granted": false,
                    "legitimate_interest_granted": false
                },
                {
                    "id": 7,
                    "label": "Anzeigen-Leistung messen",
                    "status": "nicht_erlaubt",
                    "risk_level": "niedrig",
                    "consent_granted": false,
                    "legitimate_interest_granted": false
                },
                {
                    "id": 8,
                    "label": "Inhalte-Leistung messen",
                    "status": "nicht_erlaubt",
                    "risk_level": "niedrig",
                    "consent_granted": false,
                    "legitimate_interest_granted": false
                },
                {
                    "id": 9,
                    "label": "Marktforschung zur Generierung von Erkenntnissen nutzen",
                    "status": "nicht_erlaubt",
                    "risk_level": "niedrig",
                    "consent_granted": false,
                    "legitimate_interest_granted": false
                },
                {
                    "id": 10,
                    "label": "Produkte entwickeln und verbessern",
                    "status": "nicht_erlaubt",
                    "risk_level": "niedrig",
                    "consent_granted": false,
                    "legitimate_interest_granted": false
                },
                {
                    "id": 11,
                    "label": "Begrenzte Daten zur Anzeigen-Auswahl verwenden",
                    "status": "nicht_erlaubt",
                    "risk_level": "niedrig",
                    "consent_granted": false,
                    "legitimate_interest_granted": false
                }
            ],
            "vendor_li_ids": [],
            "policy_version": "",
            "vendor_li_count": 0,
            "purpose_li_count": 0,
            "tc_string_length": 0,
            "tc_string_present": false,
            "vendor_consent_ids": [],
            "granted_purpose_rows": [],
            "vendor_consent_count": 0,
            "purpose_consent_count": 0,
            "high_risk_purpose_count": 0,
            "medium_risk_purpose_count": 0
        },
        "viewport_transparency": {
            "samples": [
                {
                    "tag": "nav",
                    "top": 101,
                    "href": "",
                    "left": 700,
                    "text": "Diskurs Programm Nachlesen Magazin Über uns Kontakt / Newsletter",
                    "width": 242,
                    "height": 165,
                    "category": "contact"
                },
                {
                    "tag": "a",
                    "top": 238,
                    "href": "https://www.kap-forum.de/kontakt/",
                    "left": 700,
                    "text": "Kontakt / Newsletter",
                    "width": 242,
                    "height": 28,
                    "category": "contact"
                },
                {
                    "tag": "div",
                    "top": 835,
                    "href": "",
                    "left": 0,
                    "text": "Um unsere Webseite für Sie optimal zu gestalten und fortlaufend verbessern zu können, verw",
                    "width": 1024,
                    "height": 125,
                    "category": "cookie_consent"
                },
                {
                    "tag": "button",
                    "top": 896,
                    "href": "",
                    "left": 446,
                    "text": "DATENSCHUTZERKLÄRUNG",
                    "width": 305,
                    "height": 49,
                    "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": {
                "contact": 2,
                "cookie_consent": 1,
                "privacy_notice": 1
            },
            "contact_visible": true,
            "imprint_visible": false,
            "viewport_height": 960,
            "cookie_consent_visible": true,
            "privacy_notice_visible": true
        },
        "consent_journey_matrix": {
            "color": "green",
            "items": [
                {
                    "host": "matomo.kap-forum.de",
                    "states": {
                        "gpc": 2,
                        "default": 2
                    },
                    "category": "analytics",
                    "provider": "Matomo",
                    "category_label": "Analytics",
                    "privacy_relevant": true,
                    "total_request_count": 4
                },
                {
                    "host": "fast.fonts.net",
                    "states": {
                        "gpc": 1,
                        "default": 1
                    },
                    "category": "other",
                    "provider": "fast.fonts.net",
                    "category_label": "Sonstige",
                    "privacy_relevant": false,
                    "total_request_count": 2
                }
            ],
            "score": 92,
            "states": [
                {
                    "id": "default",
                    "label": "Erstaufruf",
                    "description": "Kontakte ohne Nutzeraktion",
                    "domain_count": 2,
                    "request_count": 3,
                    "privacy_relevant_domain_count": 1
                },
                {
                    "id": "reject_new",
                    "label": "Nach Ablehnen neu",
                    "description": "Neue Kontakte nach Ablehnen-Klick",
                    "domain_count": 0,
                    "request_count": 0,
                    "privacy_relevant_domain_count": 0
                },
                {
                    "id": "accept_new",
                    "label": "Nach Akzeptieren neu",
                    "description": "Neue Kontakte nach Akzeptieren-Klick",
                    "domain_count": 0,
                    "request_count": 0,
                    "privacy_relevant_domain_count": 0
                },
                {
                    "id": "gpc",
                    "label": "GPC-Aufruf",
                    "description": "Kontakte bei Global Privacy Control",
                    "domain_count": 2,
                    "request_count": 3,
                    "privacy_relevant_domain_count": 1
                }
            ],
            "status": "unauffällig",
            "summary": "Consent-Journey: 0 neue Datenschutz-Domain(s) nach Ablehnen, 0 nach Akzeptieren, 1 im GPC-Aufruf.",
            "gpc_privacy_relevant_domain_count": 1,
            "accept_privacy_relevant_domain_count": 0,
            "reject_privacy_relevant_domain_count": 0
        },
        "consent_state_evidence": {
            "rows": [
                {
                    "id": "default",
                    "label": "Erstaufruf",
                    "status": "ohne Nutzeraktion",
                    "evidence": "Baseline aus erstem Chromium-Aufruf ohne Banner-Interaktion.",
                    "risk_level": "mittel",
                    "cookie_count": 1,
                    "domain_count": 3,
                    "request_count": 89,
                    "storage_total": 0,
                    "new_cookie_count": 1,
                    "third_party_cookie_count": 0,
                    "storage_tracking_hint_count": 0,
                    "privacy_relevant_domain_count": 1
                },
                {
                    "id": "reject",
                    "label": "Nach Ablehnen",
                    "status": "nicht verfügbar",
                    "evidence": "",
                    "risk_level": "niedrig",
                    "cookie_count": 1,
                    "domain_count": 0,
                    "request_count": 0,
                    "storage_total": 0,
                    "new_cookie_count": 0,
                    "third_party_cookie_count": 0,
                    "storage_tracking_hint_count": 0,
                    "privacy_relevant_domain_count": 0
                },
                {
                    "id": "accept",
                    "label": "Nach Akzeptieren",
                    "status": "geklickt",
                    "evidence": "OK",
                    "risk_level": "info",
                    "cookie_count": 2,
                    "domain_count": 3,
                    "request_count": 89,
                    "storage_total": 0,
                    "new_cookie_count": 1,
                    "third_party_cookie_count": 1,
                    "storage_tracking_hint_count": 0,
                    "privacy_relevant_domain_count": 0
                },
                {
                    "id": "gpc",
                    "label": "GPC-Aufruf",
                    "status": "aktiv",
                    "evidence": "Navigator-GPC und Sec-GPC wurden im gesonderten Browserlauf gesetzt.",
                    "risk_level": "mittel",
                    "cookie_count": 1,
                    "domain_count": 3,
                    "request_count": 89,
                    "storage_total": 0,
                    "new_cookie_count": 0,
                    "third_party_cookie_count": 1,
                    "storage_tracking_hint_count": 0,
                    "privacy_relevant_domain_count": 1
                }
            ],
            "color": "yellow",
            "score": 80,
            "status": "prüfen",
            "summary": "Consent-State-Evidence: 4 Zustände verglichen, 0 hoch auffällig, 2 mittel auffällig.",
            "findings": [
                {
                    "id": "consent_state_gpc_evidence_review",
                    "title": "Consent-Zustand: GPC mit Tracking-Hinweisen",
                    "public": true,
                    "category": "privacy",
                    "severity": "info"
                }
            ],
            "available": true,
            "high_count": 0,
            "medium_count": 2
        },
        "contacted_domain_count": 3,
        "fingerprinting_analysis": {
            "color": "green",
            "score": 100,
            "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": true,
                    "count": 2,
                    "label": "Tastatur-/Eingabe-Listener",
                    "detail": "2 Tastatur-/Input-Listener, 21 Interaktions-Listener, 0 MutationObserver."
                }
            ],
            "status": "unauffällig",
            "metrics": {
                "webgl_read_count": 0,
                "canvas_read_count": 0,
                "audio_context_count": 0,
                "canvas_export_count": 0,
                "webgl_parameter_count": 0,
                "mutation_observer_count": 0,
                "keyboard_input_listener_count": 2
            },
            "summary": "0 Fingerprinting-/Session-Replay-Hinweis(e) aus dem Browserlauf.",
            "findings": [],
            "finding_count": 0,
            "session_replay_domains": []
        },
        "privacy_relevant_domains": [
            {
                "host": "matomo.kap-forum.de",
                "count": 2,
                "category": "analytics",
                "provider": "Matomo",
                "third_party": true,
                "category_label": "Analytics",
                "resource_types": {
                    "script": 2
                }
            }
        ],
        "provider_category_counts": {
            "other": 1,
            "analytics": 1
        },
        "provider_category_labels": {
            "other": "other",
            "analytics": "Analytics"
        },
        "third_party_domain_count": 2,
        "embedded_content_analysis": {
            "color": "green",
            "items": [],
            "score": 100,
            "status": "unauffällig",
            "summary": "0 externe Embed-/Widget-Dienst(e), 0 davon im ersten Browseraufruf geladen.",
            "findings": [],
            "map_count": 0,
            "total_count": 0,
            "video_count": 0,
            "captcha_count": 0,
            "category_counts": [],
            "social_widget_count": 0,
            "loaded_pre_consent_count": 0,
            "request_count_by_provider": []
        },
        "referrer_leakage_analysis": {
            "color": "green",
            "items": [],
            "score": 100,
            "status": "unauffällig",
            "summary": "0 Drittanbieter-Domain(s) mit Referrer-/URL-Leak-Prüfbedarf, 0 sensible Query-Kontexte.",
            "findings": [],
            "sample_count": 3,
            "full_referrer_count": 0,
            "page_url_param_count": 0,
            "affected_domain_count": 0,
            "sensitive_query_count": 0
        },
        "third_party_contact_matrix": {
            "color": "yellow",
            "items": [
                {
                    "host": "matomo.kap-forum.de",
                    "region": "EU/selbst gehostet möglich",
                    "status": "vor Einwilligung prüfen",
                    "category": "analytics",
                    "provider": "Matomo",
                    "risk_level": "hoch",
                    "request_count": 2,
                    "transfer_risk": "mittel",
                    "category_label": "Analytics",
                    "resource_types": [
                        {
                            "type": "script",
                            "count": 2
                        }
                    ],
                    "transfer_label": "EU/EWR oder selbst gehostet",
                    "privacy_relevant": true
                },
                {
                    "host": "fast.fonts.net",
                    "region": "unbekannt",
                    "status": "prüfen",
                    "category": "other",
                    "provider": "fast.fonts.net",
                    "risk_level": "niedrig",
                    "request_count": 1,
                    "transfer_risk": "mittel",
                    "category_label": "Sonstige",
                    "resource_types": [
                        {
                            "type": "stylesheet",
                            "count": 1
                        }
                    ],
                    "transfer_label": "Jurisdiktion unklar",
                    "privacy_relevant": false
                }
            ],
            "score": 85,
            "status": "prüfen",
            "summary": "2 Drittanbieter-Domain(s) beim ersten Browseraufruf, davon 1 datenschutzrelevant.",
            "category_counts": {
                "Sonstige": 1,
                "Analytics": 1
            },
            "total_domain_count": 2,
            "total_request_count": 3,
            "privacy_relevant_count": 1,
            "transfer_risk_analysis": {
                "color": "green",
                "items": [
                    {
                        "host": "matomo.kap-forum.de",
                        "region": "EU/selbst gehostet möglich",
                        "provider": "Matomo",
                        "request_count": 2,
                        "transfer_risk": "mittel",
                        "category_label": "Analytics",
                        "transfer_label": "EU/EWR oder selbst gehostet",
                        "privacy_relevant": true
                    },
                    {
                        "host": "fast.fonts.net",
                        "region": "unbekannt",
                        "provider": "fast.fonts.net",
                        "request_count": 1,
                        "transfer_risk": "mittel",
                        "category_label": "Sonstige",
                        "transfer_label": "Jurisdiktion unklar",
                        "privacy_relevant": false
                    }
                ],
                "score": 92,
                "status": "unauffällig",
                "summary": "2 Drittanbieter für Transfer-/Jurisdiktionsprüfung, 0 mit hohem Prüfbedarf, 1 unklar.",
                "findings": [
                    {
                        "id": "unknown_vendor_jurisdiction",
                        "title": "Anbieter-Jurisdiktion nicht klar ableitbar",
                        "public": true,
                        "category": "privacy",
                        "severity": "info"
                    }
                ],
                "unknown_count": 1,
                "high_risk_count": 0,
                "total_vendor_count": 2,
                "third_country_count": 0
            }
        },
        "privacy_relevant_domain_count": 1,
        "tracking_pixel_beacon_analysis": {
            "color": "green",
            "items": [],
            "score": 100,
            "status": "unauffällig",
            "summary": "0 Pixel-/Bildtracking-Hinweis(e), 0 Beacon-/Telemetry-Hinweis(e), 0 Link-Ping(s).",
            "findings": [],
            "pixel_count": 0,
            "link_ping_count": 0,
            "telemetry_count": 0,
            "beacon_api_count": 0,
            "third_party_count": 0,
            "fetch_keepalive_count": 0,
            "privacy_relevant_count": 0,
            "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": [],
        "tracking_ids": [],
        "tracking_scripts": [],
        "consent_hint_found": false,
        "privacy_policy_hint_found": true
    },
    "consent_audit": {
        "color": "orange",
        "score": 54,
        "checks": [
            {
                "id": "banner_visible",
                "ok": true,
                "label": "Cookie-/Consent-Hinweis sichtbar",
                "detail": "Ein Hinweis mit Cookie-/Einwilligungsbezug wurde im sichtbaren Text erkannt."
            },
            {
                "id": "reject_visible",
                "ok": true,
                "label": "Ablehnen gleichwertig erreichbar",
                "detail": "Ablehnen oder nur notwendige Cookies wurde im Text oder Browser erkannt. Browser-Buttons: 0."
            },
            {
                "id": "settings_visible",
                "ok": false,
                "label": "Einstellungen oder Auswahl vorhanden",
                "detail": "Eine Einstellungs- oder Auswahlmoeglichkeit wurde im Text oder Browser erkannt. Browser-Buttons: 0."
            },
            {
                "id": "browser_reject_visible",
                "ok": false,
                "label": "Ablehnen im sichtbaren Banner",
                "detail": "Sichtbare Banner-Controls: Akzeptieren 1, Ablehnen 0, Einstellungen 0."
            },
            {
                "id": "browser_settings_visible",
                "ok": false,
                "label": "Einstellungen im sichtbaren Banner",
                "detail": "Sichtbare Banner-Controls: Akzeptieren 1, Ablehnen 0, Einstellungen 0."
            },
            {
                "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": "0 Tracking-Hinweis(e) im Web Storage nach Ablehnen."
            },
            {
                "id": "no_privacy_domains_after_reject",
                "ok": true,
                "label": "Keine neuen Tracking-Kontakte nach Ablehnen",
                "detail": "0 neue datenschutzrelevante Domain(s) nach Ablehnen."
            },
            {
                "id": "gpc_signal_respected",
                "ok": false,
                "label": "GPC-Signal ohne Tracking-Hinweise",
                "detail": "GPC-Aufruf: 1 datenschutzrelevante Domain(s), 1 Drittanbieter-Cookie(s), 0 Storage-Hinweis(e)."
            },
            {
                "id": "no_tracking_cookies_before_consent",
                "ok": true,
                "label": "Keine Tracking-Cookies vor Einwilligung",
                "detail": "0 Tracking-Cookie(s) im Erstaufruf."
            },
            {
                "id": "no_nonessential_cookies_before_consent",
                "ok": false,
                "label": "Keine nicht notwendigen Cookies vor Einwilligung",
                "detail": "1 moeglicherweise nicht notwendige Cookie(s) im Erstaufruf."
            },
            {
                "id": "third_parties_explained",
                "ok": true,
                "label": "Drittanbieter begrenzt und erklaerbar",
                "detail": "0 datenschutzrelevante Drittanbieter-Domain(s), 2 Drittanbieter insgesamt."
            },
            {
                "id": "storage_without_tracking_hints",
                "ok": true,
                "label": "Web Storage ohne Tracking-Hinweise",
                "detail": "0 Storage-Key(s), 0 Tracking-Hinweis(e)."
            },
            {
                "id": "cmp_api_detected_when_needed",
                "ok": true,
                "label": "CMP-/TCF-Signal bei Tracking erkennbar",
                "detail": "Gängige CMP-/TCF-Indikatoren: __tcfapi, __cmp, Cookiebot, OneTrust oder Usercentrics."
            },
            {
                "id": "accept_click_documented",
                "ok": true,
                "label": "Akzeptieren-Klick nachvollziehbar",
                "detail": "Accept-Test: geklickt, neue Requests 0, neue Cookies 1, neue Datenschutz-Domains 0."
            },
            {
                "id": "cmp_state_readable",
                "ok": true,
                "label": "CMP-/TCF-Zustand auslesbar",
                "detail": "TCF TC-String: nein, Cookiebot: nein, OneTrust: nein, Usercentrics: nein."
            },
            {
                "id": "cmp_default_restrictive",
                "ok": true,
                "label": "CMP-Default wirkt restriktiv",
                "detail": "TCF Purposes erlaubt: 0, TCF Vendors erlaubt: 0, Cookiebot Statistik/Marketing: nein."
            }
        ],
        "status": "auffällig",
        "summary": "Consent, Tracking oder Drittanbieter wirken im Erstaufruf deutlich nachbesserungsbeduerftig.",
        "evidence": [
            "1 Cookie(s) beim ersten Aufruf aus HTTP-Headern und Chromium",
            "0 Tracking-Script(s) im HTML",
            "0 datenschutzrelevante Drittanbieter-Domain(s)",
            "0 Storage-Key(s), 0 Tracking-Hinweis(e)",
            "Consent-Banner-Controls: Akzeptieren 1, Ablehnen 0, Einstellungen 0",
            "Ablehnen/Akzeptieren-Prominenz: nicht messbar",
            "Reject-Test: nicht ausgefuehrt, neue Cookies 0, Tracking-Storage 0, neue Datenschutz-Domains 0",
            "Accept-Test: geklickt, neue Requests 0, neue Cookies 1, neue Datenschutz-Domains 0, Drittanbieter-Cookies 1",
            "CMP-State: TCF-String nein, TCF Purposes 0, TCF Vendors 0, Cookiebot nein, OneTrust-Gruppen 0, Usercentrics-Services 0",
            "GPC-Test: aktiv, Datenschutz-Domains 1, Drittanbieter-Cookies 1, Storage-Hinweise 0",
            "CMP-/TCF-Signal: nein",
            "Google Consent Default: nein"
        ],
        "gpc_enabled": true,
        "cmp_detected": false,
        "blocking_plan": {
            "items": [
                {
                    "kind": "third_party_request",
                    "level": "hoch",
                    "source": "Matomo",
                    "target": "matomo.kap-forum.de",
                    "recipes": [
                        {
                            "tool": "Google Tag Manager"
                        },
                        {
                            "tool": "Cookiebot"
                        },
                        {
                            "tool": "Usercentrics"
                        },
                        {
                            "tool": "OneTrust"
                        },
                        {
                            "tool": "Developer-Fallback"
                        }
                    ],
                    "category": "analytics",
                    "evidence": "2 Request(s) im Erstaufruf · Analytics",
                    "category_label": "Analytics"
                },
                {
                    "kind": "cookie",
                    "level": "mittel",
                    "source": "fonts.net",
                    "target": "__cf_bm",
                    "recipes": [
                        {
                            "tool": "Google Tag Manager"
                        },
                        {
                            "tool": "Cookiebot"
                        },
                        {
                            "tool": "Usercentrics"
                        },
                        {
                            "tool": "OneTrust"
                        },
                        {
                            "tool": "Developer-Fallback"
                        }
                    ],
                    "category": "unknown",
                    "evidence": "vor Consent gesetzt · fonts.net · kurz (0 Tage)",
                    "category_label": "Unklar"
                }
            ],
            "summary": "2 Blockier-/Consent-Maßnahme(n) abgeleitet: 1 hoch, 1 mittel.",
            "available": true,
            "high_count": 1,
            "total_count": 2,
            "type_counts": {
                "cookie": 1,
                "third_party_request": 1
            },
            "medium_count": 1
        },
        "tcf_api_found": false,
        "cookiebot_found": false,
        "accept_test_enabled": true,
        "browser_cookie_count": 1,
        "accept_button_clicked": true,
        "browser_storage_count": 0,
        "reject_button_clicked": false,
        "reject_less_prominent": false,
        "tcf_tc_string_present": false,
        "tracking_script_count": 0,
        "accept_button_available": true,
        "reject_button_available": false,
        "reject_prominence_ratio": 0,
        "pre_consent_cookie_count": 1,
        "pre_consent_cookie_names": [
            "__cf_bm"
        ],
        "tcf_vendor_consent_count": 0,
        "third_party_domain_count": 2,
        "tcf_purpose_consent_count": 0,
        "onetrust_active_group_count": 0,
        "usercentrics_services_count": 0,
        "browser_accept_control_count": 1,
        "browser_cookie_context_found": true,
        "browser_reject_control_count": 0,
        "gpc_third_party_cookie_count": 1,
        "post_accept_new_cookie_count": 1,
        "post_reject_new_cookie_count": 0,
        "post_accept_new_request_count": 0,
        "browser_settings_control_count": 0,
        "gpc_storage_tracking_hint_count": 0,
        "cookiebot_marketing_or_statistics": false,
        "gpc_privacy_relevant_domain_count": 1,
        "pre_consent_tracking_cookie_count": 0,
        "pre_consent_tracking_cookie_names": [],
        "privacy_relevant_third_party_count": 0,
        "browser_storage_tracking_hint_count": 0,
        "post_accept_third_party_cookie_count": 1,
        "pre_consent_nonessential_cookie_count": 1,
        "pre_consent_nonessential_cookie_names": [
            "__cf_bm"
        ],
        "post_accept_storage_tracking_hint_count": 0,
        "post_reject_storage_tracking_hint_count": 0,
        "post_accept_privacy_relevant_domain_count": 0,
        "post_reject_privacy_relevant_domain_count": 0
    },
    "cookie_inventory": {
        "color": "green",
        "items": [
            {
                "name": "__cf_bm",
                "domain": "fonts.net",
                "secure": true,
                "sources": [
                    "browser_first_load"
                ],
                "category": "unknown",
                "provider": "fonts.net",
                "tracking": false,
                "http_only": true,
                "same_site": "None",
                "expires_at": "2026-06-19T17:46:50+00:00",
                "long_lived": false,
                "persistent": true,
                "first_party": false,
                "origin_host": "fonts.net",
                "pre_consent": true,
                "source_label": "Chromium-Erstaufruf",
                "category_label": "Unklar",
                "retention_risk": "niedrig",
                "expires_in_days": 0,
                "origin_evidence": "Cookie-Domain ist Drittanbieter; konkreter Request wurde im Sample nicht eindeutig zugeordnet.",
                "origin_provider": "fonts.net",
                "retention_class": "short",
                "retention_label": "kurz (0 Tage)",
                "likely_essential": false,
                "origin_script_url": "",
                "origin_resource_type": ""
            }
        ],
        "score": 92,
        "total": 1,
        "status": "unauffällig",
        "summary": "1 Cookie(s) inventarisiert: 0 Tracking-/Werbe-Cookie(s), 1 Drittanbieter-Cookie(s), 0 langlebige Cookie(s), 0 sehr lange Laufzeit(en).",
        "findings": [],
        "categories": {
            "unknown": 1
        },
        "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": 1,
        "first_party_count": 0,
        "pre_consent_count": 1,
        "retention_classes": {
            "short": 1
        },
        "third_party_count": 1,
        "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": false,
            "dnssec": false,
            "final_https": true,
            "tls_version": "TLSv1.3",
            "hsts_enabled": false,
            "address_count": 1,
            "ipv6_available": false,
            "email_protection": {
                "mx": true,
                "spf": true,
                "dmarc": false
            },
            "certificate_valid": true,
            "certificate_issuer": "R12",
            "certificate_alt_names": [
                "kap-forum.de",
                "www.kap-forum.de"
            ],
            "multiple_ip_addresses": false,
            "certificate_expires_at": "Jul 26 12:59:30 2026 GMT",
            "certificate_days_remaining": 36,
            "certificate_hostname_matches": true
        },
        "findings": [
            {
                "id": "dmarc_missing",
                "title": "DMARC fehlt",
                "public": true,
                "category": "email",
                "severity": "info"
            },
            {
                "id": "caa_missing",
                "title": "CAA-Record fehlt",
                "public": true,
                "category": "dns",
                "severity": "info"
            }
        ],
        "risk_level": "low",
        "positive_signals": [
            "Moderne TLS-Version aktiv: TLSv1.3."
        ]
    },
    "performance_analysis": {
        "score": 94,
        "signals": {
            "compressed": false,
            "duration_ms": 204,
            "image_count": 17,
            "script_count": 3,
            "cache_control": "",
            "content_length": 0,
            "viewport_found": true,
            "stylesheet_count": 7
        },
        "findings": [
            {
                "id": "too_many_render_blocking_assets",
                "title": "Viele potenziell blockierende Assets",
                "public": true,
                "category": "performance",
                "severity": "info"
            }
        ],
        "risk_level": "medium"
    },
    "accessibility_analysis": {
        "color": "orange",
        "score": 52,
        "status": "auffällig",
        "signals": {
            "h1_count": 0,
            "image_count": 17,
            "button_count": 6,
            "heading_count": 3,
            "viewport_found": true,
            "html_lang_found": true,
            "form_field_count": 1,
            "image_missing_alt_count": 9,
            "buttons_without_name_count": 2,
            "form_fields_without_label_count": 0
        },
        "summary": "17 Bild(er), 1 Formularfeld(er), 6 Button(s) im passiven HTML-Sample auf Basis-Barrierefreiheit geprüft.",
        "findings": [
            {
                "id": "image_alt_missing",
                "count": 9,
                "title": "Bilder ohne Alternativtext",
                "public": true,
                "category": "accessibility",
                "severity": "info",
                "evidence_items": [
                    "https://www.kap-forum.de/wp-content/uploads/2026/02/KAP_Weniger-ist-mehr_02.gif",
                    "https://www.kap-forum.de/wp-content/uploads/2025/03/KAP_Zirkulaeres_Bauen_V3_3.gif",
                    "https://www.kap-forum.de/wp-content/uploads/2024/04/QUO-VADIS-2_4.gif",
                    "https://www.kap-forum.de/wp-content/uploads/2024/02/KAP_20_Header_tuerkis.png",
                    "https://www.kap-forum.de/wp-content/uploads/2023/11/KAP_Architekturfuehrer_Koeln_2.jpg",
                    "https://www.kap-forum.de/wp-content/uploads/2023/03/KAP_KI_web.gif",
                    "https://www.kap-forum.de/wp-content/uploads/2023/01/KAP_web_Zukunft_gestalten.gif",
                    "https://www.kap-forum.de/wp-content/uploads/2022/05/KAP_Bauwende_home.gif"
                ]
            },
            {
                "id": "button_name_missing",
                "count": 2,
                "title": "Buttons ohne erkennbaren Namen",
                "public": true,
                "category": "accessibility",
                "severity": "warning",
                "evidence_items": [
                    "type=button class=\"menu-toggle\"",
                    "type=button class=\"tnp-submit\""
                ]
            }
        ],
        "wcag_matrix": {
            "rows": [
                {
                    "id": "wcag_non_text_content",
                    "ok": false,
                    "wcag": "WCAG 1.1.1 Non-text Content",
                    "title": "Alternativtexte für Bilder",
                    "impact": "mittel",
                    "status": "prüfen",
                    "evidence": "9 von 17 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 1 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 6 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": false,
                    "wcag": "WCAG 1.3.1 Info and Relationships / 2.4.6 Headings and Labels",
                    "title": "Überschriftenstruktur",
                    "impact": "mittel",
                    "status": "prüfen",
                    "evidence": "0 H1 und 3 Überschrift(en) im HTML-Sample."
                },
                {
                    "id": "wcag_mobile_reflow",
                    "ok": true,
                    "wcag": "WCAG 1.4.10 Reflow",
                    "title": "Mobile Viewport-Basis",
                    "impact": "niedrig",
                    "status": "ok",
                    "evidence": "Viewport-Meta-Tag gefunden."
                }
            ],
            "summary": "3 WCAG-/EAA-Prüfpunkt(e) auffällig, davon 1 mit hoher Auswirkung.",
            "standard": "WCAG 2.2 orientierte Basisprüfung",
            "available": true,
            "issue_count": 3,
            "high_impact_count": 1
        }
    },
    "domain_history": {
        "status": [
            "active"
        ],
        "summary": "RDAP liefert kein klares Registrierungsdatum.",
        "age_days": null,
        "findings": [],
        "available": true,
        "registrar": "",
        "expires_at": "",
        "risk_level": "unknown",
        "registered_at": "",
        "expires_in_days": null,
        "last_changed_at": "2020-12-17T10:31:57+00:00"
    },
    "data_entry_analysis": {
        "forms": [
            {
                "method": "POST",
                "purpose": "E-Mail",
                "data_types": [
                    {
                        "id": "email",
                        "label": "E-Mail"
                    }
                ],
                "field_count": 1
            },
            {
                "url": "https://www.kap-forum.de/datenschutz",
                "path": "/datenschutz",
                "method": "UNBEKANNT",
                "source": "crawl",
                "purpose": "Formular",
                "data_types": [],
                "field_count": 0
            },
            {
                "url": "https://www.kap-forum.de/impressum",
                "path": "/impressum",
                "method": "UNBEKANNT",
                "source": "crawl",
                "purpose": "Formular",
                "data_types": [],
                "field_count": 0
            },
            {
                "url": "https://www.kap-forum.de/kontakt",
                "path": "/kontakt",
                "method": "UNBEKANNT",
                "source": "crawl",
                "purpose": "Formular",
                "data_types": [],
                "field_count": 0
            },
            {
                "url": "https://www.kap-forum.de/1894-2",
                "path": "/1894-2",
                "method": "UNBEKANNT",
                "source": "crawl",
                "purpose": "Formular",
                "data_types": [],
                "field_count": 0
            },
            {
                "purpose": "Formular",
                "field_count": 0,
                "source": "crawl",
                "path": "/datenschutz",
                "url": "https://www.kap-forum.de/datenschutz"
            },
            {
                "purpose": "Formular",
                "field_count": 0,
                "source": "crawl",
                "path": "/impressum",
                "url": "https://www.kap-forum.de/impressum"
            },
            {
                "purpose": "Formular",
                "field_count": 0,
                "source": "crawl",
                "path": "/kontakt",
                "url": "https://www.kap-forum.de/kontakt"
            },
            {
                "purpose": "Formular",
                "field_count": 0,
                "source": "crawl",
                "path": "/1894-2",
                "url": "https://www.kap-forum.de/1894-2"
            }
        ],
        "score": 84,
        "summary": "Crawl fand 4 Formular(e) auf 4 geprüften Seite(n), u. a. /datenschutz, /impressum, /kontakt, /1894-2.",
        "findings": [],
        "form_count": 4,
        "risk_level": "medium",
        "field_count": 1,
        "asks_for_data": true,
        "crawl_form_pages": [
            {
                "url": "https://www.kap-forum.de/datenschutz",
                "path": "/datenschutz",
                "category": "datenschutz",
                "form_count": 1
            },
            {
                "url": "https://www.kap-forum.de/impressum",
                "path": "/impressum",
                "category": "impressum",
                "form_count": 1
            },
            {
                "url": "https://www.kap-forum.de/kontakt",
                "path": "/kontakt",
                "category": "kontakt",
                "form_count": 1
            },
            {
                "url": "https://www.kap-forum.de/1894-2",
                "path": "/1894-2",
                "category": "unterseite",
                "form_count": 1
            }
        ],
        "payment_providers": [],
        "detected_data_types": [
            {
                "id": "email",
                "count": 1,
                "label": "E-Mail"
            },
            {
                "id": "newsletter",
                "count": 1,
                "label": "Newsletter"
            },
            {
                "id": "contact",
                "count": 1,
                "label": "Kontaktformular"
            }
        ],
        "crawl_form_page_count": 4,
        "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": 1,
                "label": "Tracking neben Dateneingabe",
                "detail": "1 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": 1
            }
        ],
        "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": 59,
        "current_score": 59,
        "previous_scan_id": "b32797e4-31b6-4c4c-8ceb-98f11feb04e0",
        "previous_created_at": "2026-06-19 18:50:13.729976+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": "8168eec4-520d-411d-8a5b-c4b666c4c230",
                "created_at": "2026-06-19 19:17:16.139774+02",
                "score": 59,
                "verdict": "auffällig",
                "finding_count": 26,
                "integrity_root_hash": "92931ab83b47fe74f0fc4ffa45a70778518a844832cbc15a0132212635843bc8",
                "integrity_available_hash_count": 9,
                "current": true
            },
            {
                "scan_id": "b32797e4-31b6-4c4c-8ceb-98f11feb04e0",
                "created_at": "2026-06-19 18:50:13.729976+02",
                "score": 59,
                "verdict": "auffällig",
                "finding_count": 26,
                "integrity_root_hash": "64358d60e26a1ddd9a9bc6789f7c0e239375f1dcd7ba7b19bce2b03c9f0c9782",
                "integrity_available_hash_count": 9,
                "current": false
            }
        ]
    },
    "benchmark_analysis": {
        "host": "kap-forum.de",
        "rank": 1,
        "score": 59,
        "status": "im_mittelfeld",
        "summary": "kap-forum.de liegt mit 59 Punkten ungefähr im gespeicherten Vergleichsfeld.",
        "available": true,
        "peer_count": 6812,
        "percentile": 0,
        "query_mode": "php_ttl_cache_refresh",
        "distribution": {
            "0_39": 1069,
            "40_59": 2792,
            "60_79": 2934,
            "80_100": 17
        },
        "median_score": 58,
        "average_score": 52.7,
        "comparison_basis": "Neuester gespeicherter SaferPage-Scan je Domain; überwiegend deutschsprachige gespeicherte Checks.",
        "same_score_count": 0,
        "better_than_count": 0,
        "qualified_peer_count": 6565,
        "zero_score_count": 247,
        "top_quartile_score": 64,
        "top_decile_score": 68,
        "qualified_average_score": 54.7,
        "qualified_median_score": 59,
        "qualified_top_quartile_score": 65,
        "qualified_top_decile_score": 68,
        "thresholds": [
            {
                "id": "critical",
                "label": "Kritisch",
                "range": "0-39",
                "met": false
            },
            {
                "id": "basic",
                "label": "Basis stabilisieren",
                "range": "40-59",
                "met": true
            },
            {
                "id": "managed",
                "label": "Gesteuert",
                "range": "60-79",
                "met": false
            },
            {
                "id": "strong",
                "label": "Stark",
                "range": "80-100",
                "met": false
            }
        ],
        "risk_tier": "basis",
        "target_score": 60,
        "aspirational_target_score": 68,
        "gap_to_target": 1,
        "gap_to_top_quartile": 6,
        "gap_to_strong": 21,
        "cache_ttl_seconds": 300
    },
    "audit_receipt": {
        "url": "https://kap-forum.de/",
        "host": "kap-forum.de",
        "status": "verfügbar",
        "bot_url": "https://saferpage.de/bot",
        "summary": "Prüfbeleg für kap-forum.de: kontrollierter HTTP-/Browser-Kurzcheck mit 89 Request(s), 4 Consent-Zustand/Zuständen und 7 Artefakt(en).",
        "renderer": "playwright-chromium",
        "artifacts": [
            {
                "label": "Öffentlicher Kurzreport",
                "detail": "https://saferpage.de/kap-forum.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/kap-forum.de-160x150-f18a51da2291b495ca.png",
                "status": "verfügbar"
            },
            {
                "label": "Cookie-Erklärung",
                "detail": "1 Cookie-/Storage-Eintrag/Einträge.",
                "status": "unauffällig"
            },
            {
                "label": "Empfänger-/Anbieterinventar",
                "detail": "2 Anbieterzeile(n), 2 AVV-/Rollenprüfung(en).",
                "status": "unauffällig"
            },
            {
                "label": "Barrierefreiheitserklärung-Entwurf",
                "detail": "3 bekannte Barrierefreiheits-Punkt(e).",
                "status": "Nicht vollständig konform im automatischen Basischeck"
            }
        ],
        "available": true,
        "final_url": "https://www.kap-forum.de/",
        "checked_at": "2026-06-19T17:17:15+00:00",
        "share_text": "SaferPage Prüfbeleg kap-forum.de: 89 Browser-Request(s), 2 Drittanbieter, 1 Cookie-/Storage-Einträge, geprüft am 2026-06-19T17:17:15.",
        "user_agent": "SaferPageCrawler/0.3 (+https://saferpage.de/bot; schedules passive DACH website checks; report examples: https://saferpage.de/tests; kostenloser Report: <a href=\"https://saferpage.de/kap-forum.de\">https://saferpage.de/kap-forum.de</a>)",
        "limitations": [
            "Öffentliche Nachweise enthalten keine Cookie-Werte und keine vollständigen Request-URLs.",
            "Der Scan ist ein passiver Browser- und HTTP-Kurzcheck; rechtliche Bewertung bleibt Betreiberaufgabe.",
            "Dynamische Inhalte können sich je nach Region, Zeit, Gerät und Consent-Auswahl ändern."
        ],
        "scan_context": "crawler",
        "coverage_items": [
            {
                "label": "HTTP/DNS/TLS",
                "value": "HTTP 200 · DNS ok · TLS ok"
            },
            {
                "label": "Browserlauf",
                "value": "89 Request(s), 2 Drittanbieter-Domain(s), 1 Browser-Cookie(s)."
            },
            {
                "label": "Consent-Zustände",
                "value": "4 Zustand/Zustände: Default, Ablehnen, Akzeptieren und GPC soweit verfügbar."
            },
            {
                "label": "Seitenabdeckung",
                "value": "8 priorisierte Unterseite(n) im Nachweispack."
            },
            {
                "label": "Drittanbieter-Auszug",
                "value": "2 Anbieterzeile(n) im öffentlichen Nachweis."
            },
            {
                "label": "Cookie-Auszug",
                "value": "1 Cookie-Zeile(n) im öffentlichen Nachweis."
            }
        ],
        "confidence_score": 76,
        "browser_final_url": "https://www.kap-forum.de/"
    },
    "evidence_integrity_manifest": {
        "host": "kap-forum.de",
        "status": "verfügbar",
        "summary": "Integritätsmanifest für kap-forum.de: 9/9 Nachweisbereich(e) mit SHA-256-Hash dokumentiert.",
        "sections": [
            {
                "id": "audit_receipt",
                "hash": "51d16dc573a8d198574085ad125afff65a8095f478c97ad9054a3b22918e2f6d",
                "count": 18,
                "label": "Prüfbeleg",
                "detail": "Kanonischer JSON-Hash des kompakten Prüfbelegs.",
                "status": "verfügbar"
            },
            {
                "id": "protocol",
                "hash": "4d26ff588e20d29f649d7d5902129384003965bbce9192c948c7c57f7b2f9326",
                "count": 15,
                "label": "Scan-Protokoll",
                "detail": "URL, Endziel, User-Agent, Zeitstempel, HTTP/DNS/TLS und Renderer.",
                "status": "verfügbar"
            },
            {
                "id": "checkpoints",
                "hash": "10a0fe2ab68e5dd26e499e384b933f9c605151d3ac95be735cfea2fe269d74b5",
                "count": 6,
                "label": "Prüfschritte",
                "detail": "Kanonischer JSON-Hash der dokumentierten Prüfstationen.",
                "status": "verfügbar"
            },
            {
                "id": "consent_states",
                "hash": "a185fb29c334c4b30b5acc82caf28f2c8223b27365b53903c84ad0b667de136e",
                "count": 4,
                "label": "Consent-Zustände",
                "detail": "Default-, Ablehnen-, Akzeptieren- und GPC-Nachweise soweit verfügbar.",
                "status": "verfügbar"
            },
            {
                "id": "third_party_evidence",
                "hash": "5486f88ae7e6d4541aad80d208b5025ea149f3e0d168ed4b8db21f3077bb1720",
                "count": 2,
                "label": "Drittanbieter-Auszug",
                "detail": "Sanitisierte Anbieter-, Kategorie-, Transfer- und Request-Zählwerte.",
                "status": "verfügbar"
            },
            {
                "id": "cookie_evidence",
                "hash": "a6c5ebe8e99b031a1ec92759adfe94138b32d125e4c920ad54f1a2ab2ca9e7f1",
                "count": 1,
                "label": "Cookie-Auszug",
                "detail": "Sanitisierte Cookie-Metadaten ohne Cookie-Werte.",
                "status": "verfügbar"
            },
            {
                "id": "request_samples",
                "hash": "98874b0950487c8cf88239d4d67634639dc4ce092a8e394836c5f518b777a411",
                "count": 3,
                "label": "Request-Samples",
                "detail": "Sanitisierte Drittanbieter-Samples ohne vollständige Request-URLs.",
                "status": "verfügbar"
            },
            {
                "id": "checked_pages",
                "hash": "a56fd127c1f56e6a362582a0a4a4149ff13e317ca329ca4deb07eec0c692b7d0",
                "count": 8,
                "label": "Geprüfte Unterseiten",
                "detail": "Priorisierte Pfade aus Sitemap, Pflichtseiten und interner Linkstruktur.",
                "status": "verfügbar"
            },
            {
                "id": "screenshot_file",
                "hash": "7d5be1ecc925804be8902bdf1f06c617d2f3401e1a019055af47e208ffa1c47a",
                "count": 3786,
                "label": "160x150 Seitenvorschau-Datei",
                "detail": "/cache/screenshots/kap-forum.de-160x150-f18a51da2291b495ca.png",
                "status": "verfügbar"
            }
        ],
        "algorithm": "sha256",
        "available": true,
        "root_hash": "92931ab83b47fe74f0fc4ffa45a70778518a844832cbc15a0132212635843bc8",
        "checked_at": "2026-06-19T17:17:15+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 89 Browser-Request(s), 1 Cookie-Nachweis(en), 2 Drittanbieter-Auszug/auszügen und 4 Consent-Zustand/Zuständen.",
        "protocol": {
            "host": "kap-forum.de",
            "dns_ok": true,
            "tls_ok": true,
            "bot_url": "https://saferpage.de/bot",
            "renderer": "playwright-chromium",
            "final_url": "https://www.kap-forum.de/",
            "input_url": "https://kap-forum.de/",
            "checked_at": "2026-06-19T17:17:15+00:00",
            "user_agent": "SaferPageCrawler/0.3 (+https://saferpage.de/bot; schedules passive DACH website checks; report examples: https://saferpage.de/tests; kostenloser Report: <a href=\"https://saferpage.de/kap-forum.de\">https://saferpage.de/kap-forum.de</a>)",
            "http_status": 200,
            "scan_context": "crawler",
            "screenshot_url": "/cache/screenshots/kap-forum.de-160x150-f18a51da2291b495ca.png",
            "googlebot_status": 200,
            "browser_final_url": "https://www.kap-forum.de/",
            "dns_address_count": 1
        },
        "checkpoints": [
            {
                "label": "DNS",
                "detail": "1 Adresse(n) aufgelöst.",
                "status": "ok"
            },
            {
                "label": "TLS/HTTPS",
                "detail": "TLSv1.3",
                "status": "ok"
            },
            {
                "label": "HTTP-Abruf",
                "detail": "Status 200, Endziel https://www.kap-forum.de/.",
                "status": "ok"
            },
            {
                "label": "Browserlauf",
                "detail": "89 Request(s), 2 Drittanbieter-Domain(s).",
                "status": "ok"
            },
            {
                "label": "Consent-Zustände",
                "detail": "Default, Ablehnen, Akzeptieren und GPC werden soweit möglich gegenübergestellt.",
                "status": "unauffällig"
            },
            {
                "label": "Exports",
                "detail": "PDF/Druck, JSON und CSV enthalten die wesentlichen Prüfnachweise.",
                "status": "verfügbar"
            }
        ],
        "limitations": [
            "Öffentliche Nachweise enthalten keine Cookie-Werte und keine vollständigen Request-URLs.",
            "Der Scan ist ein passiver Browser- und HTTP-Kurzcheck; rechtliche Bewertung bleibt Betreiberaufgabe.",
            "Dynamische Inhalte können sich je nach Region, Zeit, Gerät und Consent-Auswahl ändern."
        ],
        "checked_pages": [
            {
                "path": "/datenschutz",
                "source": "homepage_link",
                "status": 0,
                "category": "datenschutz"
            },
            {
                "path": "/impressum",
                "source": "homepage_link",
                "status": 0,
                "category": "impressum"
            },
            {
                "path": "/kontakt",
                "source": "homepage_link",
                "status": 0,
                "category": "kontakt"
            },
            {
                "path": "/1894-2",
                "source": "sitemap",
                "status": 0,
                "category": "unterseite"
            },
            {
                "path": "/25hours-hotel-bikini-berlin",
                "source": "sitemap",
                "status": 0,
                "category": "unterseite"
            },
            {
                "path": "/3deluxe-inexterior-wiesbaden",
                "source": "sitemap",
                "status": 0,
                "category": "unterseite"
            },
            {
                "path": "/aff-architekten-berlin",
                "source": "sitemap",
                "status": 0,
                "category": "unterseite"
            },
            {
                "path": "/alape",
                "source": "sitemap",
                "status": 0,
                "category": "unterseite"
            }
        ],
        "cookie_evidence": [
            {
                "name": "__cf_bm",
                "domain": "fonts.net",
                "secure": true,
                "category": "Unklar",
                "provider": "fonts.net",
                "tracking": false,
                "retention": "kurz (0 Tage)",
                "same_site": "None",
                "pre_consent": true
            }
        ],
        "browser_evidence": {
            "gpc_enabled": true,
            "request_count": 89,
            "storage_total": 0,
            "accept_clicked": true,
            "reject_clicked": false,
            "browser_cookie_count": 1,
            "contacted_domain_count": 3,
            "third_party_domain_count": 2,
            "storage_tracking_hint_count": 0,
            "privacy_relevant_domain_count": 1
        },
        "storage_evidence": {
            "tracking_key_hints": [],
            "local_storage_total": 0,
            "session_storage_total": 0
        },
        "third_party_evidence": [
            {
                "host": "matomo.kap-forum.de",
                "category": "Analytics",
                "provider": "Matomo",
                "transfer": "EU/EWR oder selbst gehostet",
                "risk_level": "hoch",
                "request_count": 2,
                "resource_types": [
                    "script"
                ],
                "privacy_relevant": true
            },
            {
                "host": "fast.fonts.net",
                "category": "Sonstige",
                "provider": "fast.fonts.net",
                "transfer": "Jurisdiktion unklar",
                "risk_level": "niedrig",
                "request_count": 1,
                "resource_types": [
                    "stylesheet"
                ],
                "privacy_relevant": false
            }
        ],
        "external_script_count": 0,
        "consent_state_evidence": [
            {
                "label": "Erstaufruf",
                "cookie_count": 0,
                "domain_count": 2,
                "request_count": 3,
                "storage_tracking_hint_count": 0,
                "privacy_relevant_domain_count": 1
            },
            {
                "label": "Nach Ablehnen neu",
                "cookie_count": 0,
                "domain_count": 0,
                "request_count": 0,
                "storage_tracking_hint_count": 0,
                "privacy_relevant_domain_count": 0
            },
            {
                "label": "Nach Akzeptieren neu",
                "cookie_count": 0,
                "domain_count": 0,
                "request_count": 0,
                "storage_tracking_hint_count": 0,
                "privacy_relevant_domain_count": 0
            },
            {
                "label": "GPC-Aufruf",
                "cookie_count": 0,
                "domain_count": 2,
                "request_count": 3,
                "storage_tracking_hint_count": 0,
                "privacy_relevant_domain_count": 1
            }
        ],
        "request_sample_evidence": [
            {
                "host": "fast.fonts.net",
                "query_keys": [],
                "resource_type": "stylesheet",
                "query_key_count": 0,
                "referrer_has_path": false,
                "referrer_has_query": false,
                "sensitive_query_key_count": 0
            },
            {
                "host": "matomo.kap-forum.de",
                "query_keys": [],
                "resource_type": "script",
                "query_key_count": 0,
                "referrer_has_path": false,
                "referrer_has_query": false,
                "sensitive_query_key_count": 0
            },
            {
                "host": "matomo.kap-forum.de",
                "query_keys": [],
                "resource_type": "script",
                "query_key_count": 0,
                "referrer_has_path": false,
                "referrer_has_query": false,
                "sensitive_query_key_count": 0
            }
        ]
    },
    "consent_visual_salience_evidence": {
        "schema": "https://saferpage.de/schemas/consent-visual-salience-evidence.v1",
        "status": "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": 1,
        "accept_control_count": 1,
        "reject_control_count": 0,
        "settings_control_count": 0,
        "visible_control_count": 15,
        "accept_max_area": 3012,
        "reject_max_area": 0,
        "reject_prominence_ratio": "nicht messbar",
        "samples": [
            {
                "kind": "accept",
                "text": "OK",
                "tag": "button",
                "width": 61,
                "height": 49,
                "area": 3012,
                "top": 896,
                "left": 283,
                "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."
    }
}