feat: Expand Social Media (10 checks) + DSFA (8 checks) checklists
Art. 26 Joint Controller (10 checks, was 7): + Auflistung der genutzten Plattformen + Rechtsgrundlage (Art. 6) + Social Bookmarks vs. Plugins Hinweis Improved: broader patterns for joint parties, contact point, data types DSFA Art. 35 (8 checks, was 5): + Schwellwertanalyse / Auslösepruefung + Beruecksichtigung Landesbehörden-Richtlinie (LFDI) + Dokumentation der Ergebnisse Improved: IHK-specific patterns (Kanäle, systematische Beobachtung, geringer Umfang, sensitive Daten) Total: 40 → 47 Regex-Checks across all document types. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -200,52 +200,93 @@ COOKIE_CHECKLIST = [
|
||||
JOINT_CONTROLLER_CHECKLIST = [
|
||||
{"id": "joint_parties", "label": "Gemeinsam Verantwortliche benannt (Art. 26(1))",
|
||||
"patterns": [r"gemeinsam.*verantwortlich", r"joint.*controller", r"gemeinsame\s+verantwortlichkeit",
|
||||
r"art\.\s*26", r"mitverantwortlich"]},
|
||||
r"art\.\s*26", r"mitverantwortlich",
|
||||
r"wir.*(?:und|gemeinsam).*(?:betreiber|facebook|meta|google)",
|
||||
r"(?:betreiber|netzwerk).*verantwortlich"]},
|
||||
{"id": "arrangement", "label": "Vereinbarung nach Art. 26 DSGVO",
|
||||
"patterns": [r"vereinbarung.*art\.\s*26", r"art\.\s*26.*vereinbarung",
|
||||
r"page\s*controller", r"fanpage", r"insights",
|
||||
r"gemeinsame.*verantwortung.*(?:vertrag|vereinbarung)"]},
|
||||
r"gemeinsame.*verantwortung.*(?:vertrag|vereinbarung)",
|
||||
r"addendum|nachtrag|seiten.*insights"]},
|
||||
{"id": "contact_point", "label": "Anlaufstelle fuer Betroffene (Art. 26(1) S.3)",
|
||||
"patterns": [r"anlaufstelle", r"kontaktstelle", r"ansprechpartner.*betroffene",
|
||||
r"rechte.*(?:gegenueber|gegenüber)\s+(?:uns|beiden)",
|
||||
r"rechte.*(?:sowohl|grundsaetzlich|grundsätzlich).*(?:uns|als auch)"]},
|
||||
r"rechte.*(?:sowohl|grundsaetzlich|grundsätzlich).*(?:uns|als auch)",
|
||||
r"rechte.*geltend\s+machen", r"wenden\s+sie\s+sich"]},
|
||||
{"id": "processing_split", "label": "Verarbeitungsaufteilung (wer macht was)",
|
||||
"patterns": [r"(?:wir|betreiber).*(?:verarbeiten|erheben|nutzen).*(?:daten|informationen)",
|
||||
r"(?:facebook|meta|google|youtube|instagram|linkedin|twitter|x\.com).*(?:verarbeit|erhebt|nutzt|speichert)",
|
||||
r"bei\s+besuch\s+(?:unserer|der)\s+(?:seite|fanpage|profil)"]},
|
||||
r"bei\s+besuch\s+(?:unserer|der)\s+(?:seite|fanpage|profil)",
|
||||
r"(?:senden|ver(?:oe|ö)ffentlich|teilen).*(?:inhalte|beitr(?:ae|ä)ge)",
|
||||
r"(?:nutzungsstatistik|statistik|insight).*(?:betreiber|netzwerk)"]},
|
||||
{"id": "social_data_types", "label": "Kategorien verarbeiteter Daten",
|
||||
"patterns": [r"(?:nutzungsstatistik|insight|reichweite|interaktion|klick|aufruf)",
|
||||
r"(?:ip.?adresse|standort|browser|geraet|alter|geschlecht).*(?:social|profil|seite|fanpage)",
|
||||
r"(?:personenbezogen|daten).*(?:social|netzwerk|plattform)"]},
|
||||
r"(?:ip.?adresse|standort|browser|ger(?:ae|ä)t|alter|geschlecht)",
|
||||
r"(?:personenbezogen|daten).*(?:social|netzwerk|plattform)",
|
||||
r"(?:nutzername|beitr(?:ae|ä)g|profil|like|kommentar)",
|
||||
r"(?:sensitive|besondere).*(?:daten|kategori)"]},
|
||||
{"id": "platforms", "label": "Auflistung der genutzten Plattformen",
|
||||
"patterns": [r"(?:facebook|instagram|youtube|twitter|x\.com|linkedin|xing|tiktok)",
|
||||
r"(?:kan(?:ae|ä)le|plattform|netzwerk|profil|account|auftritte).*(?:social|medien)",
|
||||
r"social\s*media.*(?:angebot|pr(?:ae|ä)senz|auftritte)"]},
|
||||
{"id": "third_country", "label": "Drittlandtransfer (USA bei Social Media)",
|
||||
"patterns": [r"(?:usa|vereinigte\s+staaten|drittland|drittstaaten).*(?:social|facebook|meta|google)",
|
||||
r"(?:social|facebook|meta|google).*(?:usa|drittland|drittstaaten)",
|
||||
"patterns": [r"(?:usa|vereinigte\s+staaten|drittland|drittstaaten)",
|
||||
r"privacy\s+shield|data\s+privacy\s+framework|angemessenheitsbeschluss",
|
||||
r"standardvertragsklausel|standard.*contractual"]},
|
||||
r"standardvertragsklausel|standard.*contractual",
|
||||
r"(?:uebermittlung|übermittlung).*(?:usa|drittland|ausserhalb|außerhalb)"]},
|
||||
{"id": "legal_basis", "label": "Rechtsgrundlage (Art. 6 DSGVO)",
|
||||
"patterns": [r"rechtsgrundlage", r"art\.\s*6", r"berechtigtes\s+interesse",
|
||||
r"einwilligung.*art\.\s*6", r"lit\.\s*[a-f]"]},
|
||||
{"id": "rights", "label": "Betroffenenrechte (Art. 15-21)",
|
||||
"patterns": [r"recht\s+auf\s+auskunft", r"recht\s+auf\s+l(?:oe|ö)schung",
|
||||
r"art\.\s*1[5-9]", r"betroffenenrecht",
|
||||
r"ihre\s+rechte", r"rechte.*betroffene"]},
|
||||
r"ihre\s+rechte", r"rechte.*betroffene", r"widerspruchsrecht"]},
|
||||
{"id": "social_bookmarks", "label": "Hinweis auf Social Bookmarks vs. Plugins",
|
||||
"patterns": [r"social\s*(?:bookmark|plugin|button|widget)",
|
||||
r"(?:kein|keine).*(?:plugin|widget|button).*(?:gesetzt|eingebunden|geladen)",
|
||||
r"(?:link|verweis|weiterleitung).*(?:dienst|anbieter|netzwerk)"]},
|
||||
]
|
||||
|
||||
# DSFA minimal checklist (Art. 35 DSGVO) — basic structure checks
|
||||
# DSFA checklist (Art. 35 DSGVO)
|
||||
DSFA_CHECKLIST = [
|
||||
{"id": "trigger", "label": "Schwellwertanalyse / Ausloesepruefung (Art. 35(1))",
|
||||
"patterns": [r"art\.\s*35\s*(?:abs|absatz)?\s*\.?\s*1", r"hohes\s+risiko",
|
||||
r"voraussichtlich.*risiko", r"schwellwert",
|
||||
r"folgen.*(?:verarbeitung|schutz).*personenbezogen"]},
|
||||
{"id": "description", "label": "Beschreibung der Verarbeitungsvorgaenge (Art. 35(7)(a))",
|
||||
"patterns": [r"beschreibung.*verarbeitung", r"verarbeitungsvorg(?:ae|ä)ng",
|
||||
r"systematische\s+beschreibung", r"gegenstand.*verarbeitung"]},
|
||||
r"systematische\s+beschreibung", r"gegenstand.*verarbeitung",
|
||||
r"social\s*media.*(?:angebot|nutzung|besteht\s+aus)",
|
||||
r"(?:kan(?:ae|ä)le|plattform).*(?:facebook|twitter|instagram|youtube|linkedin|xing)"]},
|
||||
{"id": "necessity", "label": "Notwendigkeit und Verhaeltnismaessigkeit (Art. 35(7)(b))",
|
||||
"patterns": [r"notwendigkeit", r"verh(?:ae|ä)ltnism(?:ae|ä)ssigkeit",
|
||||
r"erforderlichkeit", r"zweckbindung"]},
|
||||
r"erforderlichkeit", r"zweckbindung",
|
||||
r"geringen?\s+umfang", r"nur\s+(?:die|sehr).*daten.*(?:verarbeitet|erhoben)",
|
||||
r"freiwillig\s+angegeben"]},
|
||||
{"id": "risks", "label": "Risikobewertung fuer Betroffene (Art. 35(7)(c))",
|
||||
"patterns": [r"risiko.*(?:bewertung|analyse|einsch(?:ae|ä)tzung)",
|
||||
"patterns": [r"risiko.*(?:bewertung|analyse|einsch(?:ae|ä)tzung|abw(?:ae|ä)gung)",
|
||||
r"risiken.*(?:rechte|freiheit)", r"eintrittswahrscheinlichkeit",
|
||||
r"schwere.*(?:risiko|auswirkung)"]},
|
||||
r"schwere.*(?:risiko|auswirkung)",
|
||||
r"hohes\s+risiko.*(?:rechte|freiheit)",
|
||||
r"systematische\s+beobachtung",
|
||||
r"(?:sensitiv|politisch|sexuell|gesundheit).*(?:daten|offenbar)"]},
|
||||
{"id": "measures", "label": "Abhilfemassnahmen (Art. 35(7)(d))",
|
||||
"patterns": [r"abhilfe", r"massnahmen.*risiko", r"schutzma(?:ss|ß)nahm",
|
||||
r"(?:technisch|organisatorisch).*massnahm", r"tom"]},
|
||||
"patterns": [r"abhilfe", r"(?:ma(?:ss|ß)nahm).*(?:risiko|schutz|minderung)",
|
||||
r"schutzma(?:ss|ß)nahm", r"(?:technisch|organisatorisch).*ma(?:ss|ß)nahm",
|
||||
r"tom", r"risiko.*(?:minim|reduz|begrenzen)",
|
||||
r"(?:einschr(?:ae|ä)nk|begrenz).*(?:verarbeitung|zugriff)"]},
|
||||
{"id": "lfdi", "label": "Beruecksichtigung Landesbehoerden-Richtlinie",
|
||||
"patterns": [r"l(?:an)?fdi", r"landesbeauftragt.*datenschutz",
|
||||
r"landes.?datenschutz", r"richtlinie.*(?:land|lfdi|landes)",
|
||||
r"(?:aufsichtsbeh(?:oe|ö)rde|beh(?:oe|ö)rde).*(?:richtlinie|empfehlung|vorgabe)"]},
|
||||
{"id": "stakeholders", "label": "Einbeziehung des DSB (Art. 35(2))",
|
||||
"patterns": [r"datenschutzbeauftragt.*(?:einbez|konsult|beteilig|rat)",
|
||||
r"dsb.*(?:konsult|einbez|rat)", r"stellungnahme.*dsb"]},
|
||||
r"dsb.*(?:konsult|einbez|rat)", r"stellungnahme.*dsb",
|
||||
r"(?:rat|empfehlung).*datenschutzbeauftragt"]},
|
||||
{"id": "documentation", "label": "Dokumentation der Ergebnisse",
|
||||
"patterns": [r"(?:dokument|ergebnis|bericht).*(?:dsfa|folgenabsch(?:ae|ä)tzung)",
|
||||
r"(?:ergebnis|schlussfolgerung|bewertung).*(?:risiko|verarbeitung)",
|
||||
r"vorliegend.*(?:dsfa|analyse|bewertung|absch(?:ae|ä)tzung)"]},
|
||||
]
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user