feat: Verbraucherrecht-Obligations + Widerrufsbutton-Pflicht ab 19.06.2026
Some checks failed
Build + Deploy / build-admin-compliance (push) Successful in 1m51s
Build + Deploy / build-backend-compliance (push) Successful in 2m48s
Build + Deploy / build-ai-sdk (push) Successful in 43s
Build + Deploy / build-developer-portal (push) Successful in 1m2s
Build + Deploy / build-tts (push) Successful in 1m12s
Build + Deploy / build-document-crawler (push) Successful in 30s
CI / loc-budget (push) Failing after 15s
CI / secret-scan (push) Has been skipped
CI / test-python-backend (push) Successful in 35s
CI / test-python-dsms-gateway (push) Successful in 19s
CI / validate-canonical-controls (push) Successful in 12s
Build + Deploy / build-dsms-gateway (push) Successful in 20s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Successful in 2m16s
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / test-go (push) Successful in 38s
CI / test-python-document-crawler (push) Successful in 21s
Build + Deploy / trigger-orca (push) Successful in 3m12s
Some checks failed
Build + Deploy / build-admin-compliance (push) Successful in 1m51s
Build + Deploy / build-backend-compliance (push) Successful in 2m48s
Build + Deploy / build-ai-sdk (push) Successful in 43s
Build + Deploy / build-developer-portal (push) Successful in 1m2s
Build + Deploy / build-tts (push) Successful in 1m12s
Build + Deploy / build-document-crawler (push) Successful in 30s
CI / loc-budget (push) Failing after 15s
CI / secret-scan (push) Has been skipped
CI / test-python-backend (push) Successful in 35s
CI / test-python-dsms-gateway (push) Successful in 19s
CI / validate-canonical-controls (push) Successful in 12s
Build + Deploy / build-dsms-gateway (push) Successful in 20s
CI / branch-name (push) Has been skipped
CI / guardrail-integrity (push) Has been skipped
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / nodejs-build (push) Successful in 2m16s
CI / dep-audit (push) Has been skipped
CI / sbom-scan (push) Has been skipped
CI / test-go (push) Successful in 38s
CI / test-python-document-crawler (push) Successful in 21s
Build + Deploy / trigger-orca (push) Successful in 3m12s
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) <noreply@anthropic.com>
This commit is contained in:
@@ -5,11 +5,14 @@
|
|||||||
import type { HardTriggerRule } from './compliance-scope-types'
|
import type { HardTriggerRule } from './compliance-scope-types'
|
||||||
import { HARD_TRIGGER_RULES_A_E } from './compliance-scope-triggers/triggers-a-e'
|
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_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_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_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[] = [
|
export const HARD_TRIGGER_RULES: HardTriggerRule[] = [
|
||||||
...HARD_TRIGGER_RULES_A_E,
|
...HARD_TRIGGER_RULES_A_E,
|
||||||
...HARD_TRIGGER_RULES_F_M,
|
...HARD_TRIGGER_RULES_F_M,
|
||||||
|
...HARD_TRIGGER_RULES_N_V,
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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)',
|
||||||
|
},
|
||||||
|
]
|
||||||
@@ -66,8 +66,14 @@
|
|||||||
"file": "agg_v2.json",
|
"file": "agg_v2.json",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"count": 8
|
"count": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "verbraucherrecht",
|
||||||
|
"file": "verbraucherrecht_v2.json",
|
||||||
|
"version": "1.0",
|
||||||
|
"count": 3
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"tom_mapping_file": "_tom_mapping.json",
|
"tom_mapping_file": "_tom_mapping.json",
|
||||||
"total_obligations": 370
|
"total_obligations": 373
|
||||||
}
|
}
|
||||||
@@ -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": []
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user