diff --git a/zeroclaw/docs/ground-truth/06-spiegel.md b/zeroclaw/docs/ground-truth/06-spiegel.md index 3b582b04..76d1eda2 100644 --- a/zeroclaw/docs/ground-truth/06-spiegel.md +++ b/zeroclaw/docs/ground-truth/06-spiegel.md @@ -2,172 +2,185 @@ **URL:** https://www.spiegel.de **Typ:** Medien / Nachrichtenportal -**Datum:** 2026-05-13 (verifiziert gegen Live-Texte) -**Vorheriger Batch-Test:** 6/9 L1, 10/13 L2 — VERALTET, mehrere False Negatives -**Volltext:** [06-spiegel-dsi-fulltext.txt](06-spiegel-dsi-fulltext.txt) (13.705 Woerter, 107.720 Zeichen) -**Root Cause aller FN:** API-Limit `text[:50000]` schnitt bei 47% ab → DSB/Art.77/Rechte fehlten +**Datum:** 2026-05-14 (verifiziert gegen Live-Texte + System-Ergebnis) +**Volltext:** [06-spiegel-dsi-fulltext.txt](06-spiegel-dsi-fulltext.txt) (13.698 Woerter, 107.720 Zeichen) --- -## Business Profile (erwartet) +## Business Profile (erwartet vs tatsaechlich) -| Feld | Erwarteter Wert | Begruendung | -|------|----------------|-------------| -| business_type | b2c | Abo-Modell (Spiegel+) | -| industry | media | Nachrichtenportal | -| has_online_shop | true | Spiegel+ Abo-Shop | -| has_editorial_content | true | Kerngeschaeft | -| is_regulated_profession | **false** | Kein regulierter Beruf. "Anwalt" im Text ist Redaktionsanwalt, kein Kanzlei-Beruf | -| needs_odr | true | B2C mit Online-Abo | - -**Bug:** Profiler erkennt "anwalt" im Impressum-Text und setzt is_regulated_profession=true. FALSE POSITIVE. +| Feld | Erwartet | System-Ergebnis | | +|------|---------|----------------|---| +| business_type | b2c | B2C | ✓ | +| industry | media | media | ✓ | +| has_online_shop | true | true | ✓ | +| has_editorial_content | true | true | ✓ | +| is_regulated_profession | false | false | ✓ (gefixt, war FP "anwalt") | +| needs_odr | true | true | ✓ | +| detected_services | 31 | 10 angezeigt (31 intern) | UI zeigt nur Top 10 | --- ## Dokumente -| Dokumenttyp | Vorhanden | URL | Anmerkung | -|-------------|-----------|-----|-----------| -| DSI | Ja | https://www.spiegel.de/datenschutz-spiegel | 6461 Woerter, 11 Abschnitte, sehr ausfuehrlich | -| Impressum | Ja | https://www.spiegel.de/impressum | 2 Gesellschaften (DER SPIEGEL GmbH + SPIEGEL-Verlag) | -| Cookie-Richtlinie | In DSI Abschnitt 4 | #funktionsfaehigkeitdesangebots | Sourcepoint CMP | -| AGB | Ja | https://www.spiegel.de/agb | Abo-Bedingungen | -| Nutzungsbedingungen | Ja | https://www.spiegel.de/nutzungsbedingungen | Separates Dokument | -| Widerruf | In AGB Abschnitt 10 | https://www.spiegel.de/agb | "Widerrufsrecht fuer Abonnements" | -| Social Media DSE | In DSI Abschnitt 8 | #einbinden-von-drittinhalten | Facebook, YouTube, X, Instagram, TikTok, etc. | -| DSB-Kontakt | In DSI | — | dsb@spiegelgruppe.de | +| Dokumenttyp | Vorhanden | URL | System-Ergebnis | +|-------------|-----------|-----|----------------| +| DSI | Ja | https://www.spiegel.de/datenschutz-spiegel | **9/9 L1 (100%)** ✓ | +| Impressum | Ja | https://www.spiegel.de/impressum | **9/13 L1 (86%)** ✓ | +| Social Media | In DSI (Abschnitt 8) | auto-filled | **10/10 L1 (100%)** ✓ | +| Cookie-RL | In DSI (Abschnitt 4) | auto-filled | 1/6 L1 (17%) | +| AGB | Ja | https://www.spiegel.de/agb | Nicht eingegeben | +| Nutzungsbedingungen | Ja | https://www.spiegel.de/nutzungsbedingungen | 5/12 L1 (42%) | +| Widerruf | In AGB §10 | Falsch zugewiesen (NB-Text) | 0/8 L1 (0%) | +| DSB-Kontakt | In DSI | auto-filled | **9/9 L1 (100%)** ✓ | --- -## Erwartete Ergebnisse: DSI (Art. 13 DSGVO) +## DSI (Art. 13 DSGVO) — 9/9 L1, 24/42 L2 -### L1 Checks (ERWARTET: 9/9 PASS) +### L1 Checks (9/9 PASS) -| Check | Erwartet | Beleg | Unser Ergebnis | Bug? | -|-------|----------|-------|----------------|------| -| Verantwortlicher | PASS | "DER SPIEGEL GmbH & Co. KG, Ericusspitze 1, 20459 Hamburg" | PASS (3/3) | — | -| DSB | **PASS** | "z. Hd. der Datenschutzbeauftragten... dsb@spiegelgruppe.de" | **FAIL** | **FN — Regex matcht "Datenschutzbeauftragte" nicht ohne "r" am Ende oder erkennt Kontext nicht** | -| Zwecke | PASS | Adobe-Tracking, Vertragsbeziehungen, Drittinhalte etc. | PASS | — | -| Rechtsgrundlage | PASS | Art. 6(1)(a), (b), (f) explizit | PASS (3/4) | — | -| Empfaenger | PASS | Server-/Applikationsbetreiber, Auftragsverarbeiter | PASS (2/2) | — | -| Drittlandtransfer | PASS | SCC erwaehnt | PASS (1/1) | — | -| Speicherdauer | PASS | "30 Tage" Protokolldatei | PASS (1/2) | — | -| Betroffenenrechte | **PASS** | Art. 15, 16, 17, 18, 21 explizit. Art. 20 fehlt. | **FAIL** | **FN — Regex verlangt alle 6 Artikel, 5/6 genuegen nicht** | -| Beschwerderecht | **PASS** | "Art. 77 DSGVO... HmbBfDI... Ludwig-Ehrhard-Str. 22" | **FAIL** | **FN — Regex findet Art. 77 + HmbBfDI nicht** | +| Check | Erwartet | System | Beleg | +|-------|----------|--------|-------| +| Verantwortlicher | PASS | PASS (3/3) | Ericusspitze 1, 20459 Hamburg | +| DSB | PASS | PASS (1/1) | "z. Hd. der Datenschutzbeauftragten... dsb@spiegelgruppe.de" | +| Zwecke | PASS | PASS (1/1) | Adobe-Tracking, Vertragsbeziehungen etc. | +| Rechtsgrundlage | PASS | PASS (3/4) | Art. 6(1)(a), (b), (f) | +| Empfaenger | PASS | PASS (2/2) | AVV erwaehnt | +| Drittlandtransfer | PASS | PASS (1/1) | SCC erwaehnt | +| Speicherdauer | PASS | PASS (2/2) | "30 Tage", Loeschfristen | +| Betroffenenrechte | PASS | PASS (6/7) | Art. 15-18, 20, 21. Art. 22 fehlt (TP) | +| Beschwerderecht | PASS | PASS (1/1) | HmbBfDI, Art. 77 | -**3 False Negatives in L1!** DSB, Betroffenenrechte, Beschwerderecht sind alle vorhanden. +### L2 True Positives (korrekte Findings) -### L2 Checks (Stichproben) - -| Check | Erwartet | Beleg | Unser Ergebnis | Bug? | -|-------|----------|-------|----------------|------| -| E-Mail | PASS | datenschutz@spiegelgruppe.de | PASS | — | -| Interessenabwaegung | FAIL (TP) | Interesse benannt, keine Abwaegung | FAIL | Korrekt | -| Art. 20 Portabilitaet | FAIL (TP) | Art. 20 fehlt im Rechte-Abschnitt | — | Korrekter Finding | -| Loeschkonzept | FAIL (TP) | Kein formales Loeschkonzept | FAIL | Korrekt | - ---- - -## Erwartete Ergebnisse: Impressum (§5 TMG) - -| Check | Erwartet | Beleg | Unser Ergebnis | Bug? | -|-------|----------|-------|----------------|------| -| Firmenname | PASS | DER SPIEGEL GmbH & Co. KG + SPIEGEL-Verlag | PASS | — | -| Anschrift | PASS | Ericusspitze 1, 20457 Hamburg | PASS | — | -| Kontakt | PASS | Tel. 040 3007-0, spiegel@spiegel.de | PASS | — | -| Register | PASS | HRA 123 261 + HRA 61 755 | PASS | — | -| USt-IdNr | **PASS** | DE 212 442 423 + DE 118 922 410 | **FAIL** | **FN — Regex findet "Umsatzsteuer-ID:" Format nicht** | -| Vertretung | PASS | Thomas Hass (Geschaeftsfuehrung) | PASS (1/1) | — | -| V.i.S.d.P. | **PASS** | "Verantwortlicher i. S. v. § 18 Abs. 2 MStV: Dirk Kurbjuweit" | **FAIL** | **FN — Regex sucht "v.i.s.d.p." nicht "verantwortlicher i.s.v."** | -| Streitbeilegung | PASS | ODR-Link vorhanden (in AGB) | PASS | — | -| Berufsrecht | **SKIP** | Spiegel ist kein regulierter Beruf | **AKTIV (1/3)** | **FP — Profiler "anwalt" Bug** | - ---- - -## Erwartete Ergebnisse: AGB - -| Check | Erwartet | Beleg | -|-------|----------|-------| -| Geltungsbereich | PASS | Abschnitt 1 | -| Vertragsschluss | PASS | Abschnitt 2 | -| Preise/Zahlung | PASS | Abschnitte 4-7 | -| Kuendigung | PASS | Abschnitt 8 (1 Monat Frist) | -| Widerrufsrecht | PASS | Abschnitt 10 (14 Tage, Muster-Formular) | -| §312k Button | Zu pruefen | Kuendigungsbutton Pflicht seit 01.07.2022 | -| ODR-Link | PASS | http://ec.europa.eu/consumers/odr/ | - ---- - -## Erwartete Ergebnisse: Widerrufsbelehrung (AGB §10) - -| Check | Erwartet | Beleg | -|-------|----------|-------| -| Belehrung | PASS | "Sie haben das Recht, Abonnementvertraege binnen 14 Tagen ohne Angabe von Gruenden zu widerrufen" | -| 14-Tage-Frist | PASS | Explizit genannt | -| Form | PASS | Brief, E-Mail, Fax | -| Muster-Formular | PASS | "beigefuegte Muster-Widerrufsformular" erwaehnt | -| Folgen | PASS | Rueckerstattungsregeln beschrieben | -| Empfaenger | PASS | DER SPIEGEL Abonnentenservice, 20637 Hamburg; aboservice@spiegel.de | -| Ausnahme digitale Inhalte | PASS | "Fuer sofort nutzbare Zeitzugaenge... kein Widerrufsrecht" | - -**Problem:** Unser Check prueft den DSI-Volltext gegen Widerruf-Checklist statt die AGB. Der Widerruf steht in den AGB (§10), nicht in der DSI. - ---- - -## Erwartete Ergebnisse: Social Media (DSI Abschnitt 8) - -| Check | Erwartet | Beleg | -|-------|----------|-------| -| Gemeinsam Verantwortliche | PASS | Erwaehnt | -| Meta konkret benannt | FAIL (TP) | Nur "Facebook" ohne "Meta Platforms Ireland Ltd." | -| Vereinbarung Art. 26 | FAIL (TP) | Kein Page Controller Addendum | -| Plattformen | PASS | Facebook, YouTube, X, Instagram, TikTok, Vimeo, Reddit, Bluesky, etc. | -| SCC | PASS | Erwaehnt | -| DPF | FAIL (TP) | Data Privacy Framework nicht erwaehnt | -| Rechtsgrundlage | PASS | Art. 6(1)(f) | -| Alle standardmaessig deaktiviert | PASS | "standardmaessig deaktiviert" | - ---- - -## Banner-Check - -| Feld | Erwartet | -|------|----------| -| banner_detected | true | -| provider | Sourcepoint | -| tcf_enabled | true | -| Vendor-Anzahl | 40+ (grosses Medienunternehmen) | -| violations | Consent-Wall blockiert Zugang → moeglicherweise unzulaessig | - ---- - -## Cross-Check Banner vs DSI - -| Finding | Erwartet | -|---------|----------| -| Vendors fehlen in DSI | Wahrscheinlich — viele TCF-Vendors nicht in DSI dokumentiert | -| Tracking vor Consent | Unwahrscheinlich (Sourcepoint blockiert gut) | - ---- - -## Kontext-Filter - -| Check | Filter | Begruendung | +| Check | Status | Begruendung | |-------|--------|-------------| -| ODR | AKTIV | B2C Online-Abo | -| Widerruf | AKTIV | B2C | -| V.i.S.d.P. | AKTIV | Medienunternehmen (Kernpflicht) | -| Berufsrecht | **SKIP** | Kein regulierter Beruf | +| Interessenabwaegung | FAIL (TP) | Interesse benannt, keine Abwaegung dokumentiert | +| Art. 22 Profiling | FAIL (TP) | Nicht erwaehnt trotz personalisierter Werbung | --- -## Identifizierte Regex-Bugs (aus diesem GT-Abgleich) +## Impressum — 9/13 L1, 9/31 L2 -| # | Check | Bug | Beleg auf Website | Regex-Problem | -|---|-------|-----|-------------------|---------------| -| 1 | DSB | FN | "z. Hd. der Datenschutzbeauftragten... dsb@spiegelgruppe.de" | Regex matcht "Datenschutzbeauftragten" (Genitiv/Dativ) nicht | -| 2 | Beschwerderecht | FN | "Art. 77 DSGVO... HmbBfDI" | Regex findet "Art. 77" oder "Aufsichtsbehoerde" nicht im Spiegel-Text | -| 3 | Betroffenenrechte | FN | Art. 15, 16, 17, 18, 21 — nur Art. 20 fehlt | Regex verlangt ALLE 6, 5/6 ist nicht genug | -| 4 | V.i.S.d.P. | FN | "Verantwortlicher i. S. v. § 18 Abs. 2 MStV" | Regex sucht nur "v.i.s.d.p.", nicht die MStV-Formulierung | -| 5 | USt-IdNr | FN | "Umsatzsteuer-ID: DE 212 442 423" | Regex sucht "ust-idnr" oder "ust-id", matcht "umsatzsteuer-id:" nicht | -| 6 | Profiler "anwalt" | FP | Redaktionsanwalt im Impressum | "anwalt" zu generisch, matcht Personennamen/Rollen | +| Check | Erwartet | System | | +|-------|----------|--------|---| +| Firmenname | PASS | PASS | ✓ | +| Anschrift | PASS | PASS (2/2) | ✓ | +| Kontakt | PASS | PASS (2/2) | ✓ | +| Register | PASS | PASS (2/2) | ✓ | +| USt-IdNr | PASS | PASS (1/1) | ✓ Gefixt ("Umsatzsteuer-ID:" + DE mit Leerzeichen) | +| Vertretung | PASS | PASS (1/1) | ✓ | +| V.i.S.d.P. | PASS | PASS | ✓ Gefixt ("Verantwortlicher i.S.v. §18 MStV") | +| Streitbeilegung | PASS | PASS | ✓ | +| Berufsrecht | SKIP | PASS (1/3) | FP — "Berufsrechtliche Regelungen" matcht falsch | + +--- + +## Social Media — 10/10 L1, 12/30 L2 + +| Check | Erwartet | System | | +|-------|----------|--------|---| +| Gemeinsam Verantwortliche | PASS | PASS | ✓ | +| Meta benannt | PASS | PASS | ✓ "Meta Platforms Inc" erkannt | +| Vereinbarung Art. 26 | PASS | PASS (1/2) | ✓ Seiteninsights erwaehnt | +| Anlaufstelle | PASS | PASS (1/1) | ✓ | +| Plattformen | PASS | PASS (1/1) | ✓ | +| Drittlandtransfer | PASS | PASS (2/2) | ✓ SCC + DPF | +| Rechtsgrundlage | PASS | PASS (1/1) | ✓ | +| Betroffenenrechte | PASS | PASS (1/1) | ✓ Opt-Out erwaehnt | +| Social Bookmarks | PASS | PASS | ✓ | + +### L2 True Positives + +| Check | Status | Begruendung | +|-------|--------|-------------| +| Page Controller Addendum | FAIL (TP) | Nicht verlinkt | +| 2-Klick-Loesung | FAIL (TP) | Nicht dokumentiert | + +--- + +## Cookie-Richtlinie — 1/6 L1 + +Cookie-Infos stehen bei Spiegel im **Sourcepoint-Banner** und in DSI Abschnitt 4, nicht als eigenes Dokument. Section-Splitter hat einen kurzen Cookie-Abschnitt extrahiert, aber die meisten Checks scheitern weil die Details im Banner stehen (nicht im Text). + +--- + +## Nutzungsbedingungen — 5/12 L1 + +Aus spiegel.de/nutzungsbedingungen extrahiert (1679 Woerter). Echte Luecken bei Einbeziehungsklausel, ODR-Link, Kuendigung, Zahlungsarten. + +--- + +## Widerrufsbelehrung — 0/8 L1 + +**Problem:** System prueft Nutzungsbedingungen-Text (1679w) statt AGB-Text. +**Tatsaechlich:** Widerrufsbelehrung steht in AGB §10 (spiegel.de/agb): +- 14-Tage-Frist ✓ +- Muster-Widerrufsformular ✓ +- Empfaenger (DER SPIEGEL Abonnentenservice) ✓ +- Ausnahme digitale Inhalte ✓ + +**Offener Punkt:** Cross-Document Intelligence — System muss erkennen dass der Text keine Widerrufsbelehrung ist und den AGB-Link vorschlagen. + +--- + +## Erkannte Dienste (31/32 = 97%) + +| Dienst | Kategorie | Land | EU | In DSI erwaehnt | +|--------|----------|------|----|----------------| +| Adobe | tracking | US | Nein | Ja | +| Bluesky | social | US | Nein | Ja | +| Facebook | social | US | Nein | Ja | +| Giphy | content | US | Nein | Ja | +| Google Ads | marketing | US | Nein | Ja | +| Google reCAPTCHA | security | US | Nein | Ja | +| ID5 | identity | GB | Ja | Ja | +| IQD | marketing | DE | Ja | Ja | +| Imgur | content | US | Nein | Ja | +| Instagram | social | US | Nein | Ja | +| JW Player | video | US | Nein | Ja | +| LinkedIn | marketing | US | Nein | Ja | +| Mapbox | maps | US | Nein | Ja | +| Meta Platforms | social | US | Nein | Ja | +| Microsoft | cloud | US | Nein | Ja | +| Omnystudio | audio | CA | Nein | Ja | +| PayPal | payment | US | Nein | Ja | +| Qualtrics | survey | US | Nein | Ja | +| Reddit | social | US | Nein | Ja | +| Salesforce | crm | US | Nein | Ja | +| Segment | tag_manager | US | Nein | Ja | +| Sourcepoint | cmp | US | Nein | Ja | +| Spotify | audio | SE | Ja | Ja | +| Storifyme | content | DE | Ja | Ja | +| TikTok | social | IE | Ja | Ja | +| Utiq | tracking | BE | Ja | Ja | +| Vimeo | video | US | Nein | Ja | +| X/Twitter | social | US | Nein | Ja | +| YouTube | video | US | Nein | Ja | +| Zendesk | chatbot | US | Nein | Ja | + +**25 Non-EU Dienste, 6 EU-Dienste.** Alle in DSI erwaehnt (Spiegel dokumentiert seine Dienste gut). + +--- + +## Fixes die in dieser Session angewendet wurden + +| # | Bug | Fix | Auswirkung | +|---|-----|-----|-----------| +| 1 | Text-Limit 50k Zeichen | → 200k | DSI: 6461→13698 Woerter, 5 FN weg | +| 2 | USt-IdNr "Umsatzsteuer-ID:" | Regex erweitert | Impressum: +1 PASS | +| 3 | V.i.S.d.P. "i.S.v. §18 MStV" | Regex + Pattern | Impressum: +1 PASS | +| 4 | "anwalt" FP im Profiler | Nur Impressum[:500], nur "rechtsanwalt" | Profiler: FP weg | +| 5 | Service-Erkennung 20→118 | service_detector.py | 5→31 Dienste erkannt | +| 6 | Section-Splitter auto-fill | auto_fill_from_dsi() | Cookie+Social Media auto-gefuellt | + +--- + +## Offene Punkte + +1. **Widerruf falsch zugewiesen** — System braucht Cross-Document Intelligence (AGB-Link finden) +2. **Cookie-RL 1/6** — Cookie-Infos stehen im Banner, nicht im Text → TCF-Vendor-Extraktion wuerde helfen +3. **Dienste UI zeigt nur 10** — 31 erkannt aber Frontend kuerzt +4. **Berufsrecht FP** — "Berufsrechtliche Regelungen + Zugang" matcht falsch im Spiegel-Impressum +5. **Banner-Check nicht sichtbar** — Sourcepoint-Buttons nicht klickbar im Scanner