# Ground Truth: IHK Konstanz DSI-Pruefung **URL:** https://www.ihk.de/konstanz/servicemarken/ueber-uns/downloads/datenschutzinformationen-zum-internetangebot-4163288 **Datum:** 2026-05-07 **Text:** 6353 Woerter, 50000 Zeichen --- ## 1. DSI Hauptdokument (Art. 13 DSGVO) ### L1 Checks (9/9 bestanden) | Check | Tool-Ergebnis | Korrekt? | Beleg im Text | |-------|--------------|----------|---------------| | Verantwortlicher | PASS | Ja | Z.17-23: "Name und Kontaktdaten des Verantwortlichen — IHK Hochrhein Bodensee, Reichenaustr. 21, D-78467 Konstanz" | | DSB | PASS | Ja | Z.36-44: "Kontaktdaten der/des behoerdlichen Datenschutzbeauftragten — SuedWest Datenschutz" | | Zwecke | PASS | Ja | Z.49: "Zweck und Rechtsgrundlage der Verarbeitung" | | Rechtsgrundlage | PASS | Ja | Z.72: "Art. 6 Abs. 1 f) DSGVO", Z.112: "Art. 6 Abs.1 lit.b)", Z.138: "Art. 6 Abs. 1 lit. a)" | | Empfaenger | PASS | Ja | Z.118-123: "personenbezogenen Daten werden uebermittelt an: Buchhaltung, Dritte, Auftragsverarbeiter" | | Drittlandtransfer | PASS | Ja | Z.369: "Google verarbeitet Ihre personenbezogenen Daten auch in den USA" | | Speicherdauer | PASS | Ja | Z.81: "nach spaetestens 7 Tagen", Z.126: "nach zehn Jahren" | | Betroffenenrechte | PASS | Ja | Z.395: "Art. 15, Art. 16, Art. 17, Art. 18, Art. 20, Art. 77" | | Beschwerderecht | PASS | Ja | Z.11: "Landesdatenschutzgesetz Baden-Wuerttemberg" | **Bewertung L1: 9/9 — alle korrekt** ### L2 Checks (18/22 bestanden) | Check | Tool | Korrekt? | Begruendung | |-------|------|----------|-------------| | Anschrift (PLZ+Ort) | PASS | **Ja** | Z.21: "D-78467 Konstanz" | | E-Mail Verantwortlicher | PASS | **Ja** | Z.22: "info@konstanz.ihk.de" | | Telefon Verantwortlicher | PASS | **Ja** | Z.23: "+49(0)7531-2860-100" | | DSB Kontakt | PASS | **Ja** | Z.44: "datenschutz@konstanz.ihk.de" | | Konkrete Zwecke | PASS | **Ja** | Z.101-108: Kontaktaufnahme, Newsletter, Veranstaltungen, Beratung, Ausbildung | | Art. 6(1)(a) Einwilligung | PASS | **Ja** | Z.138: "Art. 6 Abs. 1 lit. a) DSGVO" | | Art. 6(1)(b) Vertrag | PASS | **Ja** | Z.112: "Art. 6 Abs.1 lit.b)" | | Art. 6(1)(f) Berecht. Interesse | PASS | **Ja** | Z.72: "Art. 6 Abs. 1 f) DSGVO" | | **Interessenabwaegung** | **FAIL** | **Teilweise korrekt** | Z.72: "In den uebrigen genannten Zwecken liegt auch unser berechtigtes Interesse" — es wird das Interesse BENANNT, aber keine explizite ABWAEGUNG dokumentiert. Die IHK nennt ihr Interesse, dokumentiert aber nicht warum es ueberwiegt. **Finding ist inhaltlich korrekt, aber Hint sollte praeziser sein.** | | Empfaenger-Kategorien | PASS | **Ja** | Z.123: "Scandienstleister, Hoster und sonstige IT-Dienstleister sowie externe Administratoren" | | Auftragsverarbeiter | PASS | **Ja** | Z.123: "Auftragsverarbeiter, die mit der Organisation beauftragt wurden" | | **Transfermechanismus** | **FAIL** | **Korrekt** | Z.369 erwaehnt "EU-US Privacy Shield" — aber Privacy Shield ist seit 2020 ungueltig (Schrems II). Es wird KEIN gueltiger Mechanismus (SCC oder DPF) genannt. **True Positive.** Hint korrekt. | | Konkrete Zeitangaben | PASS | **Ja** | Z.81: "7 Tagen", Z.126: "zehn Jahren", Z.345: "90 Tagen" | | **Loeschkonzept** | **FAIL** | **Teilweise korrekt** | Z.78: "Daten werden geloescht, sobald sie fuer die Erreichung des Zweckes nicht mehr erforderlich sind" — das ist ein Loeschgrundsatz, aber kein formales Loeschkonzept. Z.126 nennt Fristen. Kein Verweis auf internes Loeschkonzept. **Grenzfall — Finding akzeptabel, Hint passt.** | | Art. 15 Auskunft | PASS | **Ja** | Z.395: "Auskunftsrecht gem. Art. 15 DSGVO" | | Art. 16 Berichtigung | PASS | **Ja** | Z.395: "Recht auf Berichtigung gem. Art. 16 DSGVO" | | Art. 17 Loeschung | PASS | **Ja** | Z.395: "Recht auf Loeschung gem. Art. 17 DSGVO" | | Art. 18 Einschraenkung | PASS | **Ja** | Z.395: "Recht auf Einschraenkung der Verarbeitung gem. Art. 18 DSGVO" | | Art. 20 Portabilitaet | PASS | **Ja** | Z.395: "Recht auf Datenuebertragbarkeit gem. Art. 20 DSGVO" | | Art. 21 Widerspruch | PASS | **Ja** | Z.366: "Ihnen steht ein Widerspruchsrecht zu" | | **Art. 22 Profiling** | **FAIL** | **Korrekt** | Kein Hinweis auf Art. 22 im gesamten DSI-Text. Es wird weder Profiling erwaehnt noch explizit ausgeschlossen. **True Positive.** Hint korrekt — empfiehlt "Es findet keine automatisierte Entscheidungsfindung statt." | | Aufsichtsbehoerde benannt | PASS | **Ja** | Z.11: "Landesdatenschutzgesetz Baden-Wuerttemberg" — implizit LfDI BW. | **Bewertung L2: 18/22 korrekt. 4 Fails, davon 3 True Positives, 1 Grenzfall (Loeschkonzept).** --- ## 2. Cookie-Sektion ### L1 Checks (5/6) | Check | Tool | Korrekt? | Begruendung | |-------|------|----------|-------------| | Arten der Cookies | PASS | **Ja** | Z.161: "transiente Cookies, persistente Cookies, Third-Party Cookies" | | Zwecke der Cookies | PASS | **Ja** | Z.158: "Cookies ein, um unsere Website nutzerfreundlicher zu gestalten" | | Speicherdauer | PASS | **Ja** | Z.164-165: "Session-Cookies werden geloescht", Tabelle mit Speicherdauern | | Drittanbieter | PASS | **Ja** | Z.161: "Third-Party Cookies (von Drittanbietern)" | | Widerspruch | PASS | **Ja** | Z.166: "Browser-Einstellung entsprechend Ihren Wuenschen konfigurieren" | | **Cookie-Tabelle** | **FAIL** | **FALSE POSITIVE** | Z.170-289: Es gibt eine **vollstaendige Cookie-Tabelle** mit Spalten "Typen, Name, Funktion, Speicherdauer"! Die Regex erkennt sie nicht weil das Format (Zeilenumbrueche statt Pipe-Trennzeichen) nicht matched. **Bug im Regex — False Positive.** | ### L2 Checks (2/9) | Check | Tool | Korrekt? | Begruendung | |-------|------|----------|-------------| | **Cookie-Namen** | **FAIL** | **FALSE POSITIVE** | Z.198-282: Tabelle listet konkret: Cookieinfo_click, JSESSIONID, SHOPHK_Sessio, IHK24_PROD-xxxxx, Cntcookie, et_id, BT_ctst, BT_pdc, BT_sdc, noWS, isSdEnabl. Regex sucht _ga/_gid/PHPSESSID — keine IHK-spezifischen Namen. **Bug: Regex zu spezifisch.** | | **Essential begruendet** | **FAIL** | **FALSE POSITIVE** | Z.164: "Session-Cookies... gemeinsamen Sitzung zuordnen", Z.198-200: "Das Cookie steuert die Anzeige des Hinweises zur Cookie-Nutzung". Essentiell-Cookies sind begruendet. **Regex matcht nicht weil "technisch erforderlich" nicht woertlich vorkommt.** | | **Anbieter benannt** | **FAIL** | **Korrekt** | eTracker wird erwaehnt (Z.311ff), aber nicht direkt in der Cookie-Sektion selbst als Anbieter pro Cookie. **True Positive — Anbieter fehlen in der Tabelle.** | | **Analytics benannt** | **FAIL** | **Teilweise FP** | eTracker wird in Z.311-348 ausfuehrlich beschrieben! Aber Regex sucht "google analytics|matomo|etracker" — und "etracker" IS in the pattern. **Muss pruefen ob die Cookie-Sektion den etracker Text enthaelt.** Die Cookie-Sektion endet bei Z.294 mit "nach oben", dann kommt "Dienste von Drittanbietern". eTracker ist in DIESER Sektion, nicht im Cookie-Abschnitt. **Grenzfall — Text ist auf der Seite, aber in einem anderen Abschnitt.** | | **Marketing benannt** | **FAIL** | **Korrekt** | Keine Marketing-Tools (Meta Pixel, Google Ads etc.) erwaehnt. **True Positive.** | | Speicherdauern | PASS | **Ja** | Z.199: "1 Jahr", Z.205: "nach Schliessen Ihres Browsers", Z.219: "< 12 Stunden" | | **Rechtsgrundlage** | **FAIL** | **FALSE POSITIVE** | Z.294: "Rechtsgrundlage des Art. 6 Abs. 1 lit. f DSGVO" — steht direkt nach der Cookie-Tabelle! Aber §25 TDDDG fehlt (veraltet, TDDDG gab es bei Erstellung noch nicht). **Grenzfall — Art. 6 ist da, TDDDG fehlt.** | | **Consent-Tool** | **FAIL** | **Korrekt** | Kein Cookie-Banner oder Consent-Management-Tool erwaehnt. **True Positive.** | | Browser-Einstellungen | PASS | **Ja** | Z.166: "Browser-Einstellung entsprechend Ihren Wuenschen konfigurieren" | **Bewertung Cookies: 3 False Positives (Cookie-Tabelle, Cookie-Namen, Essential begruendet), 2 Grenzfaelle, 2 True Positives.** --- ## 3. Social Media Sektion ### L1 Checks (8/10) | Check | Tool | Korrekt? | Begruendung | |-------|------|----------|-------------| | Gemeinsam Verantwortliche | PASS | **Ja** | Z.395: "gemeinsam mit dem Betreiber... im Sinne des Art. 26 DSGVO verantwortlich" | | **Vereinbarung Art. 26** | **FAIL** | **Korrekt** | Keine konkrete Vereinbarung (Page Controller Addendum etc.) erwaehnt. **True Positive.** | | Anlaufstelle | PASS | **Ja** | Z.395: "koennen Sie grundsaetzlich sowohl gegenueber uns als auch gegenueber dem Betreiber... geltend machen" | | Verarbeitungsaufteilung | PASS | **Ja** | Z.389-395: beschreibt wer was verarbeitet | | Datenkategorien | PASS | **Ja** | Z.392: "Verarbeitung Ihrer personenbezogenen Daten" | | Plattformen | PASS | **Ja** | Z.423: "Facebook, LinkedIn, Instagram, Youtube" | | Drittlandtransfer | PASS | **Ja** | Z.401: "Risiken durch die Verarbeitung in sog. Drittstaaten" | | **Rechtsgrundlage** | **FAIL** | **Korrekt** | Kein Art. 6 in der Social-Media-Sektion. **True Positive.** | | Betroffenenrechte | PASS | **Ja** | Z.395: "Art. 15, Art. 16, Art. 17, Art. 18, Art. 20" | | Social Bookmarks | PASS | **Ja** | Z.404: "Es werden keine Social Media Plugins gesetzt, sondern sogenannte Social Bookmarks" | ### L2 Checks (1/7) | Check | Tool | Korrekt? | Begruendung | |-------|------|----------|-------------| | **Facebook/Meta benannt** | **FAIL** | **Teilweise FP** | Z.389: "Facebook" wird erwaehnt, aber nicht als "Meta Platforms Ireland Limited". Regex sucht "meta platforms" oder "facebook ireland". **Grenzfall — Facebook wird genannt, aber nicht mit offizieller Firmenbezeichnung.** | | Kontakt beide | PASS | **Ja** | Z.395: "sowohl gegenueber uns als auch gegenueber dem Betreiber" | | **Plattform-DSE-Links** | **FAIL** | **Korrekt** | Keine Links zu den Datenschutzerklaerungen der Social-Media-Plattformen in dieser Sektion. **True Positive.** | | **SCC fuer US-Transfer** | **FAIL** | **Korrekt** | Keine SCC erwaehnt. **True Positive.** | | **DPF fuer US-Transfer** | **FAIL** | **Korrekt** | Kein Data Privacy Framework erwaehnt. **True Positive.** | | **Opt-Out Social** | **FAIL** | **Korrekt** | Keine konkrete Opt-Out-Moeglichkeit fuer Social-Media-Tracking. **True Positive.** | | **2-Klick-Loesung** | **FAIL** | **Teilweise FP** | Z.404: "Es werden keine Social Media Plugins gesetzt, sondern sogenannte Social Bookmarks" — das IST die datenschutzfreundliche Technik. Regex sucht "zwei klick|shariff|erst bei klick". **Bug: "Social Bookmarks" ist eine valide Alternative, wird aber nicht erkannt.** | **Bewertung Social Media: 1 False Positive (2-Klick), 1 Grenzfall (Meta-Name), 5 True Positives.** --- ## 4. DSFA Sektion ### L1 Checks (5/8) | Check | Tool | Korrekt? | Begruendung | |-------|------|----------|-------------| | Schwellwertanalyse | PASS | **Ja** | Z.757: "Art. 35 Abs. 1 der Europaeischen Datenschutzgrundverordnung" | | Beschreibung | PASS | **Ja** | Z.760: "Social Media-Angebot... besteht aus den Kanaelen Facebook, Twitter, Xing, LinkedIn, Instagram, YouTube" | | Notwendigkeit | PASS | **Ja** | Z.760: "nur sehr geringen Umfangs der eigenen Datenverarbeitung" | | Risikobewertung | PASS | **Ja** | Z.818-821: "Risikobewertung... Kriterien der Schadensschwere und der Eintrittswahrscheinlichkeit... gering bis mittel" | | **Abhilfemassnahmen** | **FAIL** | **Teilweise FP** | Z.775-778: "Aufklaerung ueber die jeweilige Datenschutzerklaerung", Z.827-830: "verschiedene Einstellungen... Browserverlauf loeschen, Cookies deaktivieren, Standortfreigabe", Z.830: "redaktionelle Betreuung ein Eingreifen". Es GIBT Massnahmen, aber keine klassischen TOMs (Verschluesselung etc.). **Grenzfall — Massnahmen sind da, aber nicht als TOM formuliert.** | | LfDI-Richtlinie | PASS | **Ja** | Z.757: "Richtlinie des Landes-Datenschutzbeauftragten (LfDI)" | | **Einbeziehung DSB** | **FAIL** | **Korrekt** | Kein Hinweis auf Beteiligung/Konsultation des DSB bei der DSFA. **True Positive.** | | **Dokumentation** | **FAIL** | **Teilweise FP** | Z.832-834: "4.) Ergebnis:" — das IST die Dokumentation des Ergebnisses! Regex sucht "dokument|ergebnis|bericht" + "dsfa|folgenabschaetzung". "Ergebnis" allein matcht nicht. **Grenzfall — Ergebnissektion existiert, aber Regex zu streng.** | ### L2 Checks (0/4) | Check | Tool | Korrekt? | Begruendung | |-------|------|----------|-------------| | **Verarbeitungsvorgang benannt** | **FAIL** | **Teilweise FP** | Z.760: "Social Media-Angebot der IHK Hochrhein-Bodensee besteht aus den Kanaelen Facebook, Twitter, Xing, LinkedIn, Instagram, YouTube" — DAS ist der Verarbeitungsvorgang. Regex sucht "betrieb|nutzung|verwaltung... seite|profil|kanal". "Kanaelen" vs "kanal" — Plural-Mismatch. **Bug: Regex erkennt Plural nicht.** | | **Rechtsgrundlage DSFA** | **FAIL** | **Korrekt** | Keine Rechtsgrundlage (Art. 6) in der DSFA-Sektion. **True Positive.** | | **Eintrittswahrscheinlichkeit** | **FAIL** | **FALSE POSITIVE** | Z.820: "Eintrittswahrscheinlichkeit" steht woertlich im Text! Aber die DSFA-Sektion wird als separates Sub-Dokument geprueft. Der Text ist vermutlich beim Section-Split abgeschnitten. **Bug: Section-Split schneidet zu frueh ab, oder Regex-Match scheitert an Kontext.** | | **Schwere bewertet** | **FAIL** | **FALSE POSITIVE** | Z.820: "Schadensschwere und der Eintrittswahrscheinlichkeit" + Z.821: "gering bis mittel". **Gleicher Bug wie oben — Text ist da, wird nicht gefunden.** | **Bewertung DSFA: 2 False Positives (Wahrscheinlichkeit + Schwere), 2 Grenzfaelle, 1 True Positive, 1 Regex-Bug (Plural).** --- ## Zusammenfassung ### Gesamtstatistik | Kategorie | Anzahl | Anteil | |-----------|--------|--------| | **Korrekte True Positives** (echt fehlend) | 15 | 50% | | **Korrekte True Negatives** (echt bestanden) | ~95 | — | | **False Positives** (faelschlich als fehlend) | 7 | 23% | | **Grenzfaelle** (argumentierbar) | 8 | 27% | | **False Negatives** (faelschlich bestanden) | 0 | 0% | ### Regex-Bugs die gefixt werden muessen | Bug | Datei | Problem | Fix | |-----|-------|---------|-----| | Cookie-Tabelle nicht erkannt | cookie_checks.py | Format mit Zeilenumbruechen statt Pipe/Tab | Regex auf "typen.*name.*funktion" oder aehnliches erweitern | | Cookie-Namen zu spezifisch | cookie_checks.py | Nur _ga/_gid/PHPSESSID, nicht JSESSIONID/Cookieinfo | Weitere gaengige Namen oder generisches Pattern | | Essential-Begruendung | cookie_checks.py | "technisch erforderlich" zu streng | Auch "fuer den Betrieb", "sitzung zuordnen" matchen | | Social Bookmarks als 2-Klick | social_media_checks.py | "Social Bookmarks" nicht erkannt | Pattern erweitern um "social bookmark" | | DSFA Plural "Kanaelen" | dsfa_checks.py | "kanal" matcht nicht "kanaelen" | `kanal|kan(?:ae\|ä)le` | | DSFA Section-Split | agent_doc_check_routes.py | Risikobewertung wird abgeschnitten | Section-Split-Grenze pruefen | | Cookie Rechtsgrundlage | cookie_checks.py | Art. 6(1)(f) ist da, aber Regex will §25 TDDDG | Auch Art. 6 ohne TDDDG akzeptieren | ### Hints die angepasst werden sollten | Check | Aktueller Hint | Verbesserung | |-------|---------------|-------------| | Interessenabwaegung | "...muss dokumentiert werden warum Ihr Interesse ueberwiegt" | Praeziser: "Bei Berufung auf Art. 6(1)(f) muss eine nachvollziehbare Abwaegung zwischen Ihrem Interesse und den Rechten der Betroffenen dokumentiert werden — nicht nur das Interesse selbst nennen." | | Loeschkonzept | "...Verweis auf internes Loeschkonzept" | "Neben Speicherfristen sollte beschrieben werden, WIE Daten geloescht werden (Prozess, Automatisierung, Verantwortlichkeit) — nicht nur WANN." |