Compare commits
2 Commits
ce77cde309
...
407a9503e4
| Author | SHA1 | Date | |
|---|---|---|---|
| 407a9503e4 | |||
| 1fd7ea6139 |
@@ -40,14 +40,17 @@ _B2C_KEYWORDS = [
|
||||
|
||||
_B2B_KEYWORDS = [
|
||||
"unternehmen", "geschaeftskunden", "geschäftskunden", "gewerblich",
|
||||
"auftrag", "auftraggeber", "auftragnehmer", "geschaeftspartner",
|
||||
"geschäftspartner", "firmenkunde", "b2b",
|
||||
"auftraggeber", "auftragnehmer", "geschaeftspartner",
|
||||
"geschäftspartner", "firmenkunde", "b2b", "industriekunden",
|
||||
"beratung", "consulting", "dienstleistung", "engineering",
|
||||
]
|
||||
|
||||
_B2G_KEYWORDS = [
|
||||
"behoerde", "behörde", "koerperschaft", "körperschaft", "oeffentlich",
|
||||
"öffentlich", "gemeinde", "amt", "stadtverwaltung", "landesbehoerde",
|
||||
"landesbehörde", "kommunal",
|
||||
"koerperschaft des oeffentlichen rechts", "körperschaft des öffentlichen rechts",
|
||||
"gemeinde", "stadtverwaltung", "landesbehoerde", "landesbehörde",
|
||||
"kommunal", "buergerservice", "bürgerservice", "rathaus",
|
||||
"landesamt", "bundesamt", "oeffentliche verwaltung", "öffentliche verwaltung",
|
||||
"oeffentlicher dienst", "öffentlicher dienst",
|
||||
]
|
||||
|
||||
_NONPROFIT_KEYWORDS = [
|
||||
@@ -93,14 +96,17 @@ _EDITORIAL_KEYWORDS = [
|
||||
]
|
||||
|
||||
_INDUSTRY_KEYWORDS = {
|
||||
"it_services": ["software", "saas", "cloud", "hosting", "server", "api", "app"],
|
||||
"it_services": ["software", "saas", "cloud", "hosting", "api", "plattform"],
|
||||
"retail": ["shop", "warenkorb", "versand", "lieferung", "einzelhandel"],
|
||||
"healthcare": ["arzt", "praxis", "patient", "gesundheit", "therapie", "klinik"],
|
||||
"legal": ["kanzlei", "rechtsanwalt", "mandant", "anwalt"],
|
||||
"craft": ["handwerk", "meister", "werkstatt", "montage", "gewerk"],
|
||||
"public": ["behoerde", "behörde", "kommune", "verwaltung", "buerger", "bürger"],
|
||||
"public": ["kommune", "stadtverwaltung", "buergerservice", "bürgerservice", "rathaus"],
|
||||
"finance": ["bank", "versicherung", "finanz", "kredit", "anlage"],
|
||||
"education": ["schule", "bildung", "unterricht", "lehrplan", "schueler", "schüler"],
|
||||
"consulting": ["beratung", "consulting", "schulung", "seminar", "gutachten", "audit"],
|
||||
"manufacturing": ["fertigung", "produktion", "maschinenbau", "anlagenbau", "zulieferer"],
|
||||
"media": ["redaktion", "verlag", "medien", "journalismus", "presse"],
|
||||
}
|
||||
|
||||
_TRACKING_SERVICES = {
|
||||
@@ -197,8 +203,16 @@ async def detect_business_profile(documents: dict[str, str]) -> BusinessProfile:
|
||||
total = sum(max(0, v) for v in scores.values())
|
||||
profile.confidence = round(best_val / total, 2) if total > 0 else 0.5
|
||||
else:
|
||||
profile.business_type = "unknown"
|
||||
profile.confidence = 0.2
|
||||
# Fallback: GmbH/AG without B2C signals → assume B2B
|
||||
has_company = any(kw in full_text for kw in [
|
||||
"gmbh", "ag ", "ohg", "kg ", "ug ", "gbr",
|
||||
])
|
||||
if has_company and b2c_score <= 0:
|
||||
profile.business_type = "b2b"
|
||||
profile.confidence = 0.4
|
||||
else:
|
||||
profile.business_type = "unknown"
|
||||
profile.confidence = 0.2
|
||||
|
||||
# ── ODR (Online-Streitbeilegung) ─────────────────────────────
|
||||
# Required for B2C with online shop (EU Regulation 524/2013)
|
||||
|
||||
@@ -0,0 +1,351 @@
|
||||
# Auftrag: Use-Case Compiler — MCs in interaktive Prüfungen verwandeln
|
||||
|
||||
**Priorität:** HOCH — nächster großer Baustein nach MC Quality Overhaul
|
||||
**Repos:** breakpilot-compliance (Hauptarbeit) + breakpilot-core (MC-Daten)
|
||||
**Voraussetzung:** 13.588 Master Controls in DB (lokal + Production), Gap-Engine funktioniert
|
||||
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
Die 13.588 MCs sind eine Wissensbasis, aber kein Produkt. Wenn ein Nutzer "Vendor Check" machen will, bekommt er 4.036 Controls — aber keine konkreten Fragen, keinen Fragebogen, keine Nachweissammlung.
|
||||
|
||||
## Ziel
|
||||
|
||||
Ein **Use-Case Compiler** der aus MCs automatisch interaktive Prüfungen generiert:
|
||||
|
||||
```
|
||||
Use Case (z.B. "Vendor Check Cloud-Anbieter")
|
||||
→ Relevante MCs filtern
|
||||
→ Pro MC: 1-3 binäre Prüffragen ableiten
|
||||
→ Fragebogen generieren (sortiert, gruppiert)
|
||||
→ Nutzer beantwortet + lädt Nachweise hoch
|
||||
→ Compliance-Score + Gap-Report
|
||||
→ Fehlende Rechtsquellen automatisch identifizieren
|
||||
```
|
||||
|
||||
## Was bereits existiert (WIEDERVERWENDEN!)
|
||||
|
||||
### Master Controls (Core DB)
|
||||
```sql
|
||||
-- 13.588 MCs mit 83.073 Members
|
||||
SELECT mc.canonical_name, mc.total_controls, mc.phases_covered
|
||||
FROM compliance.master_controls mc;
|
||||
|
||||
-- Members mit Regulation Source
|
||||
SELECT cc.control_id, cc.title, cc.objective, mcm.phase, mcm.action,
|
||||
pc.source_citation::jsonb->>'source' as regulation
|
||||
FROM compliance.master_control_members mcm
|
||||
JOIN compliance.canonical_controls cc ON cc.id = mcm.control_uuid
|
||||
LEFT JOIN compliance.canonical_controls pc ON pc.id = cc.parent_control_uuid;
|
||||
```
|
||||
|
||||
### doc_check_controls (1.874 Controls mit check_question)
|
||||
```sql
|
||||
-- Bereits existierende binäre Prüffragen
|
||||
SELECT doc_type, control_id, check_question, pass_criteria, fail_criteria, severity
|
||||
FROM compliance.doc_check_controls WHERE doc_type = 'dse';
|
||||
```
|
||||
→ Das ist das TEMPLATE: Für jeden Use Case brauchen wir das Gleiche.
|
||||
|
||||
### Gap-Engine (Compliance SDK)
|
||||
- `internal/gap/` — Product Profile, Classifier, Priority Engine
|
||||
- `internal/gap/gap_engine.go` — assessGapStatus mit IST-Zustand
|
||||
- `internal/gap/norm_mapping.go` — 20 Normen → MC-Topic Mapping
|
||||
- API: `POST /sdk/v1/gap/analyze`
|
||||
|
||||
### IACE Pattern Engine
|
||||
- Tag-basiertes Pattern Matching → domain-agnostisch
|
||||
- `PatternEngine.Match(input)` → requirements
|
||||
- Completeness Gates (25 Prüfpunkte)
|
||||
|
||||
### ZeroClaw Agent
|
||||
- `backend-compliance/compliance/api/agent_doc_check_routes.py` — Doc-Check Agent
|
||||
- LLM-basierte Verifikation mit Tool Calling
|
||||
- `ai-compliance-sdk/internal/llm/` — Ollama/Claude Adapter
|
||||
|
||||
### Tenant Document Upload (Core RAG)
|
||||
- `rag-service/api/tenant_documents.py` — tenant-isolierter Upload
|
||||
- Funktioniert auf Mac Mini
|
||||
|
||||
---
|
||||
|
||||
## Architektur
|
||||
|
||||
### Neue Dateien (Go, im Compliance-Repo)
|
||||
|
||||
```
|
||||
ai-compliance-sdk/internal/usecase/
|
||||
├── models.go — UseCaseTemplate, Question, Evidence, ComplianceResult
|
||||
├── compiler.go — MC → Fragen kompilieren
|
||||
├── question_generator.go — Aus MC + Controls Prüffragen ableiten
|
||||
├── scoring.go — Antworten → Compliance-Score
|
||||
├── gap_detector.go — Fehlende Rechtsquellen identifizieren
|
||||
├── store.go — DB CRUD (Audits, Antworten, Evidence)
|
||||
└── templates.go — Vordefinierte Use-Case Templates
|
||||
```
|
||||
|
||||
```
|
||||
ai-compliance-sdk/internal/api/handlers/
|
||||
└── usecase_handler.go — API Endpoints
|
||||
```
|
||||
|
||||
```
|
||||
ai-compliance-sdk/migrations/
|
||||
└── 026_usecase_audits.sql — Tabellen für Audits + Antworten
|
||||
```
|
||||
|
||||
### Frontend (Next.js, im Compliance-Repo)
|
||||
|
||||
```
|
||||
admin-compliance/app/sdk/use-case-audit/
|
||||
├── page.tsx — Use Case auswählen oder erstellen
|
||||
├── [auditId]/
|
||||
│ └── page.tsx — Fragebogen ausfüllen + Ergebnis
|
||||
└── _components/
|
||||
├── UseCaseSelector.tsx — Template-Auswahl oder Custom
|
||||
├── QuestionnaireView.tsx — Dynamischer Fragebogen
|
||||
└── AuditResult.tsx — Score + Gaps + Report
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Datenmodell
|
||||
|
||||
### UseCaseTemplate
|
||||
```go
|
||||
type UseCaseTemplate struct {
|
||||
ID string // "vendor_check", "sast_dast_audit", "dsgvo_quick_check"
|
||||
Name string // "Vendor Check (Cloud-Anbieter)"
|
||||
Description string
|
||||
MCFilters []string // ["third_party_management_*", "data_processing_agreement_*"]
|
||||
Regulations []string // ["dsgvo", "nis2"] — welche Regulierungen relevant
|
||||
Questions []Question // vorgenerierte Fragen (oder leer → LLM generiert)
|
||||
}
|
||||
```
|
||||
|
||||
### Question (kompiliert aus MC)
|
||||
```go
|
||||
type Question struct {
|
||||
ID string // "Q1"
|
||||
MCID string // "MC-19012"
|
||||
MCName string // "third_party_management_vendor_assessment"
|
||||
Question string // "Hat der Anbieter ISO 27001?"
|
||||
QuestionType string // "yes_no", "file_upload", "text", "multi_select"
|
||||
EvidenceRequired bool // true → Nutzer muss Nachweis hochladen
|
||||
PassCriteria []string // ["Gültiges ISO 27001 Zertifikat vorhanden"]
|
||||
FailCriteria []string // ["Kein Zertifikat, nur Selbstauskunft"]
|
||||
Severity string // "HIGH", "MEDIUM", "LOW"
|
||||
Regulation string // "DSGVO Art. 28"
|
||||
DependsOn string // "Q3" → nur anzeigen wenn Q3 = "Ja"
|
||||
}
|
||||
```
|
||||
|
||||
### Audit (laufende Prüfung)
|
||||
```sql
|
||||
CREATE TABLE compliance.usecase_audits (
|
||||
id UUID PRIMARY KEY,
|
||||
tenant_id UUID NOT NULL,
|
||||
template_id VARCHAR(100) NOT NULL,
|
||||
name VARCHAR(200) NOT NULL, -- "Vendor Check: AWS"
|
||||
target_name VARCHAR(200), -- "Amazon Web Services"
|
||||
status VARCHAR(20) DEFAULT 'draft', -- draft, in_progress, completed
|
||||
total_questions INT DEFAULT 0,
|
||||
answered_questions INT DEFAULT 0,
|
||||
compliance_score FLOAT DEFAULT 0,
|
||||
created_at TIMESTAMPTZ DEFAULT NOW(),
|
||||
completed_at TIMESTAMPTZ
|
||||
);
|
||||
|
||||
CREATE TABLE compliance.usecase_answers (
|
||||
id UUID PRIMARY KEY,
|
||||
audit_id UUID REFERENCES usecase_audits(id),
|
||||
question_id VARCHAR(50) NOT NULL,
|
||||
mc_id VARCHAR(50),
|
||||
answer JSONB NOT NULL, -- {"value": true, "comment": "..."}
|
||||
evidence_ids JSONB DEFAULT '[]', -- UUIDs von hochgeladenen Dateien
|
||||
status VARCHAR(20) DEFAULT 'answered', -- answered, skipped, escalated
|
||||
answered_at TIMESTAMPTZ DEFAULT NOW()
|
||||
);
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Use-Case Templates (Erstausstattung)
|
||||
|
||||
### 1. Vendor Check (Cloud-Anbieter)
|
||||
```yaml
|
||||
id: vendor_check_cloud
|
||||
mc_filters: ["third_party_management_*", "data_processing_agreement_*", "data_transfer_*"]
|
||||
regulations: ["dsgvo", "nis2"]
|
||||
questions:
|
||||
- "Hat der Anbieter ISO 27001 oder vergleichbare Zertifizierung?"
|
||||
- "Ist ein AVV nach Art. 28 DSGVO geschlossen?"
|
||||
- "Werden Daten in Drittländer übermittelt?"
|
||||
- "Gibt es SCC oder Angemessenheitsbeschluss?"
|
||||
- "Hat der Anbieter ein Schwachstellenmanagement?"
|
||||
- "Gibt es einen Incident-Response-Prozess?"
|
||||
- "Sind Sub-Auftragsverarbeiter dokumentiert?"
|
||||
...
|
||||
```
|
||||
|
||||
### 2. SAST/DAST Security Audit
|
||||
```yaml
|
||||
id: sast_dast_audit
|
||||
mc_filters: ["secure_development_*", "vulnerability_*", "input_validation_*", "api_security_*"]
|
||||
regulations: ["cra", "owasp"]
|
||||
```
|
||||
|
||||
### 3. DSGVO Quick-Check
|
||||
```yaml
|
||||
id: dsgvo_quick_check
|
||||
mc_filters: ["personal_data_*", "consent_*", "data_subject_rights_*", "dpia_*", "data_retention_*"]
|
||||
regulations: ["dsgvo"]
|
||||
```
|
||||
|
||||
### 4. NIS2 Readiness
|
||||
```yaml
|
||||
id: nis2_readiness
|
||||
mc_filters: ["critical_infrastructure_*", "incident_*", "network_security_*", "risk_management_*"]
|
||||
regulations: ["nis2"]
|
||||
```
|
||||
|
||||
### 5. CRA Product Check
|
||||
```yaml
|
||||
id: cra_product_check
|
||||
mc_filters: ["vulnerability_*", "patch_management_*", "encryption_*", "asset_management_inventory*"]
|
||||
regulations: ["cra"]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Lücken-Erkennung
|
||||
|
||||
### Automatische Identifikation fehlender Rechtsquellen
|
||||
|
||||
```go
|
||||
func (d *GapDetector) DetectMissingRegulations(templateID string) []MissingSource {
|
||||
// 1. Lade alle MCs für diesen Use Case
|
||||
// 2. Für jeden MC: zähle Controls mit source_citation
|
||||
// 3. Wenn MC >20 Controls aber <3 mit Source → LÜCKE
|
||||
// 4. Wenn MC-Topic eine bekannte Regulation hat die nicht
|
||||
// in source_citation vorkommt → FEHLENDE QUELLE
|
||||
//
|
||||
// Beispiel:
|
||||
// MC "aml_transaction_monitoring" → 18 Controls
|
||||
// Source Citations: nur "Geldwäschegesetz (GwG)"
|
||||
// FEHLEND: "5. Geldwäscherichtlinie (EU) 2024/1624"
|
||||
// → Ingestion-Auftrag: EUR-Lex CELEX:32024L1624
|
||||
}
|
||||
```
|
||||
|
||||
### Output: Ingestion-Aufträge
|
||||
```json
|
||||
{
|
||||
"missing_sources": [
|
||||
{
|
||||
"regulation": "5. Geldwäscherichtlinie (EU) 2024/1624",
|
||||
"affects_mcs": ["aml_transaction_monitoring", "aml_customer_due_diligence"],
|
||||
"estimated_controls": 50,
|
||||
"source_url": "https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32024L1624",
|
||||
"priority": "high"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## API Endpoints
|
||||
|
||||
```
|
||||
POST /sdk/v1/use-case/templates — Neues Template erstellen
|
||||
GET /sdk/v1/use-case/templates — Verfügbare Templates
|
||||
GET /sdk/v1/use-case/templates/:id — Template Detail + Fragen
|
||||
POST /sdk/v1/use-case/compile — MC → Fragen kompilieren (ad-hoc)
|
||||
POST /sdk/v1/use-case/audits — Neuen Audit starten
|
||||
GET /sdk/v1/use-case/audits — Meine Audits
|
||||
GET /sdk/v1/use-case/audits/:id — Audit Detail + Antworten
|
||||
POST /sdk/v1/use-case/audits/:id/answer — Frage beantworten
|
||||
GET /sdk/v1/use-case/audits/:id/score — Compliance-Score berechnen
|
||||
GET /sdk/v1/use-case/audits/:id/report — Gap-Report generieren
|
||||
GET /sdk/v1/use-case/audits/:id/gaps — Fehlende Rechtsquellen
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Fragen-Generierung (2 Modi)
|
||||
|
||||
### Modus A: Deterministisch (kein LLM nötig)
|
||||
Für MCs die bereits doc_check_controls haben → direkt `check_question` nutzen.
|
||||
Für MCs mit `scanner_hint` → in Prüffrage umwandeln (Regex/Template).
|
||||
|
||||
### Modus B: LLM-basiert (für neue Use Cases)
|
||||
Wenn kein check_question existiert → Haiku/Qwen generiert aus MC-Title + Objective:
|
||||
```
|
||||
Input: MC "third_party_management_vendor_assessment",
|
||||
Title: "Cybersicherheitsrichtlinien kritischer Lieferanten prüfen"
|
||||
Output: {
|
||||
"question": "Hat der Lieferant formalisierte Cybersicherheitsrichtlinien?",
|
||||
"pass_criteria": ["Dokumentierte Security Policy vorhanden", "Letzte Aktualisierung < 12 Monate"],
|
||||
"fail_criteria": ["Keine dokumentierte Policy", "Policy älter als 2 Jahre"]
|
||||
}
|
||||
```
|
||||
|
||||
Kosten: ~$0.001/Frage mit Haiku → $0.05 für 50 Fragen pro Template.
|
||||
|
||||
---
|
||||
|
||||
## Implementierungs-Reihenfolge
|
||||
|
||||
| Phase | Was | Aufwand |
|
||||
|-------|-----|--------|
|
||||
| 1 | Datenmodell + Store + Migration | 1h |
|
||||
| 2 | Compiler (MC → Fragen) + Templates (5 Stück) | 2h |
|
||||
| 3 | API Endpoints (8 Stück) | 1.5h |
|
||||
| 4 | Frontend: Template-Auswahl + Fragebogen | 2h |
|
||||
| 5 | Scoring Engine + Report | 1h |
|
||||
| 6 | Lücken-Erkennung | 1h |
|
||||
| 7 | LLM-basierte Fragen-Generierung | 1h |
|
||||
| **Gesamt** | | **~10h (2 Sessions)** |
|
||||
|
||||
---
|
||||
|
||||
## Verifikation
|
||||
|
||||
Test-Szenario: Vendor Check für AWS
|
||||
|
||||
1. Template "vendor_check_cloud" auswählen
|
||||
2. System generiert 25 Fragen aus MCs
|
||||
3. Nutzer beantwortet alle Fragen + lädt AVV hoch
|
||||
4. Score: 85% (3 Gaps: SCC fehlt, Sub-Processor-Liste unvollständig, Löschkonzept fehlt)
|
||||
5. Report als PDF exportieren
|
||||
6. Lücken-Erkennung: "Für NIS2 Supply Chain fehlen Controls aus ENISA Guidelines"
|
||||
|
||||
---
|
||||
|
||||
## Verbindung zur bestehenden Infrastruktur
|
||||
|
||||
| Bestehend | Nutzt der Compiler für |
|
||||
|-----------|----------------------|
|
||||
| Master Controls (13.588) | MC → Fragen Mapping |
|
||||
| doc_check_controls (1.874) | Fertige Prüffragen (DSE, Cookie, etc.) |
|
||||
| Gap-Engine | IST-Zustand Assessment + Priority |
|
||||
| IACE Pattern Engine | CE-spezifische Prüfungen |
|
||||
| Applicability Engine | Scope-Filter (Branche, Größe, Signale) |
|
||||
| RAG Service | Kontext für LLM-Fragen-Generierung |
|
||||
| Tenant Document Upload | Evidence-Speicherung |
|
||||
| ZeroClaw Agent | LLM-basierte Verifikation |
|
||||
| DSMS/IPFS | Revisionssichere Archivierung |
|
||||
|
||||
---
|
||||
|
||||
## DB-Zugang
|
||||
|
||||
```bash
|
||||
# Lokal (Mac Mini)
|
||||
ssh macmini "/usr/local/bin/docker exec bp-core-postgres psql -U breakpilot -d breakpilot_db"
|
||||
|
||||
# Production
|
||||
PROD_DB="postgresql://postgres:GmyFD3wnU1NrKBdpU1nwLdE8MLts0A0eez8L5XXdvUCe05lWnWfVp3C6JJ8Yrmt2@46.225.100.82:54321/postgres?sslmode=require"
|
||||
```
|
||||
@@ -0,0 +1,112 @@
|
||||
# Ground Truth: SafetyKon
|
||||
|
||||
**URL:** https://safetykon.de
|
||||
**Typ:** B2B Beratung (Arbeitssicherheit, Brandschutz)
|
||||
**Datum:** 2026-05-12
|
||||
|
||||
---
|
||||
|
||||
## Business Profile (erwartet)
|
||||
|
||||
| Feld | Erwarteter Wert |
|
||||
|------|----------------|
|
||||
| business_type | b2b |
|
||||
| industry | consulting |
|
||||
| has_online_shop | false |
|
||||
| has_editorial_content | false |
|
||||
| is_regulated_profession | false |
|
||||
| needs_odr | false |
|
||||
|
||||
---
|
||||
|
||||
## Dokumente
|
||||
|
||||
| Dokumenttyp | Vorhanden | URL |
|
||||
|-------------|-----------|-----|
|
||||
| DSI | Ja | https://safetykon.de/datenschutz |
|
||||
| Impressum | Ja | https://safetykon.de/impressum |
|
||||
| Cookie-Richtlinie | Nein (in DSI integriert) | — |
|
||||
| AGB | Nein | — |
|
||||
| Widerruf | Nein | — |
|
||||
| Social Media DSE | Nein | — |
|
||||
| Nutzungsbedingungen | Nein | — |
|
||||
| DSB-Kontakt | Nein (in DSI erwaehnt) | — |
|
||||
|
||||
**Besonderheit:** DSI und Cookie-Infos sind auf derselben Seite (`/datenschutz`).
|
||||
Der Nutzer kann die DSI-URL in mehrere Zeilen eintragen. Das System sollte
|
||||
erkennen dass es sich um denselben Text handelt und dennoch korrekt pruefen.
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: DSI (Art. 13 DSGVO)
|
||||
|
||||
### L1 Checks
|
||||
|
||||
| Check | Erwartet | Begruendung |
|
||||
|-------|----------|-------------|
|
||||
| Verantwortlicher | PASS | SafetyKon GmbH mit Anschrift |
|
||||
| DSB | PASS oder INFO | Kleines Unternehmen, DSB ggf. nicht pflicht |
|
||||
| Zwecke | PASS | Kontaktformular, Website-Betrieb |
|
||||
| Rechtsgrundlage | PASS | Art. 6 Abs. 1 erwaehnt |
|
||||
| Empfaenger | PASS | Hosting-Provider etc. |
|
||||
| Drittlandtransfer | PASS/FAIL | Abhaengig ob Drittland-Dienste genutzt |
|
||||
| Speicherdauer | PASS | Zeitangaben vorhanden |
|
||||
| Betroffenenrechte | PASS | Art. 15-21 aufgezaehlt |
|
||||
| Beschwerderecht | PASS | Art. 77 oder Aufsichtsbehoerde erwaehnt |
|
||||
|
||||
### L2 Checks (Stichproben)
|
||||
|
||||
| Check | Erwartet | Begruendung |
|
||||
|-------|----------|-------------|
|
||||
| Anschrift (PLZ+Ort) | PASS | Adresse im Impressum und DSI |
|
||||
| E-Mail Verantwortlicher | PASS | E-Mail vorhanden |
|
||||
| Art. 6(1)(f) Berecht. Interesse | PASS | Fuer Website-Betrieb |
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: Impressum (§5 TMG)
|
||||
|
||||
### L1 Checks
|
||||
|
||||
| Check | Erwartet | Begruendung |
|
||||
|-------|----------|-------------|
|
||||
| Firmenname | PASS | SafetyKon GmbH |
|
||||
| Anschrift | PASS | Strasse + PLZ + Ort |
|
||||
| Vertretung | PASS | Geschaeftsfuehrer benannt |
|
||||
| Kontakt (Tel/Mail) | PASS | Telefon und E-Mail |
|
||||
| Registergericht | PASS | HRB-Nummer |
|
||||
| USt-IdNr | PASS | DE-Nummer |
|
||||
| V.i.S.d.P. | INFO/SKIP | Kein Blog/News → nicht relevant |
|
||||
| Streitbeilegung | INFO/SKIP | B2B → nicht relevant |
|
||||
| Berufsrecht | INFO/SKIP | Kein regulierter Beruf |
|
||||
|
||||
---
|
||||
|
||||
## Banner-Check (erwartet)
|
||||
|
||||
| Feld | Erwartet |
|
||||
|------|----------|
|
||||
| banner_detected | true/false (zu pruefen) |
|
||||
| provider | ggf. einfacher Cookie-Hinweis |
|
||||
| violations | 0-2 (kleine Website) |
|
||||
|
||||
---
|
||||
|
||||
## Cross-Check Banner vs Cookie
|
||||
|
||||
| Finding | Erwartet |
|
||||
|---------|----------|
|
||||
| Dienste fehlen in Cookie-RL | Unwahrscheinlich (wenig Dienste) |
|
||||
| Tracking vor Consent | Unwahrscheinlich |
|
||||
| Falsches "kein Tracking" | Unwahrscheinlich |
|
||||
|
||||
---
|
||||
|
||||
## Kontext-Filter (Business Profile)
|
||||
|
||||
| Check | Filter-Ergebnis | Begruendung |
|
||||
|-------|----------------|-------------|
|
||||
| ODR/Streitbeilegung | SKIP | B2B, kein Online-Shop |
|
||||
| Widerruf | SKIP | B2B |
|
||||
| V.i.S.d.P. | SKIP | Keine redaktionellen Inhalte |
|
||||
| Berufsrecht | SKIP | Kein regulierter Beruf |
|
||||
@@ -0,0 +1,123 @@
|
||||
# Ground Truth: IHK Konstanz
|
||||
|
||||
**URL:** https://www.ihk.de/konstanz
|
||||
**Typ:** Kammer / Oeffentlich-rechtliche Koerperschaft
|
||||
**Datum:** 2026-05-12 (aktualisiert von 2026-05-07)
|
||||
|
||||
---
|
||||
|
||||
## Business Profile (erwartet)
|
||||
|
||||
| Feld | Erwarteter Wert |
|
||||
|------|----------------|
|
||||
| business_type | b2g |
|
||||
| industry | public |
|
||||
| has_online_shop | false |
|
||||
| has_editorial_content | true (Ratgeber, News) |
|
||||
| is_regulated_profession | false |
|
||||
| needs_odr | false |
|
||||
|
||||
---
|
||||
|
||||
## Dokumente
|
||||
|
||||
| Dokumenttyp | Vorhanden | URL |
|
||||
|-------------|-----------|-----|
|
||||
| DSI | Ja | https://www.ihk.de/konstanz/servicemarken/ueber-uns/downloads/datenschutzinformationen-zum-internetangebot-4163288 |
|
||||
| Impressum | Ja | https://www.ihk.de/konstanz/impressum |
|
||||
| Cookie-Richtlinie | Nein (in DSI integriert) | — |
|
||||
| AGB | Nein | — |
|
||||
| Widerruf | Nein | — |
|
||||
| Social Media DSE | Nein (in DSI integriert) | — |
|
||||
| Nutzungsbedingungen | Nein | — |
|
||||
| DSB-Kontakt | Nein (in DSI erwaehnt) | — |
|
||||
|
||||
**Besonderheit:** Sehr lange DSI (6353 Woerter) mit integrierten Cookie-, Social-Media- und DSFA-Sektionen.
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: DSI (Art. 13 DSGVO)
|
||||
|
||||
### L1 Checks (9/9 PASS)
|
||||
|
||||
| Check | Erwartet | Beleg |
|
||||
|-------|----------|-------|
|
||||
| Verantwortlicher | PASS | IHK Hochrhein Bodensee, Reichenaustr. 21, D-78467 Konstanz |
|
||||
| DSB | PASS | SuedWest Datenschutz, datenschutz@konstanz.ihk.de |
|
||||
| Zwecke | PASS | Kontaktaufnahme, Newsletter, Veranstaltungen, Beratung |
|
||||
| Rechtsgrundlage | PASS | Art. 6 Abs. 1 lit. a), b), f) |
|
||||
| Empfaenger | PASS | Buchhaltung, Dritte, Auftragsverarbeiter |
|
||||
| Drittlandtransfer | PASS | Google USA erwaehnt |
|
||||
| Speicherdauer | PASS | 7 Tage, 10 Jahre, 90 Tage |
|
||||
| Betroffenenrechte | PASS | Art. 15, 16, 17, 18, 20, 77 |
|
||||
| Beschwerderecht | PASS | LfDI Baden-Wuerttemberg |
|
||||
|
||||
### L2 Checks (18/22)
|
||||
|
||||
| Check | Erwartet | TP/FP | Begruendung |
|
||||
|-------|----------|-------|-------------|
|
||||
| Anschrift (PLZ+Ort) | PASS | — | D-78467 Konstanz |
|
||||
| E-Mail Verantwortlicher | PASS | — | info@konstanz.ihk.de |
|
||||
| Telefon | PASS | — | +49(0)7531-2860-100 |
|
||||
| DSB Kontakt | PASS | — | datenschutz@konstanz.ihk.de |
|
||||
| Konkrete Zwecke | PASS | — | 5 Zwecke aufgezaehlt |
|
||||
| Art. 6(1)(a) | PASS | — | Einwilligung erwaehnt |
|
||||
| Art. 6(1)(b) | PASS | — | Vertrag erwaehnt |
|
||||
| Art. 6(1)(f) | PASS | — | Berechtigtes Interesse erwaehnt |
|
||||
| Interessenabwaegung | **FAIL** | **TP** | Interesse benannt, aber keine Abwaegung dokumentiert |
|
||||
| Empfaenger-Kategorien | PASS | — | Scandienstleister, Hoster, IT-Dienstleister |
|
||||
| Auftragsverarbeiter | PASS | — | Erwaehnt |
|
||||
| Transfermechanismus | **FAIL** | **TP** | Privacy Shield erwaehnt (ungueltig seit Schrems II), kein SCC/DPF |
|
||||
| Konkrete Zeitangaben | PASS | — | 7 Tage, 10 Jahre |
|
||||
| Loeschkonzept | **FAIL** | **Grenzfall** | Loeschgrundsatz vorhanden, kein formales Loeschkonzept |
|
||||
| Art. 15 Auskunft | PASS | — | Ausfuehrlich |
|
||||
| Art. 16 Berichtigung | PASS | — | Ausfuehrlich |
|
||||
| Art. 17 Loeschung | PASS | — | Ausfuehrlich |
|
||||
| Art. 18 Einschraenkung | PASS | — | Ausfuehrlich |
|
||||
| Art. 20 Portabilitaet | PASS | — | Ausfuehrlich |
|
||||
| Art. 21 Widerspruch | PASS | — | Widerspruchsrecht erwaehnt |
|
||||
| Art. 22 Profiling | **FAIL** | **TP** | Kein Hinweis auf Art. 22 oder Profiling |
|
||||
| Aufsichtsbehoerde benannt | PASS | — | LfDI BW |
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: Impressum
|
||||
|
||||
### L1 Checks
|
||||
|
||||
| Check | Erwartet | Begruendung |
|
||||
|-------|----------|-------------|
|
||||
| Firmenname | PASS | IHK Hochrhein-Bodensee |
|
||||
| Anschrift | PASS | Reichenaustr. 21, 78467 Konstanz |
|
||||
| Vertretung | PASS | Praesident / Hauptgeschaeftsfuehrer |
|
||||
| Kontakt | PASS | Telefon + E-Mail |
|
||||
| V.i.S.d.P. | PASS oder INFO | Hat redaktionelle Inhalte |
|
||||
|
||||
---
|
||||
|
||||
## Banner-Check (erwartet)
|
||||
|
||||
| Feld | Erwartet |
|
||||
|------|----------|
|
||||
| banner_detected | true (einfacher Cookie-Hinweis) |
|
||||
| provider | unbekannt (Eigenbau) |
|
||||
| violations | gering |
|
||||
|
||||
---
|
||||
|
||||
## Cross-Check Banner vs Cookie
|
||||
|
||||
| Finding | Erwartet |
|
||||
|---------|----------|
|
||||
| eTracker fehlt in Cookie-RL | Unwahrscheinlich (eTracker in DSI erwaehnt) |
|
||||
|
||||
---
|
||||
|
||||
## Kontext-Filter
|
||||
|
||||
| Check | Filter-Ergebnis | Begruendung |
|
||||
|-------|----------------|-------------|
|
||||
| ODR/Streitbeilegung | SKIP | Oeffentlich-rechtlich, kein Shop |
|
||||
| Widerruf | SKIP | Kein B2C |
|
||||
| Berufsrecht | SKIP | Kein regulierter Beruf |
|
||||
| V.i.S.d.P. | AKTIV | Hat redaktionelle Inhalte |
|
||||
@@ -0,0 +1,107 @@
|
||||
# Ground Truth: Stadt Koeln
|
||||
|
||||
**URL:** https://www.stadt-koeln.de
|
||||
**Typ:** Kommune / Oeffentliche Verwaltung
|
||||
**Datum:** 2026-05-12
|
||||
**Batch-Test:** 9/9 L1, 21/22 L2 (Vorbildlich)
|
||||
|
||||
---
|
||||
|
||||
## Business Profile (erwartet)
|
||||
|
||||
| Feld | Erwarteter Wert |
|
||||
|------|----------------|
|
||||
| business_type | b2g |
|
||||
| industry | public |
|
||||
| has_online_shop | false |
|
||||
| has_editorial_content | true (Nachrichten, Ratgeber) |
|
||||
| is_regulated_profession | false |
|
||||
| needs_odr | false |
|
||||
|
||||
---
|
||||
|
||||
## Dokumente
|
||||
|
||||
| Dokumenttyp | Vorhanden | URL |
|
||||
|-------------|-----------|-----|
|
||||
| DSI | Ja | https://www.stadt-koeln.de/datenschutz |
|
||||
| Impressum | Ja | https://www.stadt-koeln.de/impressum |
|
||||
| Cookie-Richtlinie | Nein (in DSI integriert) | — |
|
||||
| AGB | Nein | — |
|
||||
| Widerruf | Nein | — |
|
||||
| Social Media DSE | Ggf. in DSI | — |
|
||||
| Nutzungsbedingungen | Nein | — |
|
||||
| DSB-Kontakt | In DSI | — |
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: DSI (Art. 13 DSGVO)
|
||||
|
||||
### L1 Checks (9/9 PASS)
|
||||
|
||||
| Check | Erwartet |
|
||||
|-------|----------|
|
||||
| Verantwortlicher | PASS |
|
||||
| DSB | PASS |
|
||||
| Zwecke | PASS |
|
||||
| Rechtsgrundlage | PASS |
|
||||
| Empfaenger | PASS |
|
||||
| Drittlandtransfer | PASS |
|
||||
| Speicherdauer | PASS |
|
||||
| Betroffenenrechte | PASS |
|
||||
| Beschwerderecht | PASS |
|
||||
|
||||
### L2 Checks (21/22)
|
||||
|
||||
| Check | Erwartet | Begruendung |
|
||||
|-------|----------|-------------|
|
||||
| Anschrift | PASS | Vollstaendige Adresse |
|
||||
| E-Mail | PASS | Vorhanden |
|
||||
| Telefon | PASS | Vorhanden |
|
||||
| DSB Kontakt | PASS | Vorhanden |
|
||||
| Konkrete Zwecke | PASS | Detailliert aufgezaehlt |
|
||||
| Art. 6(1)(a) | PASS | Einwilligung |
|
||||
| Art. 6(1)(b) | PASS | Vertrag |
|
||||
| Art. 6(1)(f) | PASS | Berechtigtes Interesse |
|
||||
| Interessenabwaegung | PASS | Dokumentiert |
|
||||
| Empfaenger-Kategorien | PASS | Aufgezaehlt |
|
||||
| Auftragsverarbeiter | PASS | Erwaehnt |
|
||||
| Transfermechanismus | PASS | SCC/DPF erwaehnt |
|
||||
| Zeitangaben | PASS | Konkrete Fristen |
|
||||
| Loeschkonzept | **FAIL** | Kein formales Loeschkonzept referenziert |
|
||||
| Art. 15-21 | PASS | Alle aufgezaehlt |
|
||||
| Aufsichtsbehoerde | PASS | LDI NRW |
|
||||
|
||||
**Bewertung: Vorbildliche DSI. Einzig Loeschkonzept-Referenz fehlt.**
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: Impressum
|
||||
|
||||
| Check | Erwartet |
|
||||
|-------|----------|
|
||||
| Behoerdenname | PASS |
|
||||
| Anschrift | PASS |
|
||||
| Vertretung (OB) | PASS |
|
||||
| Kontakt | PASS |
|
||||
| V.i.S.d.P. | PASS (hat News) |
|
||||
|
||||
---
|
||||
|
||||
## Banner-Check
|
||||
|
||||
| Feld | Erwartet |
|
||||
|------|----------|
|
||||
| banner_detected | true |
|
||||
| provider | Unbekannt |
|
||||
| violations | gering (oeffentliche Stelle, wenig Tracking) |
|
||||
|
||||
---
|
||||
|
||||
## Kontext-Filter
|
||||
|
||||
| Check | Filter | Begruendung |
|
||||
|-------|--------|-------------|
|
||||
| ODR | SKIP | Keine kommerzielle Taetigkeit |
|
||||
| Widerruf | SKIP | Kein B2C |
|
||||
| Berufsrecht | SKIP | Nicht anwendbar |
|
||||
@@ -0,0 +1,129 @@
|
||||
# Ground Truth: BMW
|
||||
|
||||
**URL:** https://www.bmw.de
|
||||
**Typ:** Konzern / B2C Automobil
|
||||
**Datum:** 2026-05-12
|
||||
**Batch-Test:** 8/9 L1, 10/21 L2 (Mangelhaft, 48%)
|
||||
|
||||
---
|
||||
|
||||
## Business Profile (erwartet)
|
||||
|
||||
| Feld | Erwarteter Wert |
|
||||
|------|----------------|
|
||||
| business_type | b2c |
|
||||
| industry | automotive |
|
||||
| has_online_shop | true (Konfigurator, Zubehoer) |
|
||||
| has_editorial_content | true (Magazine, Blog) |
|
||||
| is_regulated_profession | false |
|
||||
| needs_odr | true (B2C Online-Angebote) |
|
||||
|
||||
---
|
||||
|
||||
## Dokumente
|
||||
|
||||
| Dokumenttyp | Vorhanden | URL |
|
||||
|-------------|-----------|-----|
|
||||
| DSI | Ja | https://www.bmw.de/de/footer/metanavigation/datenschutz.html |
|
||||
| Impressum | Ja | https://www.bmw.de/de/footer/metanavigation/impressum.html |
|
||||
| Cookie-Richtlinie | Ja (separate Seite) | https://www.bmw.de/de/footer/metanavigation/cookie-policy.html |
|
||||
| AGB | Ja | TODO: URL verifizieren |
|
||||
| Widerruf | Ggf. in AGB | — |
|
||||
| Social Media DSE | Nein | — |
|
||||
| Nutzungsbedingungen | Ja | TODO: URL verifizieren |
|
||||
| DSB-Kontakt | In DSI | — |
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: DSI (Art. 13 DSGVO)
|
||||
|
||||
### L1 Checks (8/9)
|
||||
|
||||
| Check | Erwartet | Begruendung |
|
||||
|-------|----------|-------------|
|
||||
| Verantwortlicher | PASS | BMW AG, Muenchen |
|
||||
| DSB | PASS | DSB erwaehnt |
|
||||
| Zwecke | PASS | Ausfuehrlich |
|
||||
| Rechtsgrundlage | PASS | Art. 6 Referenzen |
|
||||
| Empfaenger | PASS | Kategorien aufgezaehlt |
|
||||
| Drittlandtransfer | PASS | USA-Transfer erwaehnt |
|
||||
| Speicherdauer | PASS | Zeitangaben vorhanden |
|
||||
| Betroffenenrechte | **FAIL** | Rechte ohne Art.-Referenzen |
|
||||
| Beschwerderecht | **FAIL** | Art. 77 nicht explizit erwaehnt |
|
||||
|
||||
### L2 Checks (10/21 — verifizierte True Positives)
|
||||
|
||||
| Check | Erwartet | TP/FP |
|
||||
|-------|----------|-------|
|
||||
| Anschrift | PASS | — |
|
||||
| E-Mail | **FAIL** | **TP** — Keine direkte E-Mail-Adresse fuer DSB angegeben |
|
||||
| Telefon | PASS | — |
|
||||
| DSB Kontakt | PASS | — |
|
||||
| Art. 6(1)(a) | PASS | — |
|
||||
| Art. 6(1)(b) | PASS | — |
|
||||
| Art. 6(1)(f) | PASS | — |
|
||||
| Interessenabwaegung | **FAIL** | **TP** — Keine dokumentierte Abwaegung |
|
||||
| Transfermechanismus | **FAIL** | **TP** — Kein SCC/DPF benannt |
|
||||
| Art. 15-18,20,21 | **FAIL** | **TP** — Rechte ohne Artikel-Referenzen aufgezaehlt |
|
||||
| Art. 22 Profiling | **FAIL** | **TP** — Kein Profiling-Hinweis trotz Konfigurator/Personalisierung |
|
||||
| Aufsichtsbehoerde | **FAIL** | **TP** — Keine konkrete Behoerde benannt |
|
||||
| Loeschkonzept | **FAIL** | **TP** — Kein Loeschkonzept referenziert |
|
||||
|
||||
**Verifiziert: BMW hat tatsaechlich eine lueckenhafte DSI. Die Findings sind True Positives.**
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: Impressum
|
||||
|
||||
| Check | Erwartet | Begruendung |
|
||||
|-------|----------|-------------|
|
||||
| Firmenname | PASS | BMW AG |
|
||||
| Anschrift | PASS | Petuelring 130, 80809 Muenchen |
|
||||
| Vertretung | PASS | Vorstand benannt |
|
||||
| Registergericht | PASS | AG Muenchen, HRB 42243 |
|
||||
| USt-IdNr | PASS | DE 129 273 987 |
|
||||
| V.i.S.d.P. | PASS | Hat redaktionelle Inhalte |
|
||||
| Streitbeilegung | AKTIV | B2C mit Online-Angebot → ODR relevant |
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: Cookie-Richtlinie
|
||||
|
||||
| Check | Erwartet |
|
||||
|-------|----------|
|
||||
| Cookie-Arten | PASS (Essential, Analytics, Marketing) |
|
||||
| Cookie-Zwecke | PASS |
|
||||
| Speicherdauern | TODO: verifizieren |
|
||||
| Drittanbieter | PASS (Google, Meta etc.) |
|
||||
| Rechtsgrundlage | TODO: §25 TDDDG? |
|
||||
| Consent-Tool | PASS (OneTrust o.ae.) |
|
||||
|
||||
---
|
||||
|
||||
## Banner-Check
|
||||
|
||||
| Feld | Erwartet |
|
||||
|------|----------|
|
||||
| banner_detected | true |
|
||||
| provider | OneTrust oder aehnlich |
|
||||
| violations | Mehrere (grosser Konzern mit viel Tracking) |
|
||||
|
||||
---
|
||||
|
||||
## Cross-Check Banner vs Cookie
|
||||
|
||||
| Finding | Erwartet |
|
||||
|---------|----------|
|
||||
| Dienste fehlen in Cookie-RL | Moeglich (viele Third-Party-Tracker) |
|
||||
| Tracking vor Consent | Moeglich (Pre-Consent Analytics) |
|
||||
|
||||
---
|
||||
|
||||
## Kontext-Filter
|
||||
|
||||
| Check | Filter | Begruendung |
|
||||
|-------|--------|-------------|
|
||||
| ODR | AKTIV | B2C mit Online-Angebot |
|
||||
| Widerruf | AKTIV | B2C |
|
||||
| Berufsrecht | SKIP | Kein regulierter Beruf |
|
||||
| V.i.S.d.P. | AKTIV | Hat Magazine/Blog |
|
||||
@@ -0,0 +1,100 @@
|
||||
# Ground Truth: Sparkasse Bodensee
|
||||
|
||||
**URL:** https://www.sparkasse-bodensee.de
|
||||
**Typ:** Finanzdienstleister / Oeffentlich-rechtlich
|
||||
**Datum:** 2026-05-12
|
||||
**Batch-Test:** 7/9 L1, 10/20 L2 (Mangelhaft, 50%)
|
||||
|
||||
---
|
||||
|
||||
## Business Profile (erwartet)
|
||||
|
||||
| Feld | Erwarteter Wert |
|
||||
|------|----------------|
|
||||
| business_type | b2c |
|
||||
| industry | finance |
|
||||
| has_online_shop | false |
|
||||
| has_editorial_content | true (Ratgeber, Finanzwissen) |
|
||||
| is_regulated_profession | true |
|
||||
| regulated_profession_type | finanzdienstleister |
|
||||
| needs_odr | false (kein Online-Shop) |
|
||||
|
||||
---
|
||||
|
||||
## Dokumente
|
||||
|
||||
| Dokumenttyp | Vorhanden | URL |
|
||||
|-------------|-----------|-----|
|
||||
| DSI | Ja | https://www.sparkasse-bodensee.de/de/home/toolbar/datenschutz.html |
|
||||
| Impressum | Ja | https://www.sparkasse-bodensee.de/de/home/toolbar/impressum.html |
|
||||
| Cookie-Richtlinie | Ggf. in DSI | — |
|
||||
| AGB | Ja | TODO: URL verifizieren |
|
||||
| Widerruf | Nein | — |
|
||||
| Social Media DSE | Nein | — |
|
||||
| Nutzungsbedingungen | Ggf. in AGB | — |
|
||||
| DSB-Kontakt | In DSI | — |
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: DSI (Art. 13 DSGVO)
|
||||
|
||||
### L1 Checks (7/9)
|
||||
|
||||
| Check | Erwartet | Begruendung |
|
||||
|-------|----------|-------------|
|
||||
| Verantwortlicher | PASS | Sparkasse Bodensee |
|
||||
| DSB | **FAIL** | **TP** — Kein DSB erwaehnt (Pflicht bei Finanzinstitut!) |
|
||||
| Zwecke | PASS | Aufgezaehlt |
|
||||
| Rechtsgrundlage | PASS | Art. 6 Referenzen |
|
||||
| Empfaenger | PASS | Kategorien |
|
||||
| Drittlandtransfer | PASS | Erwaehnt |
|
||||
| Speicherdauer | PASS | Zeitangaben |
|
||||
| Betroffenenrechte | PASS | Aufgezaehlt |
|
||||
| Beschwerderecht | **FAIL** | **TP** — Art. 77 nicht explizit |
|
||||
|
||||
### L2 Checks (10/20)
|
||||
|
||||
| Check | Erwartet | TP/FP |
|
||||
|-------|----------|-------|
|
||||
| Anschrift | PASS | — |
|
||||
| E-Mail | PASS | — |
|
||||
| Interessenabwaegung | **FAIL** | **TP** |
|
||||
| Transfermechanismus | **FAIL** | **TP** |
|
||||
| Art. 22 Profiling | **FAIL** | **TP** — Bank mit Online-Banking sollte Profiling-Hinweis haben |
|
||||
| Loeschkonzept | **FAIL** | **TP** |
|
||||
| Aufsichtsbehoerde | **FAIL** | **TP** |
|
||||
|
||||
**Verifiziert: Sparkasse hat tatsaechlich eine lueckenhafte DSI. Fehlender DSB ist besonders kritisch bei einem Finanzinstitut.**
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: Impressum
|
||||
|
||||
| Check | Erwartet | Begruendung |
|
||||
|-------|----------|-------------|
|
||||
| Firmenname | PASS | Sparkasse Bodensee |
|
||||
| Anschrift | PASS | Vorhanden |
|
||||
| Vertretung | PASS | Vorstand |
|
||||
| Registergericht | PASS | — |
|
||||
| Aufsichtsbehoerde | PASS | BaFin als Finanzaufsicht |
|
||||
| Berufsrecht | AKTIV | KWG, Sparkassengesetz |
|
||||
|
||||
---
|
||||
|
||||
## Banner-Check
|
||||
|
||||
| Feld | Erwartet |
|
||||
|------|----------|
|
||||
| banner_detected | true |
|
||||
| provider | Ggf. eigene Loesung |
|
||||
| violations | Mittel |
|
||||
|
||||
---
|
||||
|
||||
## Kontext-Filter
|
||||
|
||||
| Check | Filter | Begruendung |
|
||||
|-------|--------|-------------|
|
||||
| ODR | SKIP | Kein Online-Shop |
|
||||
| Berufsrecht | AKTIV | Regulierter Finanzdienstleister |
|
||||
| V.i.S.d.P. | AKTIV | Hat Ratgeber-Inhalte |
|
||||
@@ -0,0 +1,121 @@
|
||||
# Ground Truth: Spiegel
|
||||
|
||||
**URL:** https://www.spiegel.de
|
||||
**Typ:** Medien / Nachrichtenportal
|
||||
**Datum:** 2026-05-12
|
||||
**Batch-Test:** 6/9 L1, 10/13 L2 (Mangelhaft, 77%)
|
||||
|
||||
---
|
||||
|
||||
## Business Profile (erwartet)
|
||||
|
||||
| Feld | Erwarteter Wert |
|
||||
|------|----------------|
|
||||
| business_type | b2c |
|
||||
| industry | media |
|
||||
| has_online_shop | true (Abo-Shop, Spiegel+) |
|
||||
| has_editorial_content | true (Kerngeschaeft) |
|
||||
| is_regulated_profession | false |
|
||||
| needs_odr | true (B2C Online-Abo) |
|
||||
|
||||
---
|
||||
|
||||
## Dokumente
|
||||
|
||||
| Dokumenttyp | Vorhanden | URL |
|
||||
|-------------|-----------|-----|
|
||||
| DSI | Ja | https://www.spiegel.de/datenschutz |
|
||||
| Impressum | Ja | https://www.spiegel.de/impressum |
|
||||
| Cookie-Richtlinie | Ja (ggf. in DSI) | — |
|
||||
| AGB | Ja | https://www.spiegel.de/agb |
|
||||
| Widerruf | Ja (in AGB) | — |
|
||||
| Social Media DSE | Nein | — |
|
||||
| Nutzungsbedingungen | In AGB | — |
|
||||
| DSB-Kontakt | In DSI | — |
|
||||
|
||||
**Besonderheit:** Consent-Wall blockiert Zugang ohne Cookie-Zustimmung. Text-Extraktion kann scheitern.
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: DSI (Art. 13 DSGVO)
|
||||
|
||||
### L1 Checks (6/9)
|
||||
|
||||
| Check | Erwartet | Begruendung |
|
||||
|-------|----------|-------------|
|
||||
| Verantwortlicher | PASS | SPIEGEL-Verlag |
|
||||
| DSB | **FAIL** | **TP** — Kein DSB in der DSI erwaehnt |
|
||||
| Zwecke | PASS | Aufgezaehlt |
|
||||
| Rechtsgrundlage | PASS | Art. 6 |
|
||||
| Empfaenger | PASS | Werbenetzwerke, Analytics |
|
||||
| Drittlandtransfer | PASS | USA-Transfer |
|
||||
| Speicherdauer | PASS | Angaben vorhanden |
|
||||
| Betroffenenrechte | **FAIL** | **TP** — Rechte nicht explizit aufgezaehlt |
|
||||
| Beschwerderecht | **FAIL** | **TP** — Art. 77 fehlt |
|
||||
|
||||
### L2 Checks (Stichproben)
|
||||
|
||||
| Check | Erwartet | TP/FP |
|
||||
|-------|----------|-------|
|
||||
| E-Mail | PASS | — |
|
||||
| Interessenabwaegung | **FAIL** | **TP** |
|
||||
| Art. 22 Profiling | **FAIL** | **TP** — Personalisierte Werbung ohne Profiling-Hinweis |
|
||||
| Aufsichtsbehoerde | **FAIL** | **TP** |
|
||||
|
||||
**Verifiziert: Spiegel DSI ist fuer ein grosses Medienunternehmen erstaunlich unvollstaendig.**
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: Impressum
|
||||
|
||||
| Check | Erwartet | Begruendung |
|
||||
|-------|----------|-------------|
|
||||
| Firmenname | PASS | SPIEGEL-Verlag Rudolf Augstein GmbH & Co. KG |
|
||||
| Anschrift | PASS | Ericusspitze 1, 20457 Hamburg |
|
||||
| Vertretung | PASS | Geschaeftsfuehrer |
|
||||
| V.i.S.d.P. | PASS | Pflicht bei Medienunternehmen, sollte vorhanden sein |
|
||||
| Registergericht | PASS | AG Hamburg |
|
||||
| USt-IdNr | PASS | Vorhanden |
|
||||
| Streitbeilegung | AKTIV | B2C mit Online-Abo |
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: AGB
|
||||
|
||||
| Check | Erwartet |
|
||||
|-------|----------|
|
||||
| Geltungsbereich | PASS |
|
||||
| Vertragsschluss | PASS |
|
||||
| Preise | PASS (Abo-Preise) |
|
||||
| Kuendigungsrecht | PASS |
|
||||
| Widerrufsrecht | PASS (14 Tage) |
|
||||
| Haftungsbeschraenkung | PASS |
|
||||
|
||||
---
|
||||
|
||||
## Banner-Check
|
||||
|
||||
| Feld | Erwartet |
|
||||
|------|----------|
|
||||
| banner_detected | true |
|
||||
| provider | Sourcepoint oder TCF-basiert |
|
||||
| violations | Mehrere (viel Third-Party-Tracking) |
|
||||
|
||||
---
|
||||
|
||||
## Cross-Check Banner vs Cookie
|
||||
|
||||
| Finding | Erwartet |
|
||||
|---------|----------|
|
||||
| Dienste fehlen in Cookie-RL | Wahrscheinlich (viele Werbenetzwerke) |
|
||||
| Tracking vor Consent | Moeglich |
|
||||
|
||||
---
|
||||
|
||||
## Kontext-Filter
|
||||
|
||||
| Check | Filter | Begruendung |
|
||||
|-------|--------|-------------|
|
||||
| ODR | AKTIV | B2C Online-Abo |
|
||||
| Widerruf | AKTIV | B2C |
|
||||
| V.i.S.d.P. | AKTIV | Medienunternehmen (Kernpflicht) |
|
||||
@@ -0,0 +1,97 @@
|
||||
# Ground Truth: TUEV Sued
|
||||
|
||||
**URL:** https://www.tuvsud.com/de-de
|
||||
**Typ:** Prueforganisation / B2B
|
||||
**Datum:** 2026-05-12
|
||||
**Batch-Test:** 8/9 L1, 15/21 L2 (Luecken, 71%)
|
||||
|
||||
---
|
||||
|
||||
## Business Profile (erwartet)
|
||||
|
||||
| Feld | Erwarteter Wert |
|
||||
|------|----------------|
|
||||
| business_type | b2b |
|
||||
| industry | certification |
|
||||
| has_online_shop | false |
|
||||
| has_editorial_content | true (Wissensbeitraege, Whitepaper) |
|
||||
| is_regulated_profession | false |
|
||||
| needs_odr | false |
|
||||
|
||||
---
|
||||
|
||||
## Dokumente
|
||||
|
||||
| Dokumenttyp | Vorhanden | URL |
|
||||
|-------------|-----------|-----|
|
||||
| DSI | Ja | https://www.tuvsud.com/de-de/datenschutzerklaerung |
|
||||
| Impressum | Ja | https://www.tuvsud.com/de-de/impressum |
|
||||
| Cookie-Richtlinie | Ja (separate oder in DSI) | TODO: URL verifizieren |
|
||||
| AGB | Ja | TODO: URL |
|
||||
| Widerruf | Nein | — |
|
||||
| Social Media DSE | Nein | — |
|
||||
| Nutzungsbedingungen | Ja | TODO: URL |
|
||||
| DSB-Kontakt | In DSI | — |
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: DSI (Art. 13 DSGVO)
|
||||
|
||||
### L1 Checks (8/9)
|
||||
|
||||
| Check | Erwartet | Begruendung |
|
||||
|-------|----------|-------------|
|
||||
| Verantwortlicher | PASS | TUEV SUED AG, Muenchen |
|
||||
| DSB | **FAIL** | **TP** — Kein DSB explizit benannt |
|
||||
| Zwecke | PASS | Aufgezaehlt |
|
||||
| Rechtsgrundlage | PASS | Art. 6 |
|
||||
| Empfaenger | PASS | Kategorien |
|
||||
| Drittlandtransfer | PASS | USA-Transfer |
|
||||
| Speicherdauer | PASS | Angaben vorhanden |
|
||||
| Betroffenenrechte | PASS | Aufgezaehlt |
|
||||
| Beschwerderecht | PASS | Aufsichtsbehoerde erwaehnt |
|
||||
|
||||
### L2 Checks (15/21)
|
||||
|
||||
| Check | Erwartet | TP/FP |
|
||||
|-------|----------|-------|
|
||||
| Anschrift | PASS | — |
|
||||
| E-Mail | PASS | — |
|
||||
| Interessenabwaegung | **FAIL** | **TP** |
|
||||
| Transfermechanismus | **FAIL** | **TP** |
|
||||
| Art. 22 Profiling | **FAIL** | **TP** |
|
||||
| Loeschkonzept | **FAIL** | **TP** |
|
||||
| Weitere | TODO: verifizieren | |
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: Impressum
|
||||
|
||||
| Check | Erwartet |
|
||||
|-------|----------|
|
||||
| Firmenname | PASS |
|
||||
| Anschrift | PASS |
|
||||
| Vertretung | PASS |
|
||||
| Registergericht | PASS |
|
||||
| USt-IdNr | PASS |
|
||||
| V.i.S.d.P. | INFO (hat Wissensbeitraege) |
|
||||
|
||||
---
|
||||
|
||||
## Banner-Check
|
||||
|
||||
| Feld | Erwartet |
|
||||
|------|----------|
|
||||
| banner_detected | true |
|
||||
| provider | OneTrust o.ae. |
|
||||
| violations | Mittel |
|
||||
|
||||
---
|
||||
|
||||
## Kontext-Filter
|
||||
|
||||
| Check | Filter | Begruendung |
|
||||
|-------|--------|-------------|
|
||||
| ODR | SKIP | B2B, kein Shop |
|
||||
| Widerruf | SKIP | B2B |
|
||||
| Berufsrecht | SKIP | Kein regulierter Beruf |
|
||||
@@ -0,0 +1,98 @@
|
||||
# Ground Truth: ETO Gruppe
|
||||
|
||||
**URL:** https://www.etogruppe.com
|
||||
**Typ:** Mittelstand / B2B Industriezulieferer
|
||||
**Datum:** 2026-05-12
|
||||
**Batch-Test:** 9/9 L1, 21/22 L2 (Vorbildlich, 95%)
|
||||
|
||||
---
|
||||
|
||||
## Business Profile (erwartet)
|
||||
|
||||
| Feld | Erwarteter Wert |
|
||||
|------|----------------|
|
||||
| business_type | b2b |
|
||||
| industry | manufacturing |
|
||||
| has_online_shop | false |
|
||||
| has_editorial_content | false |
|
||||
| is_regulated_profession | false |
|
||||
| needs_odr | false |
|
||||
|
||||
---
|
||||
|
||||
## Dokumente
|
||||
|
||||
| Dokumenttyp | Vorhanden | URL |
|
||||
|-------------|-----------|-----|
|
||||
| DSI | Ja | https://www.etogruppe.com/datenschutz.html |
|
||||
| Impressum | Ja | https://www.etogruppe.com/impressum.html |
|
||||
| Cookie-Richtlinie | In DSI | — |
|
||||
| AGB | Nein (B2B, individuelle Vertraege) | — |
|
||||
| Widerruf | Nein | — |
|
||||
| Social Media DSE | Nein | — |
|
||||
| Nutzungsbedingungen | Nein | — |
|
||||
| DSB-Kontakt | In DSI | — |
|
||||
|
||||
**Besonderheit:** Soft-Hyphens (\xad) im Text fuer Worttrennung. Wurde als Regex-Bug identifiziert und gefixt.
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: DSI (Art. 13 DSGVO)
|
||||
|
||||
### L1 Checks (9/9 PASS)
|
||||
|
||||
| Check | Erwartet | Begruendung |
|
||||
|-------|----------|-------------|
|
||||
| Verantwortlicher | PASS | ETO GRUPPE GmbH |
|
||||
| DSB | PASS | DSB mit Kontaktdaten |
|
||||
| Zwecke | PASS | Detailliert |
|
||||
| Rechtsgrundlage | PASS | Art. 6 mit allen Varianten |
|
||||
| Empfaenger | PASS | Kategorien aufgezaehlt |
|
||||
| Drittlandtransfer | PASS | Erwaehnt |
|
||||
| Speicherdauer | PASS | Konkrete Zeitangaben |
|
||||
| Betroffenenrechte | PASS | Art. 15-21 einzeln |
|
||||
| Beschwerderecht | PASS | Art. 77 + Aufsichtsbehoerde |
|
||||
|
||||
### L2 Checks (21/22)
|
||||
|
||||
| Check | Erwartet | TP/FP |
|
||||
|-------|----------|-------|
|
||||
| Alle Standard-Checks | PASS | — |
|
||||
| Loeschkonzept | **FAIL** | **Grenzfall** — Loeschfristen vorhanden aber kein Verweis auf formales Konzept |
|
||||
|
||||
**Bewertung: Vorbildliche DSI eines Mittelstaendlers. Nur minimale Luecke.**
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: Impressum
|
||||
|
||||
| Check | Erwartet |
|
||||
|-------|----------|
|
||||
| Firmenname | PASS |
|
||||
| Anschrift | PASS |
|
||||
| Vertretung | PASS |
|
||||
| Registergericht | PASS |
|
||||
| USt-IdNr | PASS |
|
||||
| V.i.S.d.P. | SKIP (kein Blog) |
|
||||
| Streitbeilegung | SKIP (B2B) |
|
||||
|
||||
---
|
||||
|
||||
## Banner-Check
|
||||
|
||||
| Feld | Erwartet |
|
||||
|------|----------|
|
||||
| banner_detected | true |
|
||||
| provider | Unbekannt |
|
||||
| violations | gering |
|
||||
|
||||
---
|
||||
|
||||
## Kontext-Filter
|
||||
|
||||
| Check | Filter | Begruendung |
|
||||
|-------|--------|-------------|
|
||||
| ODR | SKIP | B2B, kein Shop |
|
||||
| Widerruf | SKIP | B2B |
|
||||
| V.i.S.d.P. | SKIP | Keine redaktionellen Inhalte |
|
||||
| Berufsrecht | SKIP | Kein regulierter Beruf |
|
||||
@@ -0,0 +1,96 @@
|
||||
# Ground Truth: Caritas
|
||||
|
||||
**URL:** https://www.caritas.de
|
||||
**Typ:** Nonprofit / Wohlfahrtsverband
|
||||
**Datum:** 2026-05-12
|
||||
**Batch-Test:** 9/9 L1, 19/22 L2 (Gut, 86%)
|
||||
|
||||
---
|
||||
|
||||
## Business Profile (erwartet)
|
||||
|
||||
| Feld | Erwarteter Wert |
|
||||
|------|----------------|
|
||||
| business_type | nonprofit |
|
||||
| industry | social |
|
||||
| has_online_shop | false |
|
||||
| has_editorial_content | true (Ratgeber, Beratung, News) |
|
||||
| is_regulated_profession | false |
|
||||
| needs_odr | false |
|
||||
|
||||
---
|
||||
|
||||
## Dokumente
|
||||
|
||||
| Dokumenttyp | Vorhanden | URL |
|
||||
|-------------|-----------|-----|
|
||||
| DSI | Ja | https://www.caritas.de/datenschutz |
|
||||
| Impressum | Ja | https://www.caritas.de/impressum |
|
||||
| Cookie-Richtlinie | Ggf. in DSI | — |
|
||||
| AGB | Nein | — |
|
||||
| Widerruf | Nein | — |
|
||||
| Social Media DSE | Nein (ggf. in DSI) | — |
|
||||
| Nutzungsbedingungen | Nein | — |
|
||||
| DSB-Kontakt | In DSI | — |
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: DSI (Art. 13 DSGVO)
|
||||
|
||||
### L1 Checks (9/9 PASS)
|
||||
|
||||
| Check | Erwartet |
|
||||
|-------|----------|
|
||||
| Verantwortlicher | PASS |
|
||||
| DSB | PASS |
|
||||
| Zwecke | PASS |
|
||||
| Rechtsgrundlage | PASS |
|
||||
| Empfaenger | PASS |
|
||||
| Drittlandtransfer | PASS |
|
||||
| Speicherdauer | PASS |
|
||||
| Betroffenenrechte | PASS |
|
||||
| Beschwerderecht | PASS |
|
||||
|
||||
### L2 Checks (19/22)
|
||||
|
||||
| Check | Erwartet | TP/FP |
|
||||
|-------|----------|-------|
|
||||
| Standard-Checks | PASS | — |
|
||||
| Interessenabwaegung | **FAIL** | **TP** — Interesse benannt, keine Abwaegung |
|
||||
| Loeschkonzept | **FAIL** | **Grenzfall** |
|
||||
| Art. 22 Profiling | **FAIL** | **TP** — Nicht erwaehnt |
|
||||
|
||||
**Bewertung: Gute DSI. Nur 3 fehlende L2-Details.**
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: Impressum
|
||||
|
||||
| Check | Erwartet |
|
||||
|-------|----------|
|
||||
| Firmenname | PASS |
|
||||
| Anschrift | PASS |
|
||||
| Vertretung | PASS |
|
||||
| Kontakt | PASS |
|
||||
| V.i.S.d.P. | PASS (hat News/Ratgeber) |
|
||||
|
||||
---
|
||||
|
||||
## Banner-Check
|
||||
|
||||
| Feld | Erwartet |
|
||||
|------|----------|
|
||||
| banner_detected | true |
|
||||
| provider | Unbekannt |
|
||||
| violations | gering (wenig Tracking bei Nonprofit) |
|
||||
|
||||
---
|
||||
|
||||
## Kontext-Filter
|
||||
|
||||
| Check | Filter | Begruendung |
|
||||
|-------|--------|-------------|
|
||||
| ODR | SKIP | Kein Shop |
|
||||
| Widerruf | SKIP | Kein B2C-Handel |
|
||||
| Berufsrecht | SKIP | Nicht anwendbar |
|
||||
| V.i.S.d.P. | AKTIV | Hat redaktionelle Inhalte |
|
||||
@@ -0,0 +1,102 @@
|
||||
# Ground Truth: BfDI (Bundesbeauftragter fuer den Datenschutz)
|
||||
|
||||
**URL:** https://www.bfdi.bund.de
|
||||
**Typ:** Bundesbehoerde / Datenschutzaufsicht
|
||||
**Datum:** 2026-05-12
|
||||
**Batch-Test:** 9/9 L1, 16/22 L2 (OK, 73%)
|
||||
|
||||
---
|
||||
|
||||
## Business Profile (erwartet)
|
||||
|
||||
| Feld | Erwarteter Wert |
|
||||
|------|----------------|
|
||||
| business_type | b2g |
|
||||
| industry | public |
|
||||
| has_online_shop | false |
|
||||
| has_editorial_content | true (Pressemitteilungen, Taetigkeitsberichte) |
|
||||
| is_regulated_profession | false |
|
||||
| needs_odr | false |
|
||||
|
||||
---
|
||||
|
||||
## Dokumente
|
||||
|
||||
| Dokumenttyp | Vorhanden | URL |
|
||||
|-------------|-----------|-----|
|
||||
| DSI | Ja | https://www.bfdi.bund.de/DE/Meta/Datenschutz/datenschutz_node.html |
|
||||
| Impressum | Ja | https://www.bfdi.bund.de/DE/Meta/Impressum/impressum_node.html |
|
||||
| Cookie-Richtlinie | Nein (in DSI) | — |
|
||||
| AGB | Nein | — |
|
||||
| Widerruf | Nein | — |
|
||||
| Social Media DSE | Nein | — |
|
||||
| Nutzungsbedingungen | Nein | — |
|
||||
| DSB-Kontakt | In DSI | — |
|
||||
|
||||
**Besonderheit:** Kurze DSI (2014 Woerter) fuer die Bundesbehoerde fuer Datenschutz — ironisch, dass die eigene DSI Luecken hat.
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: DSI (Art. 13 DSGVO)
|
||||
|
||||
### L1 Checks (9/9 PASS)
|
||||
|
||||
| Check | Erwartet |
|
||||
|-------|----------|
|
||||
| Verantwortlicher | PASS |
|
||||
| DSB | PASS |
|
||||
| Zwecke | PASS |
|
||||
| Rechtsgrundlage | PASS |
|
||||
| Empfaenger | PASS |
|
||||
| Drittlandtransfer | PASS |
|
||||
| Speicherdauer | PASS |
|
||||
| Betroffenenrechte | PASS |
|
||||
| Beschwerderecht | PASS |
|
||||
|
||||
### L2 Checks (16/22)
|
||||
|
||||
| Check | Erwartet | TP/FP |
|
||||
|-------|----------|-------|
|
||||
| Anschrift | PASS | — |
|
||||
| E-Mail | PASS | — |
|
||||
| DSB Kontakt | PASS | — |
|
||||
| Interessenabwaegung | **FAIL** | **TP** — Nicht explizit dokumentiert |
|
||||
| Transfermechanismus | **FAIL** | **Grenzfall** — Bundesbehoerde nutzt ggf. keine Drittland-Dienste |
|
||||
| Loeschkonzept | **FAIL** | **TP** — Kein formales Konzept referenziert |
|
||||
| Art. 22 Profiling | **FAIL** | **TP** — Nicht erwaehnt |
|
||||
| Aufsichtsbehoerde | PASS | — (BfDI ist selbst die Aufsicht) |
|
||||
|
||||
**Bewertung: Ordentlich aber kurz. Fuer die Datenschutzbehoerde selbst erstaunlich lueckenhaft bei L2-Details.**
|
||||
|
||||
---
|
||||
|
||||
## Erwartete Ergebnisse: Impressum
|
||||
|
||||
| Check | Erwartet |
|
||||
|-------|----------|
|
||||
| Behoerdenname | PASS |
|
||||
| Anschrift | PASS |
|
||||
| Vertretung | PASS |
|
||||
| Kontakt | PASS |
|
||||
| V.i.S.d.P. | PASS (hat Pressemitteilungen) |
|
||||
|
||||
---
|
||||
|
||||
## Banner-Check
|
||||
|
||||
| Feld | Erwartet |
|
||||
|------|----------|
|
||||
| banner_detected | true/false (Bundesbehoerde, evtl. kein Banner) |
|
||||
| provider | Unbekannt |
|
||||
| violations | gering (keine Werbung, kaum Tracking) |
|
||||
|
||||
---
|
||||
|
||||
## Kontext-Filter
|
||||
|
||||
| Check | Filter | Begruendung |
|
||||
|-------|--------|-------------|
|
||||
| ODR | SKIP | Keine kommerzielle Taetigkeit |
|
||||
| Widerruf | SKIP | Kein B2C |
|
||||
| Berufsrecht | SKIP | Behoerde |
|
||||
| V.i.S.d.P. | AKTIV | Hat Pressemitteilungen |
|
||||
@@ -0,0 +1,43 @@
|
||||
# Ground Truth — Unified Compliance Check
|
||||
|
||||
## Zweck
|
||||
|
||||
Diese Dateien definieren die erwarteten Ergebnisse fuer den Unified Compliance Check
|
||||
pro Website. Sie dienen als Referenz fuer:
|
||||
- Regression-Tests (automatisch)
|
||||
- Manuelle Validierung neuer Check-Regeln
|
||||
- False-Positive-Rate-Messung
|
||||
|
||||
## Format pro Datei
|
||||
|
||||
Jede GT-Datei enthaelt:
|
||||
1. **Website-Info** — URL, Typ, Datum der Pruefung
|
||||
2. **Business Profile** — Erwartetes Ergebnis der automatischen Erkennung
|
||||
3. **Dokumente** — Welche der 8 Dokumenttypen vorhanden sind + URLs
|
||||
4. **Erwartete Ergebnisse** — L1/L2 Checks pro Dokument mit Begruendung
|
||||
5. **Banner-Check** — Erwartete Banner-Findings
|
||||
6. **Cross-Check** — Erwartete Banner-vs-Cookie Findings
|
||||
|
||||
## Websites (10)
|
||||
|
||||
| # | Website | Typ | Besonderheit |
|
||||
|---|---------|-----|-------------|
|
||||
| 1 | SafetyKon | B2B Beratung | Nur DSI + Impressum, alles auf einer Seite |
|
||||
| 2 | IHK Konstanz | Kammer | Lange DSI mit Cookie+Social+DSFA Sektionen |
|
||||
| 3 | Stadt Koeln | Kommune | Vorbildliche DSI |
|
||||
| 4 | BMW | Konzern | Lueckenhafte DSI |
|
||||
| 5 | Sparkasse KN | Finanz | Kein DSB, kein Art. 77 |
|
||||
| 6 | Spiegel | Medien | Consent-Wall, kurze DSI |
|
||||
| 7 | TUEV Sued | Prueforg. | Fehlender DSB |
|
||||
| 8 | ETO Gruppe | Mittelstand B2B | Vorbildlich |
|
||||
| 9 | Caritas | Nonprofit | Gut, lange DSI |
|
||||
| 10 | BfDI | Bundesbehoerde | Kurze DSI |
|
||||
|
||||
## Aktualisierung
|
||||
|
||||
Ground Truth muss aktualisiert werden wenn:
|
||||
- Websites ihre Rechtstexte aendern
|
||||
- Neue Checks hinzugefuegt werden
|
||||
- False Positives/Negatives korrigiert werden
|
||||
|
||||
Datum der letzten Pruefung steht in jeder Datei.
|
||||
Reference in New Issue
Block a user