All checks were successful
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-ai-compliance (push) Successful in 37s
CI / test-python-backend-compliance (push) Successful in 32s
CI / test-python-document-crawler (push) Successful in 21s
CI / test-python-dsms-gateway (push) Successful in 18s
Implementiert MIT-lizenzierte DSGVO-Templates (DSE, Impressum, AGB) in der eigenen PostgreSQL-Datenbank statt KLAUSUR_SERVICE-Abhängigkeit. - Migration 018: compliance_legal_templates Tabelle + 3 Seed-Templates - Routes: GET/POST/PUT/DELETE /legal-templates + /status + /sources - Registriert im bestehenden compliance catch-all Proxy (kein neuer Proxy) - searchTemplates.ts: eigenes Backend als Primary, RAG bleibt Fallback - ServiceMode-Banner: KLAUSUR_SERVICE-Referenz entfernt - Tests: 25 Python + 3 Vitest — alle grün Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
258 lines
14 KiB
SQL
258 lines
14 KiB
SQL
-- Migration 018: Legal Templates
|
|
-- Self-authored templates (MIT License) for the Document Generator.
|
|
-- Stores DSE, Impressum, and AGB as Markdown with {{PLACEHOLDER}} syntax.
|
|
|
|
CREATE TABLE IF NOT EXISTS compliance_legal_templates (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
tenant_id UUID NOT NULL DEFAULT '9282a473-5c95-4b3a-bf78-0ecc0ec71d3e',
|
|
document_type TEXT NOT NULL, -- privacy_policy | terms_of_service | impressum
|
|
title TEXT NOT NULL,
|
|
description TEXT,
|
|
content TEXT NOT NULL, -- Markdown with {{PLACEHOLDER}} syntax
|
|
placeholders JSONB NOT NULL DEFAULT '[]'::jsonb,
|
|
language TEXT NOT NULL DEFAULT 'de',
|
|
jurisdiction TEXT NOT NULL DEFAULT 'DE',
|
|
license_id TEXT NOT NULL DEFAULT 'mit',
|
|
license_name TEXT NOT NULL DEFAULT 'MIT License',
|
|
source_name TEXT NOT NULL DEFAULT 'BreakPilot Compliance',
|
|
attribution_required BOOLEAN NOT NULL DEFAULT FALSE,
|
|
is_complete_document BOOLEAN NOT NULL DEFAULT TRUE,
|
|
version TEXT NOT NULL DEFAULT '1.0.0',
|
|
status TEXT NOT NULL DEFAULT 'published',
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_legal_templates_tenant ON compliance_legal_templates(tenant_id);
|
|
CREATE INDEX IF NOT EXISTS idx_legal_templates_type ON compliance_legal_templates(document_type);
|
|
CREATE INDEX IF NOT EXISTS idx_legal_templates_status ON compliance_legal_templates(status);
|
|
CREATE INDEX IF NOT EXISTS idx_legal_templates_language ON compliance_legal_templates(language);
|
|
|
|
-- =============================================================================
|
|
-- Seed: Template 1 — Datenschutzerklärung (DSE)
|
|
-- Basiert auf DSGVO Art. 13/14 (Informationspflichten)
|
|
-- =============================================================================
|
|
INSERT INTO compliance_legal_templates (
|
|
document_type, title, description, language, jurisdiction,
|
|
placeholders, content
|
|
) VALUES (
|
|
'privacy_policy',
|
|
'Datenschutzerklärung (DSGVO-konform)',
|
|
'Vollständige Datenschutzerklärung gemäß DSGVO Art. 13/14 mit Pflichtangaben für Websites und Online-Dienste.',
|
|
'de', 'DE',
|
|
'["{{COMPANY_NAME}}", "{{COMPANY_ADDRESS}}", "{{COMPANY_CITY}}", "{{CONTACT_EMAIL}}", "{{DPO_NAME}}", "{{DPO_EMAIL}}", "{{SUPERVISORY_AUTHORITY}}", "{{VERSION_DATE}}"]'::jsonb,
|
|
$template$# Datenschutzerklärung
|
|
|
|
*Stand: {{VERSION_DATE}}*
|
|
|
|
## 1. Verantwortlicher
|
|
|
|
Verantwortlicher im Sinne der Datenschutz-Grundverordnung (DSGVO) ist:
|
|
|
|
**{{COMPANY_NAME}}**
|
|
{{COMPANY_ADDRESS}}
|
|
{{COMPANY_CITY}}
|
|
|
|
E-Mail: {{CONTACT_EMAIL}}
|
|
|
|
## 2. Datenschutzbeauftragter
|
|
|
|
Unser Datenschutzbeauftragter ist erreichbar unter:
|
|
|
|
Name: {{DPO_NAME}}
|
|
E-Mail: {{DPO_EMAIL}}
|
|
|
|
## 3. Erhebung und Verarbeitung personenbezogener Daten
|
|
|
|
### 3.1 Server-Logfiles
|
|
|
|
Beim Aufruf unserer Website werden durch den Webserver automatisch folgende Daten protokolliert:
|
|
|
|
- IP-Adresse (anonymisiert)
|
|
- Datum und Uhrzeit des Abrufs
|
|
- Aufgerufene URL
|
|
- Referrer-URL
|
|
- Verwendeter Browser und Betriebssystem
|
|
|
|
**Rechtsgrundlage:** Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an der sicheren und stabilen Bereitstellung des Dienstes)
|
|
|
|
**Speicherdauer:** 7 Tage, danach automatische Löschung.
|
|
|
|
### 3.2 Kontaktaufnahme
|
|
|
|
Wenn Sie uns per E-Mail oder Kontaktformular kontaktieren, verarbeiten wir Ihre E-Mail-Adresse sowie alle weiteren von Ihnen mitgeteilten Daten, um Ihre Anfrage zu beantworten.
|
|
|
|
**Rechtsgrundlage:** Art. 6 Abs. 1 lit. b DSGVO (Vertragserfüllung oder vorvertragliche Maßnahmen) bzw. Art. 6 Abs. 1 lit. f DSGVO (berechtigtes Interesse an der Bearbeitung von Anfragen)
|
|
|
|
**Speicherdauer:** Bis zur abschließenden Bearbeitung Ihrer Anfrage; bei gesetzlichen Aufbewahrungspflichten entsprechend länger.
|
|
|
|
## 4. Empfänger von Daten / Auftragsverarbeiter
|
|
|
|
Wir setzen Dienstleister ein, die in unserem Auftrag personenbezogene Daten verarbeiten (Auftragsverarbeiter gemäß Art. 28 DSGVO). Mit diesen Dienstleistern haben wir Auftragsverarbeitungsverträge (AVV) abgeschlossen. Eine Weitergabe an Dritte außerhalb dieser Verträge erfolgt nicht, es sei denn, wir sind dazu gesetzlich verpflichtet.
|
|
|
|
## 5. Drittlandsübermittlungen
|
|
|
|
Eine Übermittlung Ihrer Daten in Länder außerhalb der EU/des EWR findet nur statt, soweit dies zur Vertragserfüllung erforderlich ist oder Sie ausdrücklich eingewilligt haben. In diesen Fällen stellen wir durch geeignete Garantien (z. B. EU-Standardvertragsklauseln) ein angemessenes Datenschutzniveau sicher.
|
|
|
|
## 6. Ihre Rechte als betroffene Person
|
|
|
|
Sie haben gegenüber uns folgende Rechte hinsichtlich Ihrer personenbezogenen Daten:
|
|
|
|
- **Auskunftsrecht** (Art. 15 DSGVO): Sie können Auskunft über die von uns verarbeiteten Daten verlangen.
|
|
- **Berichtigungsrecht** (Art. 16 DSGVO): Sie können die Berichtigung unrichtiger Daten verlangen.
|
|
- **Löschungsrecht** (Art. 17 DSGVO): Sie können unter bestimmten Voraussetzungen die Löschung Ihrer Daten verlangen.
|
|
- **Einschränkungsrecht** (Art. 18 DSGVO): Sie können die Einschränkung der Verarbeitung verlangen.
|
|
- **Datenportabilität** (Art. 20 DSGVO): Sie können Ihre Daten in einem maschinenlesbaren Format erhalten.
|
|
- **Widerspruchsrecht** (Art. 21 DSGVO): Sie können der Verarbeitung auf Basis berechtigter Interessen widersprechen.
|
|
- **Widerruf der Einwilligung** (Art. 7 Abs. 3 DSGVO): Soweit die Verarbeitung auf einer Einwilligung beruht, können Sie diese jederzeit widerrufen.
|
|
|
|
Zur Ausübung Ihrer Rechte wenden Sie sich bitte an: {{CONTACT_EMAIL}}
|
|
|
|
## 7. Beschwerderecht bei der Aufsichtsbehörde
|
|
|
|
Sie haben das Recht, sich bei der für uns zuständigen Datenschutz-Aufsichtsbehörde zu beschweren:
|
|
|
|
{{SUPERVISORY_AUTHORITY}}
|
|
|
|
## 8. Aktualität und Änderungen dieser Datenschutzerklärung
|
|
|
|
Diese Datenschutzerklärung ist aktuell gültig und hat den Stand {{VERSION_DATE}}. Durch die Weiterentwicklung unserer Website oder aufgrund geänderter gesetzlicher Vorgaben kann es notwendig werden, diese Datenschutzerklärung zu ändern. Die jeweils aktuelle Datenschutzerklärung kann jederzeit auf unserer Website abgerufen werden.
|
|
$template$
|
|
) ON CONFLICT DO NOTHING;
|
|
|
|
-- =============================================================================
|
|
-- Seed: Template 2 — Impressum
|
|
-- Basiert auf DDG § 5 (früher TMG § 5)
|
|
-- =============================================================================
|
|
INSERT INTO compliance_legal_templates (
|
|
document_type, title, description, language, jurisdiction,
|
|
placeholders, content
|
|
) VALUES (
|
|
'impressum',
|
|
'Impressum (DDG § 5)',
|
|
'Vollständiges Impressum gemäß § 5 DDG (Digital-Dienste-Gesetz, früher TMG) für gewerbliche Online-Angebote in Deutschland.',
|
|
'de', 'DE',
|
|
'["{{COMPANY_NAME}}", "{{COMPANY_LEGAL_FORM}}", "{{COMPANY_ADDRESS}}", "{{COMPANY_CITY}}", "{{CEO_NAME}}", "{{COMPANY_PHONE}}", "{{CONTACT_EMAIL}}", "{{WEBSITE_URL}}", "{{REGISTER_SECTION}}", "{{VAT_SECTION}}"]'::jsonb,
|
|
$template$# Impressum
|
|
|
|
## Angaben gemäß § 5 DDG
|
|
|
|
**{{COMPANY_NAME}}** ({{COMPANY_LEGAL_FORM}})
|
|
|
|
{{COMPANY_ADDRESS}}
|
|
{{COMPANY_CITY}}
|
|
|
|
Vertreten durch: {{CEO_NAME}}
|
|
|
|
**Kontakt:**
|
|
Telefon: {{COMPANY_PHONE}}
|
|
E-Mail: {{CONTACT_EMAIL}}
|
|
Website: {{WEBSITE_URL}}
|
|
|
|
{{REGISTER_SECTION}}
|
|
|
|
{{VAT_SECTION}}
|
|
|
|
## Haftungsausschluss
|
|
|
|
### Haftung für Inhalte
|
|
|
|
Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt. Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen. Als Diensteanbieter sind wir gemäß § 7 Abs. 1 DDG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich. Nach §§ 8 bis 10 DDG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit hinweisen.
|
|
|
|
### Haftung für Links
|
|
|
|
Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben. Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen. Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich. Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.
|
|
|
|
## Urheberrecht
|
|
|
|
Die durch die Seitenbetreiber erstellten Inhalte und Werke auf diesen Seiten unterliegen dem deutschen Urheberrecht. Beiträge Dritter sind als solche gekennzeichnet. Die Vervielfältigung, Bearbeitung, Verbreitung und jede Art der Verwertung außerhalb der Grenzen des Urheberrechtes bedürfen der schriftlichen Zustimmung des jeweiligen Autors bzw. Erstellers. Downloads und Kopien dieser Seite sind nur für den privaten, nicht kommerziellen Gebrauch gestattet.
|
|
$template$
|
|
) ON CONFLICT DO NOTHING;
|
|
|
|
-- =============================================================================
|
|
-- Seed: Template 3 — Allgemeine Geschäftsbedingungen (AGB)
|
|
-- =============================================================================
|
|
INSERT INTO compliance_legal_templates (
|
|
document_type, title, description, language, jurisdiction,
|
|
placeholders, content
|
|
) VALUES (
|
|
'terms_of_service',
|
|
'Allgemeine Geschäftsbedingungen (AGB)',
|
|
'AGB für Online-Dienste und SaaS-Angebote mit 8 Paragraphen: Geltungsbereich, Leistung, Vertragsschluss, Preise, Widerruf, Haftung, Datenschutz, Schlussbestimmungen.',
|
|
'de', 'DE',
|
|
'["{{COMPANY_NAME}}", "{{SERVICE_DESCRIPTION}}", "{{PRICING_SECTION}}", "{{PAYMENT_TERMS}}", "{{COMPANY_CITY}}", "{{PRIVACY_POLICY_URL}}", "{{VERSION_DATE}}"]'::jsonb,
|
|
$template$# Allgemeine Geschäftsbedingungen
|
|
|
|
**{{COMPANY_NAME}}**
|
|
*Stand: {{VERSION_DATE}}*
|
|
|
|
---
|
|
|
|
## § 1 Geltungsbereich
|
|
|
|
(1) Diese Allgemeinen Geschäftsbedingungen (AGB) gelten für alle Verträge zwischen **{{COMPANY_NAME}}** (nachfolgend „Anbieter") und dem Kunden über die Nutzung der angebotenen Leistungen.
|
|
|
|
(2) Abweichende Bedingungen des Kunden werden nicht anerkannt, es sei denn, der Anbieter stimmt ihrer Geltung ausdrücklich schriftlich zu.
|
|
|
|
(3) Diese AGB gelten gegenüber Unternehmern (§ 14 BGB) und Verbrauchern (§ 13 BGB) gleichermaßen, sofern nicht ausdrücklich unterschieden wird.
|
|
|
|
## § 2 Leistungsangebot
|
|
|
|
(1) Der Anbieter erbringt folgende Leistungen: {{SERVICE_DESCRIPTION}}
|
|
|
|
(2) Der Anbieter ist berechtigt, die Leistungen durch Dritte (Subunternehmer) erbringen zu lassen.
|
|
|
|
(3) Art und Umfang der Leistungen ergeben sich aus der jeweiligen Produktbeschreibung oder dem individuellen Angebot.
|
|
|
|
## § 3 Vertragsschluss
|
|
|
|
(1) Die Darstellung der Leistungen auf der Website des Anbieters stellt kein bindendes Angebot dar, sondern eine Aufforderung zur Angebotsabgabe (invitatio ad offerendum).
|
|
|
|
(2) Der Kunde gibt ein verbindliches Angebot ab, indem er den Bestellvorgang abschließt oder ein schriftliches Angebot annimmt.
|
|
|
|
(3) Der Anbieter kann das Angebot innerhalb von 5 Werktagen annehmen. Die Annahme erfolgt durch eine ausdrückliche Auftragsbestätigung oder Bereitstellung der Leistung.
|
|
|
|
## § 4 Preise und Zahlung
|
|
|
|
{{PRICING_SECTION}}
|
|
|
|
**Zahlungsbedingungen:** {{PAYMENT_TERMS}}
|
|
|
|
Alle Preise verstehen sich zuzüglich der gesetzlichen Mehrwertsteuer, sofern nicht ausdrücklich als Bruttopreise ausgewiesen.
|
|
|
|
Bei Zahlungsverzug ist der Anbieter berechtigt, Verzugszinsen in Höhe von 9 Prozentpunkten über dem jeweiligen Basiszinssatz (§ 288 Abs. 2 BGB) zu berechnen. Die Geltendmachung weiterer Schäden bleibt vorbehalten.
|
|
|
|
## § 5 Widerrufsrecht für Verbraucher
|
|
|
|
Verbraucher haben das Recht, diesen Vertrag binnen 14 Tagen ohne Angabe von Gründen zu widerrufen. Die Widerrufsfrist beträgt 14 Tage ab dem Tag des Vertragsabschlusses.
|
|
|
|
Um das Widerrufsrecht auszuüben, müssen Sie uns ({{COMPANY_NAME}}) mittels einer eindeutigen Erklärung über Ihren Entschluss, diesen Vertrag zu widerrufen, informieren.
|
|
|
|
**Ausnahme:** Das Widerrufsrecht erlischt bei digitalen Inhalten, wenn der Anbieter mit der Ausführung des Vertrags begonnen hat und der Verbraucher ausdrücklich zugestimmt hat, dass der Anbieter mit der Ausführung des Vertrags vor Ablauf der Widerrufsfrist beginnt und seine Kenntnis davon bestätigt hat, dass er durch seine Zustimmung mit Beginn der Ausführung des Vertrags sein Widerrufsrecht verliert.
|
|
|
|
## § 6 Gewährleistung und Haftung
|
|
|
|
(1) Der Anbieter haftet unbeschränkt für Schäden aus der Verletzung des Lebens, des Körpers oder der Gesundheit sowie für Schäden, die durch Vorsatz oder grobe Fahrlässigkeit des Anbieters oder seiner Erfüllungsgehilfen entstehen.
|
|
|
|
(2) Im Übrigen haftet der Anbieter nur für die Verletzung wesentlicher Vertragspflichten (Kardinalpflichten). Bei leicht fahrlässiger Verletzung von Kardinalpflichten ist die Haftung auf den vertragstypisch vorhersehbaren Schaden begrenzt.
|
|
|
|
(3) Die vorstehenden Haftungsbeschränkungen gelten nicht, soweit der Anbieter eine Garantie übernommen hat oder Ansprüche nach dem Produkthaftungsgesetz bestehen.
|
|
|
|
(4) Für den Verlust von Daten haftet der Anbieter nur, soweit der Schaden auch bei ordnungsgemäßer und regelmäßiger Datensicherung durch den Kunden eingetreten wäre.
|
|
|
|
## § 7 Datenschutz
|
|
|
|
Die Verarbeitung personenbezogener Daten erfolgt gemäß unserer Datenschutzerklärung, die unter {{PRIVACY_POLICY_URL}} abrufbar ist. Die Datenschutzerklärung ist Bestandteil dieser AGB.
|
|
|
|
## § 8 Schlussbestimmungen
|
|
|
|
(1) Es gilt das Recht der Bundesrepublik Deutschland unter Ausschluss des UN-Kaufrechts (CISG). Gegenüber Verbrauchern gilt diese Rechtswahl nur, soweit der durch zwingende Bestimmungen des Rechts des Staates, in dem der Verbraucher seinen gewöhnlichen Aufenthalt hat, gewährte Schutz nicht entzogen wird.
|
|
|
|
(2) Gerichtsstand für alle Streitigkeiten aus diesem Vertrag ist, sofern der Kunde Kaufmann, eine juristische Person des öffentlichen Rechts oder ein öffentlich-rechtliches Sondervermögen ist, {{COMPANY_CITY}}.
|
|
|
|
(3) Sollten einzelne Bestimmungen dieser AGB unwirksam sein oder werden, so bleibt die Wirksamkeit der übrigen Bestimmungen davon unberührt. Die unwirksame Bestimmung wird durch eine wirksame ersetzt, die dem wirtschaftlichen Zweck der unwirksamen Bestimmung am nächsten kommt.
|
|
|
|
(4) Änderungen und Ergänzungen dieser AGB bedürfen der Schriftform. Dies gilt auch für die Aufhebung des Schriftformerfordernisses.
|
|
$template$
|
|
) ON CONFLICT DO NOTHING;
|