From 55a2cd4a3d87db196866c45acf232581f4f09db4 Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Sat, 25 Apr 2026 16:24:07 +0200 Subject: [PATCH] feat: Verbraucherrecht-Obligations + Widerrufsbutton-Pflicht ab 19.06.2026 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Neue Regulierung: EU-Richtlinie 2023/2673, §356a BGB 3 Obligations: - VBR-OBL-001: Digitaler Widerrufsbutton (Frist: 19.06.2026, Bussgeld: 50k EUR) - VBR-OBL-002: Widerrufsbelehrung bei Fernabsatz - VBR-OBL-003: Button-Loesung "zahlungspflichtig bestellen" Scope Engine: 3 neue Hard-Trigger-Rules (HT-N01..N03) fuer B2C, Online-Shop und Abo-Modelle. Total Obligations: 370 → 373 (12 Regulierungen) Co-Authored-By: Claude Opus 4.6 (1M context) --- .../lib/sdk/compliance-scope-triggers.ts | 3 + .../compliance-scope-triggers/triggers-n-v.ts | 45 ++++ .../policies/obligations/v2/_manifest.json | 8 +- .../obligations/v2/verbraucherrecht_v2.json | 207 ++++++++++++++++++ 4 files changed, 262 insertions(+), 1 deletion(-) create mode 100644 admin-compliance/lib/sdk/compliance-scope-triggers/triggers-n-v.ts create mode 100644 ai-compliance-sdk/policies/obligations/v2/verbraucherrecht_v2.json diff --git a/admin-compliance/lib/sdk/compliance-scope-triggers.ts b/admin-compliance/lib/sdk/compliance-scope-triggers.ts index 522d7ca..0c4baab 100644 --- a/admin-compliance/lib/sdk/compliance-scope-triggers.ts +++ b/admin-compliance/lib/sdk/compliance-scope-triggers.ts @@ -5,11 +5,14 @@ import type { HardTriggerRule } from './compliance-scope-types' import { HARD_TRIGGER_RULES_A_E } from './compliance-scope-triggers/triggers-a-e' import { HARD_TRIGGER_RULES_F_M } from './compliance-scope-triggers/triggers-f-m' +import { HARD_TRIGGER_RULES_N_V } from './compliance-scope-triggers/triggers-n-v' export { HARD_TRIGGER_RULES_A_E } from './compliance-scope-triggers/triggers-a-e' export { HARD_TRIGGER_RULES_F_M } from './compliance-scope-triggers/triggers-f-m' +export { HARD_TRIGGER_RULES_N_V } from './compliance-scope-triggers/triggers-n-v' export const HARD_TRIGGER_RULES: HardTriggerRule[] = [ ...HARD_TRIGGER_RULES_A_E, ...HARD_TRIGGER_RULES_F_M, + ...HARD_TRIGGER_RULES_N_V, ] diff --git a/admin-compliance/lib/sdk/compliance-scope-triggers/triggers-n-v.ts b/admin-compliance/lib/sdk/compliance-scope-triggers/triggers-n-v.ts new file mode 100644 index 0000000..de655a6 --- /dev/null +++ b/admin-compliance/lib/sdk/compliance-scope-triggers/triggers-n-v.ts @@ -0,0 +1,45 @@ +/** + * Hard Trigger Rules N–V + * Groups: Verbraucherrecht (N) + */ +import type { HardTriggerRule } from '../compliance-scope-types' + +export const HARD_TRIGGER_RULES_N_V: HardTriggerRule[] = [ + // ========== N: Verbraucherrecht / E-Commerce ========== + { + id: 'HT-N01', + category: 'consumer_protection', + questionId: 'org_business_model', + condition: 'IN', + conditionValue: ['B2C', 'B2B2C'], + minimumLevel: 'L2', + requiresDSFA: false, + mandatoryDocuments: ['WIDERRUF', 'CONSENT'], + legalReference: 'EU-RL 2023/2673, § 356a BGB', + description: 'B2C-Geschaeftsmodell: Widerrufsbutton-Pflicht ab 19.06.2026, Widerrufsbelehrung, Button-Loesung', + }, + { + id: 'HT-N02', + category: 'consumer_protection', + questionId: 'org_operates_online_shop', + condition: 'EQUALS', + conditionValue: 'yes', + minimumLevel: 'L2', + requiresDSFA: false, + mandatoryDocuments: ['WIDERRUF', 'AGB', 'CONSENT'], + legalReference: '§ 312j BGB, EU-RL 2023/2673', + description: 'Online-Shop: Widerrufsbutton, Button-Loesung (zahlungspflichtig bestellen), AGB', + }, + { + id: 'HT-N03', + category: 'consumer_protection', + questionId: 'org_offers_subscriptions', + condition: 'EQUALS', + conditionValue: 'yes', + minimumLevel: 'L2', + requiresDSFA: false, + mandatoryDocuments: ['WIDERRUF', 'CONSENT'], + legalReference: 'EU-RL 2023/2673, § 356a BGB', + description: 'Abo-Modell: Widerrufsbutton-Pflicht, Kuendigungsbutton (§ 312k BGB)', + }, +] diff --git a/ai-compliance-sdk/policies/obligations/v2/_manifest.json b/ai-compliance-sdk/policies/obligations/v2/_manifest.json index e832663..2cc5410 100644 --- a/ai-compliance-sdk/policies/obligations/v2/_manifest.json +++ b/ai-compliance-sdk/policies/obligations/v2/_manifest.json @@ -66,8 +66,14 @@ "file": "agg_v2.json", "version": "1.0", "count": 8 + }, + { + "id": "verbraucherrecht", + "file": "verbraucherrecht_v2.json", + "version": "1.0", + "count": 3 } ], "tom_mapping_file": "_tom_mapping.json", - "total_obligations": 370 + "total_obligations": 373 } \ No newline at end of file diff --git a/ai-compliance-sdk/policies/obligations/v2/verbraucherrecht_v2.json b/ai-compliance-sdk/policies/obligations/v2/verbraucherrecht_v2.json new file mode 100644 index 0000000..afdcba4 --- /dev/null +++ b/ai-compliance-sdk/policies/obligations/v2/verbraucherrecht_v2.json @@ -0,0 +1,207 @@ +{ + "regulation": "Verbraucherrecht", + "regulation_full_name": "EU-Verbraucherschutzrecht (Richtlinie 2023/2673, §356a BGB, FAGG)", + "version": "1.0", + "obligations": [ + { + "id": "VBR-OBL-001", + "title": "Digitaler Widerrufsbutton auf der Website", + "description": "Ab 19. Juni 2026 muessen Unternehmen mit B2C-Online-Geschaeft einen gut sichtbaren, digitalen Widerrufsbutton auf ihrer Website bereitstellen. Der Button muss von jeder Seite erreichbar sein, klar beschriftet (z.B. 'Vertrag widerrufen') und ein Zwei-Klick-Verfahren implementieren. Nach dem Widerruf muss eine elektronische Bestaetigung per E-Mail erfolgen.", + "applies_when": "B2C Online-Geschaeft mit Fernabsatzvertraegen", + "applies_when_condition": { + "any_of": [ + { + "field": "organization.business_model", + "operator": "IN", + "value": ["B2C", "B2B2C"] + }, + { + "field": "sector.operates_online_shop", + "operator": "EQUALS", + "value": true + }, + { + "field": "sector.offers_subscriptions", + "operator": "EQUALS", + "value": true + } + ] + }, + "legal_basis": [ + { + "norm": "EU-Richtlinie 2023/2673", + "article": "Art. 11a", + "title": "Digitale Widerrufsfunktion" + }, + { + "norm": "BGB", + "article": "§ 356a", + "title": "Widerrufsbutton-Pflicht (DE)" + }, + { + "norm": "FAGG", + "article": "§ 11a", + "title": "Digitale Widerrufsfunktion (AT)" + } + ], + "sources": [ + { + "type": "richtlinie", + "ref": "EU-Richtlinie 2023/2673" + }, + { + "type": "gesetz", + "ref": "§ 356a BGB (DE)" + }, + { + "type": "gesetz", + "ref": "§ 11a FAGG (AT)" + } + ], + "category": "Technical", + "responsible": "IT / Webentwicklung", + "deadline": { + "type": "fixed", + "date": "2026-06-19", + "description": "Widerrufsbutton muss ab 19. Juni 2026 auf der Website implementiert sein" + }, + "sanctions": { + "max_fine": "50.000 EUR (DE) — Bussgeld bei Verstoss", + "additional_risks": "Abmahnungen durch Wettbewerber, Verlaengerung der Widerrufsfrist auf bis zu 12 Monate" + }, + "evidence": [ + { + "name": "Screenshot des Widerrufsbuttons auf der Website", + "required": true + }, + { + "name": "Dokumentation des Zwei-Klick-Verfahrens", + "required": true + }, + { + "name": "Muster der automatischen Widerrufsbestaetigung (E-Mail)", + "required": true + }, + { + "name": "Nachweis der Erreichbarkeit von jeder Seite", + "required": false + } + ], + "priority": "critical", + "tom_control_ids": [], + "breakpilot_feature": "/sdk/consent-management", + "valid_from": "2026-06-19", + "valid_until": null, + "version": "1.0" + }, + { + "id": "VBR-OBL-002", + "title": "Widerrufsbelehrung bei Fernabsatzvertraegen", + "description": "Verbraucher muessen vor Vertragsschluss klar und verstaendlich ueber ihr 14-taegiges Widerrufsrecht belehrt werden. Die Belehrung muss in Textform erfolgen und auf das Muster-Widerrufsformular hinweisen.", + "applies_when": "B2C Fernabsatzvertraege", + "applies_when_condition": { + "any_of": [ + { + "field": "organization.business_model", + "operator": "IN", + "value": ["B2C", "B2B2C"] + } + ] + }, + "legal_basis": [ + { + "norm": "BGB", + "article": "§§ 312d, 355, 356", + "title": "Widerrufsrecht bei Fernabsatzvertraegen" + }, + { + "norm": "EU-Richtlinie 2011/83/EU", + "article": "Art. 6, 9-16", + "title": "Verbraucherrechte-Richtlinie" + } + ], + "sources": [ + { + "type": "gesetz", + "ref": "§§ 312d, 355, 356 BGB" + } + ], + "category": "Compliance", + "responsible": "Rechtsabteilung", + "deadline": { + "type": "recurring", + "interval": "laufend" + }, + "sanctions": { + "max_fine": "Abmahnrisiko + Verlaengerung Widerrufsfrist auf 12 Monate + 14 Tage" + }, + "evidence": [ + { + "name": "Widerrufsbelehrung auf der Website / in AGB", + "required": true + }, + { + "name": "Muster-Widerrufsformular bereitgestellt", + "required": true + } + ], + "priority": "hoch", + "tom_control_ids": [], + "breakpilot_feature": "/sdk/document-generator", + "valid_from": "2014-06-13", + "valid_until": null, + "version": "1.0" + }, + { + "id": "VBR-OBL-003", + "title": "Bestaetigungsbutton bei Online-Bestellungen (Button-Loesung)", + "description": "Bei entgeltlichen Online-Bestellungen muss der Bestell-Button eindeutig mit 'zahlungspflichtig bestellen' oder einer gleichwertigen Formulierung beschriftet sein. Andere Formulierungen wie 'Bestellen' oder 'Weiter' genuegen nicht.", + "applies_when": "Online-Shop mit entgeltlichen Bestellungen", + "applies_when_condition": { + "any_of": [ + { + "field": "sector.operates_online_shop", + "operator": "EQUALS", + "value": true + } + ] + }, + "legal_basis": [ + { + "norm": "BGB", + "article": "§ 312j Abs. 3", + "title": "Pflichten im elektronischen Geschaeftsverkehr" + } + ], + "sources": [ + { + "type": "gesetz", + "ref": "§ 312j Abs. 3 BGB" + } + ], + "category": "Technical", + "responsible": "IT / Webentwicklung", + "deadline": { + "type": "recurring", + "interval": "laufend" + }, + "sanctions": { + "max_fine": "Vertrag kommt nicht zustande — kein Zahlungsanspruch" + }, + "evidence": [ + { + "name": "Screenshot des Bestell-Buttons", + "required": true + } + ], + "priority": "hoch", + "tom_control_ids": [], + "breakpilot_feature": null, + "valid_from": "2012-08-01", + "valid_until": null, + "version": "1.0" + } + ], + "controls": [], + "incident_deadlines": [] +}