feat(cookie): Findings bearbeitbar — gruppiert nach Typ + Matrix + Hinweise-Split
CookieFindings: Umschalter [Nach Fehlertyp] (je Typ: Maßnahme + betroffene Cookies + Ticket-Text) ↔ [Matrix] (Cookie×Typ, ✗ Handlung / ⚠ Hinweis). Trennung FINDINGS (zu beheben) vs HINWEISE (neutral, gegen DSE zu prüfen). Backend: kind-Klassifikation (third_country/eu_alternative=hinweis); Drittland- Remediation neutral formuliert (pro Verarbeiter prüfen, keine 'in DSE benennen'- Befehle, da DSE-Abdeckung wie BMWs 'in der Regel SCC' oft unzureichend). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -58,6 +58,22 @@ def test_third_country_and_eu_alternative_for_us_tracker():
|
||||
assert "eu_alternative" in t
|
||||
|
||||
|
||||
def test_kind_splits_findings_from_hinweise():
|
||||
# third_country/eu_alternative = Hinweis (advisory); Rest = Finding.
|
||||
out = analyze_cookies([{
|
||||
"name": "Google", "category": "necessary",
|
||||
"cookies": [{"name": "_ga", "purpose": "", "expiry": "2 Jahre"}],
|
||||
}])
|
||||
by = {f["type"]: f["kind"] for f in out["findings"]}
|
||||
assert by.get("third_country") == "hinweis"
|
||||
assert by.get("eu_alternative") == "hinweis"
|
||||
assert by.get("tracker_as_necessary") == "finding"
|
||||
# Drittland-Wording: neutral, pro Verarbeiter, keine "in DSE benennen"-Befehle.
|
||||
tc = next(f for f in out["findings"] if f["type"] == "third_country")
|
||||
assert "pro Verarbeiter" in tc["remediation"]
|
||||
assert "benennen" not in tc["remediation"]
|
||||
|
||||
|
||||
def test_third_country_deduped_per_vendor():
|
||||
out = analyze_cookies([{
|
||||
"name": "Google", "category": "marketing",
|
||||
|
||||
Reference in New Issue
Block a user