""" EU Institution checks — Verordnung (EU) 2018/1725. Applies to EU institutions, bodies, offices and agencies instead of DSGVO. Key differences: Art. 15 (not 13), Art. 5 (not 6), EDSB (not national DPAs). L1: Pflichtangabe erwaehnt? L2: Pflichtangabe korrekt/vollstaendig? """ EU_INSTITUTION_CHECKLIST = [ # == L1: Verantwortlicher (Controller) ================================= { "id": "eu_controller", "label": "Verantwortlicher (Art. 15(1)(a) VO 2018/1725)", "level": 1, "parent": None, "patterns": [ r"verantwortlich\w*\s+(?:ist|im sinne|fuer|f(?:ue|ü)r)", r"kontaktdaten\s+des\s+verantwortlichen", r"name\s+(?:und|&)\s+kontaktdaten\s+des", r"controller", r"verantwortliche\s+stelle", r"responsible\s+(?:party|for)", r"data\s+controller", r"identity\s+(?:of\s+)?(?:the\s+)?controller", ], "severity": "HIGH", "hint": ( "Art. 15(1)(a) VO 2018/1725 verlangt die Identitaet des Verantwortlichen. " "Bei EU-Organen: Vollstaendiger Name der Institution (z.B. 'Europaeische Kommission, " "GD DIGIT'), Dienstadresse und funktionale E-Mail-Adresse. " "Haeufiger Fehler: Nur Abkuerzung ohne vollstaendigen Institutionsnamen." ), }, { "id": "eu_controller_address", "label": "Dienstadresse des Verantwortlichen", "level": 2, "parent": "eu_controller", "patterns": [ r"(?:rue|avenue|boulevard|strasse|stra(?:ss|ß)e)\s+\w+", r"\d{4,5}\s+(?:bruxelles|brussels|br(?:ue|ü)ssel|luxembourg|luxemburg|strasbourg|stra(?:ss|ß)burg)", r"b[\-\s]?\d{4}\s+\w+", r"l[\-\s]?\d{4}\s+\w+", ], "severity": "MEDIUM", "hint": ( "Angabe der Dienstadresse der EU-Institution (typisch: Bruessel, Luxemburg " "oder Strassburg). Format z.B. 'Rue de la Loi 200, B-1049 Bruxelles'. " "Haeufiger Fehler: Nur Postfach ohne physische Adresse." ), }, { "id": "eu_controller_email", "label": "E-Mail-Adresse des Verantwortlichen", "level": 2, "parent": "eu_controller", "patterns": [ r"[a-z0-9._%+\-]+@[a-z0-9.\-]+\.europa\.eu", r"[a-z0-9._%+\-]+@[a-z0-9.\-]+\.[a-z]{2,}", ], "severity": "MEDIUM", "hint": ( "Eine funktionale E-Mail-Adresse ist Pflicht (Art. 15(1)(a) VO 2018/1725). " "Bei EU-Organen typischerweise @ec.europa.eu, @europarl.europa.eu o.ae. " "Ein reines Kontaktformular genuegt nicht als unmittelbarer Kommunikationskanal." ), }, # == L1: Datenschutzbeauftragter (DPO) ================================= { "id": "eu_dpo", "label": "Datenschutzbeauftragter (Art. 15(1)(b) / Art. 43 VO 2018/1725)", "level": 1, "parent": None, "patterns": [ r"datenschutzbeauftragt", r"data\s+protection\s+officer", r"kontaktdaten\s+de[rs]\s+datenschutz", r"dpo", r"d(?:ae|ä)legu(?:e|é)\s+(?:a|à)\s+la\s+protection\s+des\s+donn(?:e|é)es", ], "severity": "HIGH", "hint": ( "Art. 43-44 VO 2018/1725: Jedes EU-Organ MUSS einen DSB (DPO) benennen. " "Dies ist — anders als unter der DSGVO — keine Frage der Mitarbeiterzahl, " "sondern absolute Pflicht fuer alle EU-Organe. Die Kontaktdaten muessen in " "jeder Datenschutzerklaerung angegeben werden (Art. 15(1)(b))." ), }, { "id": "eu_dpo_contact", "label": "DPO-Kontaktdaten (E-Mail oder Adresse)", "level": 2, "parent": "eu_dpo", "patterns": [ r"(?:data\s+protection\s+officer|dpo|datenschutzbeauftragt)[\s\S]{0,300}[a-z0-9._%+\-]+@", r"dpo[\s\S]{0,100}@", r"data[\-\.]?protection@", r"dpo@\w+\.europa\.eu", ], "severity": "MEDIUM", "hint": ( "Art. 44(7) VO 2018/1725: Die Kontaktdaten des DPO muessen veroeffentlicht werden. " "Mindestens eine funktionale E-Mail-Adresse angeben (z.B. DATA-PROTECTION-OFFICER@ec.europa.eu). " "Den Namen des DPO muessen Sie nicht nennen." ), }, { "id": "eu_dpo_function", "label": "DPO-Funktion / -Rolle beschrieben", "level": 2, "parent": "eu_dpo", "patterns": [ r"(?:aufgaben|role|function|zustaendig).*(?:dpo|datenschutzbeauftragt|data\s+protection\s+officer)", r"(?:dpo|datenschutzbeauftragt|data\s+protection\s+officer).*(?:aufgaben|role|function|zustaendig)", r"art(?:icle)?\s*44\s+(?:vo|regulation|verordnung)", ], "severity": "LOW", "hint": ( "Art. 44 VO 2018/1725 beschreibt die Aufgaben des DPO bei EU-Organen: " "Beratung, Ueberwachung, Zusammenarbeit mit dem EDSB. " "Es empfiehlt sich, kurz die Rolle des DPO zu erlaeutern, damit " "Betroffene wissen, wofuer der DPO zustaendig ist." ), }, # == L1: Zwecke und Rechtsgrundlage ==================================== { "id": "eu_purposes", "label": "Zwecke der Verarbeitung (Art. 15(1)(c) VO 2018/1725)", "level": 1, "parent": None, "patterns": [ r"zweck\w*\s+(?:der|und|die)\s+(?:verarbeitung|datenerhebung|datenverarbeitung)", r"purpose\w*\s+(?:of|for)\s+(?:the\s+)?(?:processing|data)", r"zu\s+welch\w+\s+zweck", r"(?:data|personal\s+data)\s+(?:is|are)\s+(?:collected|processed)\s+(?:for|to)", ], "severity": "HIGH", "hint": ( "Art. 15(1)(c) VO 2018/1725 verlangt konkrete Zweckangaben. " "EU-Organe muessen jeden Verarbeitungszweck einzeln auffuehren: z.B. " "'Verwaltung von Bewerbungen', 'Zugangsmanagement zum Gebaeude', " "'Webanalyse der Internetseite'. Pauschalformulierungen sind unzulaessig." ), }, { "id": "eu_purposes_specific", "label": "Konkrete Verarbeitungszwecke benannt", "level": 2, "parent": "eu_purposes", "patterns": [ r"(?:recruitment|selection|verwaltung|management|administration|monitoring|evaluation)", r"(?:human\s+resources|hr|personal|bewerbung|grant|procurement|vergabe)", r"(?:access|zugang|building|gebaeude|website|webseite|intranet)", ], "severity": "LOW", "hint": ( "Mindestens 2 konkrete Zwecke benennen, jeweils mit zugehoeriger " "Rechtsgrundlage. Typische EU-Organ-Zwecke: Personalverwaltung, " "Gebaeudezugang, IT-Sicherheitsmonitoring, Vergabeverfahren, " "Evaluierung von Foerderprogrammen. Pauschalformulierungen genuegen " "nicht dem Bestimmtheitsgrundsatz." ), }, # == L1: Rechtsgrundlage (Art. 5 statt Art. 6 DSGVO) ================== { "id": "eu_legal_basis", "label": "Rechtsgrundlage (Art. 5 VO 2018/1725)", "level": 1, "parent": None, "patterns": [ r"rechtsgrundlage", r"art\.\s*5\s*(?:abs|absatz)?\s*\.?\s*1", r"legal\s+basis", r"lawfulness\s+of\s+processing", r"art(?:icle)?\s*5\s*(?:\(1\))?\s*(?:\([a-d]\))?", r"auf\s+grundlage\s+(?:von|des|der)\s+art", r"regulation\s*\(eu\)\s*2018\s*/?\s*1725", r"verordnung\s*\(eu\)\s*2018\s*/?\s*1725", ], "severity": "HIGH", "hint": ( "Art. 5(1) VO 2018/1725 enthaelt die Rechtsgrundlagen fuer EU-Organe: " "(a) Einwilligung, (b) Vertrag, (c) rechtliche Verpflichtung, " "(d) im oeffentlichen Interesse/Ausuebung oeffentlicher Gewalt. " "WICHTIG: Art. 5(1)(d) ist der haeufigste Tatbestand bei EU-Organen — " "er entspricht etwa Art. 6(1)(e) DSGVO. Art. 6(1)(f) DSGVO " "(berechtigtes Interesse) existiert in der VO 2018/1725 NICHT." ), }, { "id": "eu_legal_basis_public_interest", "label": "Art. 5(1)(a) — Oeffentliches Interesse / oeffentliche Gewalt", "level": 2, "parent": "eu_legal_basis", "patterns": [ r"art\.\s*5\s*(?:\(1\))?\s*\(?(?:1\s*)?(?:let(?:ter)?\.?\s*)?a\)?", r"(?:oeffentlich|öffentlich).*(?:interesse|gewalt|aufgabe)", r"public\s+interest", r"(?:exercise|performance)\s+of\s+(?:official|public)\s+(?:authority|task)", ], "severity": "LOW", "hint": ( "Art. 5(1)(a) VO 2018/1725 ist die Hauptrechtsgrundlage fuer EU-Organe. " "Verlangt einen konkreten Rechtsakt als Grundlage (z.B. Verordnung, " "Beschluss, Basisrechtsakt der Institution). Benennen Sie den spezifischen " "Rechtsakt, nicht nur pauschal 'oeffentliches Interesse'." ), }, { "id": "eu_legal_basis_consent", "label": "Art. 5(1)(d) — Einwilligung", "level": 2, "parent": "eu_legal_basis", "patterns": [ r"art\.\s*5\s*(?:\(1\))?\s*\(?(?:1\s*)?(?:let(?:ter)?\.?\s*)?d\)?", r"einwilligung\s+(?:gem|nach|i\.?\s*s\.?\s*d\.?)", r"consent\s+(?:of|given\s+by)\s+the\s+data\s+subject", ], "severity": "LOW", "hint": ( "Bei Einwilligung (Art. 5(1)(d) VO 2018/1725) muss auf das jederzeitige " "Widerrufsrecht hingewiesen werden (Art. 7(3) VO 2018/1725). " "Achtung: EU-Organe sollten Einwilligung nur als Rechtsgrundlage waehlen, " "wenn keine andere Grundlage greift — wegen des Machtungleichgewichts " "zwischen Institution und Einzelperson (EDSB-Leitlinien)." ), }, # == L1: Empfaenger ==================================================== { "id": "eu_recipients", "label": "Empfaenger (Art. 15(1)(e) VO 2018/1725)", "level": 1, "parent": None, "patterns": [ r"empf(?:ae|ä)nger", r"(?:ueber|über|weiter)mitt(?:el|l)ung", r"recipient", r"weitergabe\s+(?:an|von)\s+daten", r"data\s+(?:will\s+be|are|is)\s+(?:shared|disclosed|transferred|transmitted)\s+to", r"auftragsverarbeit", r"processor", ], "severity": "MEDIUM", "hint": ( "Art. 15(1)(e) VO 2018/1725: Empfaenger oder Empfaengerkategorien benennen. " "Typisch bei EU-Organen: andere EU-Institutionen (z.B. OLAF, Rechnungshof), " "Mitgliedstaaten-Behoerden, IT-Dienstleister. Auftragsverarbeiter muessen " "nach Art. 29 VO 2018/1725 vertraglich gebunden sein." ), }, { "id": "eu_recipients_processor", "label": "Auftragsverarbeiter / Processor (Art. 29 VO 2018/1725)", "level": 2, "parent": "eu_recipients", "patterns": [ r"auftragsverarbeit(?:er|ung)", r"art\.\s*29\s+(?:vo|verordnung|regulation)", r"art(?:icle)?\s*29", r"processor", r"sub[\-\s]?processor", ], "severity": "LOW", "hint": ( "Art. 29 VO 2018/1725 (entspricht Art. 28 DSGVO): " "Auftragsverarbeiter muessen vertraglich gebunden werden. " "Erwaehnen Sie, dass ein Auftragsverarbeitungsvertrag besteht. " "Bei Cloud-Diensten (z.B. Microsoft 365, AWS): Vertrag muss " "die Vorgaben von Art. 29(3) VO 2018/1725 einhalten." ), }, # == L1: Drittlandtransfer ============================================= { "id": "eu_third_country", "label": "Drittlandtransfer (Art. 46-50 VO 2018/1725)", "level": 1, "parent": None, "patterns": [ r"drittland", r"dritt\s*staat", r"third\s+countr", r"angemessenheitsbeschluss", r"adequacy\s+decision", r"standard\s*(?:vertragsklausel|contractual\s+clause)", r"(?:transfer|uebermittlung|übermittlung).*(?:ausserhalb|außerhalb|outside)", r"(?:europ(?:ae|ä)ischen\s+wirtschaftsraum|ewr|eea)", r"art(?:icle)?\s*4[6-9]", r"art\.\s*50", ], "severity": "MEDIUM", "hint": ( "Art. 46-50 VO 2018/1725 (entspricht Art. 44-49 DSGVO): " "Drittlandtransfers erfordern Angemessenheitsbeschluss (Art. 47), " "geeignete Garantien (Art. 48) oder Ausnahmen (Art. 50). " "EDSB-Empfehlung: EU-Organe muessen besonders streng pruefen, " "da sie eine Vorbildfunktion fuer die Mitgliedstaaten haben." ), }, { "id": "eu_third_country_mechanism", "label": "Transfermechanismus benannt (Art. 47-48 VO 2018/1725)", "level": 2, "parent": "eu_third_country", "patterns": [ r"standard\s*vertragsklausel|scc|standard\s+contractual", r"angemessenheitsbeschluss|adequacy\s+decision", r"art(?:icle)?\s*4[7-8]", r"data\s+privacy\s+framework|dpf", r"appropriate\s+safeguards", r"geeignete\s+garantien", ], "severity": "MEDIUM", "hint": ( "Art. 48 VO 2018/1725: Bei fehlender Angemessenheit koennen " "geeignete Garantien (z.B. SCC, verbindliche Verwaltungsvereinbarungen) " "den Transfer absichern. Der EDSB hat 2020 eigene Leitlinien zu " "Drittlandtransfers fuer EU-Organe veroeffentlicht." ), }, # == L1: Speicherdauer ================================================= { "id": "eu_retention", "label": "Speicherdauer (Art. 15(1)(g) VO 2018/1725)", "level": 1, "parent": None, "patterns": [ r"speicherdauer", r"aufbewahrungsfrist", r"retention\s+period", r"(?:how\s+long|storage\s+period|data\s+retention)", r"l(?:oe|ö)sch(?:ung|frist)", r"daten\s+werden\s+gel(?:oe|ö)scht", r"(?:\d+\s+(?:tage|monate|jahre|days|months|years))", r"dauer\s+der\s+speicherung", r"data\s+will\s+be\s+(?:kept|stored|retained)\s+(?:for|until|during)", ], "severity": "HIGH", "hint": ( "Art. 15(1)(g) VO 2018/1725 verlangt die Speicherdauer oder " "Kriterien zu deren Festlegung. EU-Organe haben oft interne " "Aufbewahrungsrichtlinien (retention schedules). Nennen Sie die " "konkreten Fristen oder verweisen Sie auf die interne Richtlinie " "mit Dokumentenreferenz." ), }, { "id": "eu_retention_periods", "label": "Konkrete Zeitangaben", "level": 2, "parent": "eu_retention", "patterns": [ r"\d+\s+(?:tage?|monate?|jahre?|days?|months?|years?)", r"(?:after|nach)\s+(?:the\s+)?(?:end|closure|completion|ablauf|beendigung)", r"retention\s+(?:schedule|policy|period)\s+(?:of|for)\s+\d+", ], "severity": "MEDIUM", "hint": ( "Konkrete Fristen pro Datenkategorie nennen. EU-Organe folgen " "typischerweise der Common Retention List (CRL) der Kommission. " "Beispiel: Bewerbungsdaten 2 Jahre, Finanzunterlagen 7 Jahre, " "Gebaeudezugangslogs 6 Monate." ), }, # == L1: Betroffenenrechte (Art. 17-24 statt Art. 15-22 DSGVO) ========= { "id": "eu_rights", "label": "Betroffenenrechte (Art. 17-24 VO 2018/1725)", "level": 1, "parent": None, "patterns": [ r"recht\s+auf\s+auskunft", r"recht\s+auf\s+l(?:oe|ö)schung", r"recht\s+auf\s+berichtigung", r"widerspruchsrecht", r"right\s+to\s+(?:access|erasure|rectification|object|restrict)", r"betroffenenrecht", r"rechte\s+(?:des|der)\s+betroffenen", r"(?:your|data\s+subject)\s+rights", r"art(?:icle)?\s*(?:17|18|19|20|21|22|23|24)\s+(?:vo|regulation|verordnung)", ], "severity": "HIGH", "hint": ( "Art. 15(1)(h) VO 2018/1725 verlangt Nennung der Betroffenenrechte: " "Auskunft (Art. 17), Berichtigung (Art. 18), Loeschung (Art. 19), " "Einschraenkung (Art. 20), Datenportabilitaet (Art. 22), " "Widerspruch (Art. 23). Achtung: Die Artikelnummern unterscheiden sich " "von der DSGVO (Art. 15-22)! Haeufiger Fehler: DSGVO-Artikel " "statt VO 2018/1725 Artikel zitieren." ), }, { "id": "eu_rights_access", "label": "Recht auf Auskunft (Art. 17 VO 2018/1725)", "level": 2, "parent": "eu_rights", "patterns": [ r"art(?:icle)?\s*17\s+(?:vo|regulation|verordnung)", r"art\.\s*17", r"recht\s+auf\s+(?:\w+\s+)?auskunft", r"right\s+(?:of|to)\s+access", ], "severity": "LOW", "hint": ( "Art. 17 VO 2018/1725 (entspricht Art. 15 DSGVO): Betroffene koennen " "Auskunft und eine Kopie ihrer Daten verlangen. Antwortfrist: 1 Monat " "(Art. 14(3) VO 2018/1725). Anfragen gehen typischerweise an den DPO " "der Institution." ), }, { "id": "eu_rights_erasure", "label": "Recht auf Loeschung (Art. 19 VO 2018/1725)", "level": 2, "parent": "eu_rights", "patterns": [ r"art(?:icle)?\s*19\s+(?:vo|regulation|verordnung)", r"art\.\s*19", r"recht\s+auf\s+(?:\w+\s+)?l(?:oe|ö)schung", r"right\s+to\s+erasure", r"right\s+to\s+be\s+forgotten", ], "severity": "LOW", "hint": ( "Art. 19 VO 2018/1725 (entspricht Art. 17 DSGVO): " "Recht auf Loeschung bei Zweckentfall, Widerruf der Einwilligung " "oder unrechtmaessiger Verarbeitung. Erwaehnen Sie auch die " "Ausnahmen fuer EU-Organe: Archivzwecke im oeffentlichen Interesse, " "gesetzliche Aufbewahrungspflichten." ), }, { "id": "eu_rights_restriction", "label": "Recht auf Einschraenkung (Art. 20 VO 2018/1725)", "level": 2, "parent": "eu_rights", "patterns": [ r"art(?:icle)?\s*20\s+(?:vo|regulation|verordnung)", r"art\.\s*20", r"einschr(?:ae|ä)nkung\s+der\s+verarbeitung", r"right\s+to\s+restrict(?:ion)?", ], "severity": "LOW", "hint": ( "Art. 20 VO 2018/1725 (entspricht Art. 18 DSGVO): " "Recht auf Einschraenkung der Verarbeitung bei bestrittener " "Richtigkeit, unrechtmaessiger Verarbeitung oder laufendem " "Widerspruch. Wird am haeufigsten vergessen." ), }, { "id": "eu_rights_automated", "label": "Automatisierte Entscheidungen (Art. 24 VO 2018/1725)", "level": 2, "parent": "eu_rights", "patterns": [ r"art(?:icle)?\s*24\s+(?:vo|regulation|verordnung)", r"art\.\s*24", r"automatisierte\s+entscheidung", r"automated\s+(?:decision|individual)", r"profiling", ], "severity": "LOW", "hint": ( "Art. 24 VO 2018/1725 (entspricht Art. 22 DSGVO): " "Bei automatisierten Einzelentscheidungen muessen Logik, " "Tragweite und Auswirkungen erklaert werden. Falls kein " "Profiling stattfindet, explizit verneinen." ), }, # == L1: Beschwerderecht beim EDSB ===================================== { "id": "eu_complaint", "label": "Beschwerderecht beim EDSB (Art. 15(1)(i) VO 2018/1725)", "level": 1, "parent": None, "patterns": [ r"beschwerderecht", r"right\s+to\s+lodge\s+a\s+complaint", r"beschwerde.*(?:edsb|edps)", r"edsb", r"edps", r"europ(?:ae|ä)isch\w*\s+datenschutzbeauftragt", r"european\s+data\s+protection\s+supervisor", r"contr(?:o|ô)leur\s+europ(?:e|é)en", r"art(?:icle)?\s*63", ], "severity": "HIGH", "hint": ( "Art. 15(1)(i) VO 2018/1725: Bei EU-Organen ist der EDSB " "(Europaeischer Datenschutzbeauftragter / European Data Protection " "Supervisor) die zustaendige Aufsichtsbehoerde — NICHT die nationalen " "Datenschutzbehoerden. Kontakt: edps@edps.europa.eu, " "Rue Wiertz 60, B-1047 Bruxelles. Haeufiger Fehler: Verweis auf " "nationale Aufsichtsbehoerde statt EDSB." ), }, { "id": "eu_complaint_edps_contact", "label": "EDSB-Kontaktdaten angegeben", "level": 2, "parent": "eu_complaint", "patterns": [ r"edps@edps\.europa\.eu", r"edps\.europa\.eu", r"edsb.*(?:kontakt|anschrift|adresse|e[\-\s]?mail|wiertz)", r"edps.*(?:contact|address|e[\-\s]?mail|wiertz)", r"rue\s+wiertz", ], "severity": "MEDIUM", "hint": ( "Vollstaendige EDSB-Kontaktdaten angeben: " "Europaeischer Datenschutzbeauftragter (EDSB), " "Rue Wiertz 60, B-1047 Bruxelles/Bruessel, " "edps@edps.europa.eu, https://edps.europa.eu. " "Haeufiger Fehler: Nur 'EDSB' erwaehnt ohne Kontaktdaten." ), }, ]