diff --git a/public/WEBklar-Abo-Vertragsunterlagen.pdf b/public/WEBklar-Abo-Vertragsunterlagen.pdf new file mode 100644 index 0000000..711b571 Binary files /dev/null and b/public/WEBklar-Abo-Vertragsunterlagen.pdf differ diff --git a/public/abo-bedingungen.html b/public/abo-bedingungen.html index 1122dd6..41be0d7 100644 --- a/public/abo-bedingungen.html +++ b/public/abo-bedingungen.html @@ -3,7 +3,7 @@ - Vertragsbedingungen – WEBklar Wartungs-Abo + Vertragsbedingungen – WEBklar-Abos + + +
+ + +
WEBKLAR
+

Wartungs-Abo

+

Vertragsbedingungen mit Leistungsbeschreibung, Widerrufsbelehrung und Auftragsverarbeitungsvertrag · Version 3 · Stand 25.09.2026

+

Als PDF herunterladen und ausdrucken

+ +
+ Das Wichtigste auf einen Blick + + + + + + + + + +
AnbieterWEBklar GbR, Am Schwimmbad 10, 67722 Winnweiler, vertreten durch die Gesellschafter Kenso Grimm und Justin Klein (jeder einzeln vertretungsberechtigt) · Telefon 0176 23726355 · E-Mail support@webklar.com
Preis50,00 € pro Monat, monatlich im Voraus. Gemäß § 19 UStG wird keine Umsatzsteuer berechnet.
EnthaltenBetrieb und Pflege Ihrer Website bzw. Web-Anwendung · 1 Domain · 1 E-Mail-Postfach · 1 Stunde Arbeitszeit pro Monat
Stundenkontingent1 Stunde je bezahltem Monat; nicht genutzte Zeit bleibt 12 Monate verfügbar. Mehraufwand nur nach Ihrer Freigabe, 100 € pro Stunde.
ZahlungKreditkarte oder SEPA-Lastschrift über Stripe
LaufzeitMindestlaufzeit 12 Monate ab Leistungsbeginn, kündbar zum Ende der Mindestlaufzeit bis einen Monat vorher; danach unbefristet und jederzeit zum Ende des Abrechnungsmonats kündbar. Bei Geschäftsaufgabe Sonderkündigung mit einem Monat Frist.
Kündigenproject.webklar.com/kuendigen.html (ohne Anmeldung) oder per E-Mail
WiderrufVerbraucher können innerhalb von 14 Tagen widerrufen: project.webklar.com/widerrufen.html (siehe Widerrufsbelehrung)
+
+ +
+ Inhalt +
    +
  1. Anbieter und Geltungsbereich
  2. +
  3. Vertragsschluss und Vertragstext
  4. +
  5. Leistungen
  6. +
  7. Stundenkontingent
  8. +
  9. Verfügbarkeit und Wartung
  10. +
  11. Pflichten des Kunden
  12. +
  13. Preis und Zahlung
  14. +
  15. Laufzeit und Kündigung
  16. +
  17. Vertragsende
  18. +
  19. Mängel
  20. +
  21. Haftung
  22. +
  23. Datenschutz
  24. +
  25. Änderungen dieser Bedingungen
  26. +
  27. Schlussbestimmungen
  28. +
+

Außerdem: Widerrufsbelehrung und Muster-Widerrufsformular · Anlage 1: Auftragsverarbeitungsvertrag · Anlage 2: Technische und organisatorische Maßnahmen · Anlage 3: Unterauftragsverarbeiter

+
+ +

§ 1 Anbieter und Geltungsbereich

+
    +
  1. Diese Bedingungen regeln das Wartungs-Abo zwischen der WEBklar GbR, Am Schwimmbad 10, 67722 Winnweiler („WEBklar“ oder „wir“), und dem Kunden.
  2. +
  3. Sie gelten für Verbraucher (§ 13 BGB) und Unternehmer (§ 14 BGB). Gilt eine Regel nur für eine der beiden Gruppen, ist das ausdrücklich angegeben.
  4. +
  5. Für das Wartungs-Abo gehen diese Bedingungen den allgemeinen Geschäftsbedingungen von WEBklar (webklar.com/agb) vor. Die dortige Regelung zum jährlichen Hosting (Leistungsmodul C) gilt für das Wartungs-Abo nicht. Die Erstellung einer Website ist nicht Teil des Abos und wird gesondert vereinbart.
  6. +
  7. Abweichende Geschäftsbedingungen des Kunden werden nicht Vertragsbestandteil.
  8. +
+ +

§ 2 Vertragsschluss und Vertragstext

+
    +
  1. Das Wartungs-Abo wird im Kundenportal unter project.webklar.com bestellt. Den Zugang zum Kundenportal richten wir für den Kunden ein.
  2. +
  3. Die Bestellung läuft so ab: +
      +
    1. Der Kunde wählt auf der Startseite des Kundenportals „Abo abschließen“.
    2. +
    3. Eine Bestellübersicht zeigt Leistung, Preis, Laufzeit und Zahlungsweise.
    4. +
    5. Der Kunde bestätigt, dass er diese Bedingungen einschließlich des Auftragsverarbeitungsvertrags (Anlage 1) akzeptiert. Außerdem wählt er, ob wir sofort oder erst nach Ablauf der 14-tägigen Widerrufsfrist mit der Leistung beginnen. Mit der Wahl des sofortigen Beginns verlangt er ausdrücklich, dass wir vor Ablauf der Widerrufsfrist beginnen.
    6. +
    7. Mit dem Klick auf „Zahlungspflichtig bestellen“ gibt er ein verbindliches Angebot ab.
    8. +
    9. Anschließend hinterlegt er beim Zahlungsdienstleister Stripe eine Zahlungsart (Kreditkarte oder SEPA-Lastschrift) und schließt den Vorgang dort ab.
    10. +
  4. +
  5. Der Vertrag kommt zustande, sobald der Kunde den Vorgang bei Stripe abgeschlossen hat. Bei sofortigem Beginn setzt das die erfolgreiche Zahlung der ersten Monatsgebühr voraus; scheitert sie, kommt kein Vertrag zustande. Wir bestätigen den Vertragsschluss unverzüglich per E-Mail und senden diese Bedingungen mit Widerrufsbelehrung als PDF mit.
  6. +
  7. Bis zum Abschluss des Vorgangs bei Stripe kann der Kunde jederzeit abbrechen und seine Angaben im Kundenportal korrigieren.
  8. +
  9. Vertragssprache ist Deutsch. Wir speichern den Vertragstext sowie Zeitpunkt und Version der Zustimmung des Kunden. Die aktuelle Fassung dieser Bedingungen ist unter project.webklar.com/abo-bedingungen.html abrufbar, die bei Vertragsschluss gültige Fassung erhält der Kunde mit der Bestätigungs-E-Mail.
  10. +
+ +

§ 3 Leistungen

+

(1) Betrieb und Pflege der Website

+ +

(2) Domain

+ +

(3) E-Mail-Postfach

+ +

(4) Datensicherung

+ +

(5) Stundenkontingent

+

Je bezahltem Monat 1 Stunde Arbeitszeit nach § 4.

+

(6) Servicezeiten und Reaktion

+ +

(7) Nicht enthalten

+ +

(8) Technische Änderungen

+

Wir dürfen die technische Umsetzung ändern, etwa das Rechenzentrum, die Server-Software oder den Anbieter des E-Mail-Postfachs wechseln. Voraussetzung ist, dass der vereinbarte Leistungsumfang nicht schlechter wird, dem Kunden keine Kosten entstehen und wir ihn mindestens vier Wochen vorher in Textform informieren. Beeinträchtigt eine Änderung den Zugang zur Leistung oder ihre Nutzbarkeit mehr als nur unerheblich, kann der Kunde den Vertrag innerhalb von 30 Tagen nach der Information bzw. der Änderung unentgeltlich beenden (§ 327r BGB).

+ +

§ 4 Stundenkontingent

+
    +
  1. Zum Leistungsumfang gehört ein Kontingent von 60 Minuten Arbeitszeit je bezahltem Abrechnungsmonat. Das erste Kontingent steht mit der ersten Zahlung bereit. Das Kontingent ist Teil der Leistungsbeschreibung und kein Geldguthaben.
  2. +
  3. Nicht genutzte Zeit bleibt verfügbar: Jedes Monatskontingent kann zwölf Monate lang ab seiner Bereitstellung genutzt werden und entfällt danach. Genutzt wird immer das älteste noch verfügbare Kontingent zuerst. Mit dem Ende des Vertrags entfällt nicht genutzte Zeit. Sie wird weder ausgezahlt noch erstattet und ist nicht übertragbar.
  4. +
  5. Das Kontingent gilt für Änderungen, Erweiterungen, Beratung und Unterstützung rund um die im Abo betreute Website, Domain und E-Mail. Aufträge erteilt der Kunde über den Chat im Kundenportal oder per E-Mail. Aufträge von mehr als 4 Stunden in einem Monat setzen wir nach Terminabsprache um.
  6. +
  7. Angerechnet wird die tatsächlich aufgewendete Zeit je Auftrag, aufgerundet auf volle 15 Minuten. Dazu zählen die Umsetzung und die Abstimmung zum Auftrag, soweit sie länger als 10 Minuten dauert. Nicht angerechnet werden die Leistungen nach § 3 Abs. 1 bis 4 (Betrieb, Updates, Überwachung, Sicherung) und die Behebung von Fehlern, die wir zu vertreten haben.
  8. +
  9. Verfügbare Zeit, Bereitstellungen, Verbrauch und Ablaufdaten sieht der Kunde jederzeit im Kundenportal.
  10. +
  11. Reicht die verfügbare Zeit für einen Auftrag voraussichtlich nicht aus, nennen wir dem Kunden vorher den geschätzten Mehraufwand. Wir führen ihn nur nach seiner Freigabe aus, etwa im Chat oder per E-Mail, und berechnen 100 € pro Stunde (gemäß § 19 UStG ohne Umsatzsteuer), abgerechnet in Schritten von 15 Minuten. Aufträge mit einem Umfang von mehr als 10 Stunden bieten wir gesondert an.
  12. +
+ +

§ 5 Verfügbarkeit und Wartung

+
    +
  1. Wir streben eine Erreichbarkeit der Website von 99 % im Jahresmittel an, gemessen am Übergang des Rechenzentrums ins Internet. Eine ununterbrochene Erreichbarkeit ist technisch nicht möglich und wird nicht geschuldet.
  2. +
  3. Nicht eingerechnet werden: +
      +
    • angekündigte Wartungsarbeiten, möglichst zwischen 22 und 6 Uhr und mindestens 24 Stunden vorher angekündigt; dringende Sicherheitsupdates auch kurzfristig,
    • +
    • Störungen außerhalb unseres Einflussbereichs, etwa im Internet, bei der Domain-Vergabestelle oder bei vorgelagerten Netzbetreibern,
    • +
    • Angriffe wie DDoS, sofern wir angemessene Schutzmaßnahmen getroffen haben,
    • +
    • höhere Gewalt sowie Störungen, die der Kunde verursacht hat.
    • +
  4. +
  5. Die gesetzlichen Rechte des Kunden bei Ausfällen, die wir zu vertreten haben, bleiben unberührt. Die Haftung richtet sich nach § 11.
  6. +
+ +

§ 6 Pflichten des Kunden

+
    +
  1. Der Kunde hält seine Zugangsdaten zum Kundenportal und zum Postfach geheim und informiert uns unverzüglich, wenn er einen Missbrauch vermutet.
  2. +
  3. Der Kunde stellt nur Inhalte bereit, die er verwenden darf und die nicht gegen Gesetze verstoßen. Offensichtlich rechtswidrige Inhalte dürfen wir nach einem Hinweis vorübergehend sperren. Wir informieren den Kunden darüber unverzüglich.
  4. +
  5. Für Impressum, Datenschutzerklärung und Inhalte seiner Website ist der Kunde verantwortlich. Die Angaben zum Hosting, die er für seine Datenschutzerklärung braucht, stehen in den Anlagen 1 bis 3.
  6. +
  7. Der Kunde bewahrt Kopien der Inhalte auf, die er uns übergibt oder selbst einpflegt, und teilt uns Änderungen seiner Kontaktdaten mit.
  8. +
+ +

§ 7 Preis und Zahlung

+
    +
  1. Die Monatsgebühr beträgt 50,00 €. Als Kleinunternehmer im Sinne von § 19 UStG berechnen wir keine Umsatzsteuer.
  2. +
  3. Die Gebühr ist monatlich im Voraus fällig, erstmals mit Beginn der Leistung (bei sofortigem Beginn mit Vertragsschluss, sonst nach Ablauf der Widerrufsfrist), danach jeweils am selben Kalendertag der Folgemonate. Sie wird per Kreditkarte oder SEPA-Lastschrift über die Stripe Payments Europe, Limited (Irland) eingezogen. Rechnungen erhält der Kunde per E-Mail und im Kundenportal unter „Abo verwalten“.
  4. +
  5. Schlägt eine Zahlung fehl, versucht Stripe den Einzug automatisch erneut und informiert den Kunden per E-Mail.
  6. +
  7. Ist der Kunde mit einem Betrag von mindestens 100 € (zwei Monatsgebühren) in Verzug, dürfen wir die Leistungen vorübergehend sperren, etwa die Website offline nehmen. Vorher kündigen wir die Sperre in Textform an und setzen eine Frist von mindestens zwei Wochen. Das gilt nicht, solange der Kunde die Forderung mit nachvollziehbaren Gründen bestreitet. Während einer Sperre löschen wir keine Daten. Nach Zahlung heben wir die Sperre unverzüglich auf. Ist der Kunde mit zwei aufeinanderfolgenden Monatsgebühren in Verzug, dürfen wir außerordentlich kündigen.
  8. +
  9. Preisänderungen kündigen wir mindestens 6 Wochen vor ihrem Wirksamwerden in Textform an. Sie gelten nur, wenn der Kunde zustimmt. Ohne Zustimmung läuft der Vertrag zum bisherigen Preis weiter, und beide Seiten können nach § 8 ordentlich kündigen.
  10. +
+ +

§ 8 Laufzeit und Kündigung

+
    +
  1. Der Vertrag hat eine Mindestlaufzeit von zwölf Monaten ab Leistungsbeginn, bei sofortigem Beginn also ab Vertragsschluss, sonst ab Ablauf der Widerrufsfrist.
  2. +
  3. Beide Seiten können zum Ende der Mindestlaufzeit mit einer Frist von einem Monat kündigen. Wird nicht fristgerecht gekündigt, läuft der Vertrag auf unbestimmte Zeit weiter.
  4. +
  5. Nach Ablauf der Mindestlaufzeit kann der Kunde jederzeit zum Ende des laufenden Abrechnungsmonats kündigen. Wir können dann mit einer Frist von einem Monat zum Ende eines Abrechnungsmonats kündigen.
  6. +
  7. Gibt der Kunde den Geschäftsbetrieb, für den die Website bestimmt ist, dauerhaft auf, kann er auch während der Mindestlaufzeit mit einer Frist von einem Monat zum Ende eines Abrechnungsmonats kündigen. Auf Verlangen weist er die Geschäftsaufgabe nach, etwa durch die Gewerbeabmeldung.
  8. +
  9. Eine vorzeitige Beendigung im gegenseitigen Einvernehmen ist jederzeit möglich.
  10. +
  11. Das Recht zur außerordentlichen Kündigung aus wichtigem Grund bleibt unberührt.
  12. +
  13. Der Kunde kann über die Schaltfläche „Verträge hier kündigen“ unter project.webklar.com/kuendigen.html kündigen (ohne Anmeldung) oder in Textform, etwa per E-Mail. Den Zeitpunkt, zu dem der Vertrag endet, bestätigen wir unverzüglich per E-Mail. Bis dahin bleiben alle Leistungen verfügbar. Die Gebühr für den laufenden Monat wird nicht anteilig erstattet.
  14. +
+ +

§ 9 Vertragsende

+
    +
  1. Während der Laufzeit und bis 30 Tage nach Vertragsende stellen wir dem Kunden auf Wunsch eine Kopie seiner Website bzw. Anwendungsdaten (Dateien und Datenbank-Export) und seines Postfachs bereit. Wem Quellcode und Nutzungsrechte an der Website zustehen, richtet sich nach dem Vertrag über ihre Erstellung.
  2. +
  3. Wir geben den AuthCode der Domain heraus und helfen beim Umzug zu einem anderen Anbieter. Ist die Domain 30 Tage nach Vertragsende nicht umgezogen, dürfen wir ihre Registrierung beenden. Das kündigen wir vorher in Textform an und setzen eine Frist von 14 Tagen.
  4. +
  5. Nach Ablauf der Frist aus Absatz 1 löschen wir die Daten des Kunden einschließlich des Postfachs, soweit keine gesetzliche Aufbewahrungspflicht besteht. Sicherungskopien werden spätestens mit Ablauf ihrer Aufbewahrungszeit (§ 3 Abs. 4) überschrieben.
  6. +
+ +

§ 10 Mängel

+

Es gelten die gesetzlichen Regeln, für die digitalen Leistungen (Bereitstellung der Website, E-Mail-Postfach) insbesondere das gesetzliche Mängelhaftungsrecht für digitale Dienstleistungen (§§ 327 ff. BGB). Mängel unserer Leistungen beheben wir nach Meldung innerhalb angemessener Frist.

+ +

§ 11 Haftung

+
    +
  1. Wir haften unbeschränkt bei Vorsatz und grober Fahrlässigkeit, bei Verletzung von Leben, Körper oder Gesundheit, nach dem Produkthaftungsgesetz und soweit wir eine Garantie übernommen haben.
  2. +
  3. Bei leicht fahrlässiger Verletzung einer wesentlichen Vertragspflicht haften wir nur für den vertragstypischen, vorhersehbaren Schaden. Wesentlich sind Pflichten, deren Erfüllung die ordnungsgemäße Durchführung des Vertrags überhaupt erst ermöglicht und auf deren Einhaltung der Kunde regelmäßig vertrauen darf. Im Übrigen ist die Haftung für leichte Fahrlässigkeit ausgeschlossen.
  4. +
  5. Für den Verlust von Daten haften wir nur in Höhe des Aufwands, der zur Wiederherstellung nötig gewesen wäre, wenn der Kunde seine Pflicht aus § 6 Abs. 4 erfüllt hätte.
  6. +
  7. Die verschuldensunabhängige Haftung für Mängel, die schon bei Vertragsschluss vorhanden waren (§ 536a Abs. 1 BGB), ist ausgeschlossen.
  8. +
  9. Diese Regeln gelten auch zugunsten unserer Mitarbeiter und Beauftragten.
  10. +
+ +

§ 12 Datenschutz

+
    +
  1. Wie wir personenbezogene Daten des Kunden verarbeiten, beschreibt unsere Datenschutzerklärung unter project.webklar.com/datenschutz.html.
  2. +
  3. Soweit wir im Rahmen des Abos personenbezogene Daten im Auftrag des Kunden verarbeiten, etwa Eingaben in Kontaktformulare, E-Mails oder Server-Protokolle seiner Website, gilt der Auftragsverarbeitungsvertrag in Anlage 1. Er wird mit der Bestellung vereinbart.
  4. +
+ +

§ 13 Änderungen dieser Bedingungen

+

Änderungen teilen wir mindestens 6 Wochen vor ihrem Wirksamwerden in Textform mit. Sie werden nur mit Zustimmung des Kunden wirksam. Ohne Zustimmung gelten die bisherigen Bedingungen weiter, und beide Seiten können nach § 8 kündigen.

+ +

§ 14 Schlussbestimmungen

+
    +
  1. Es gilt deutsches Recht unter Ausschluss des UN-Kaufrechts. Gegenüber Verbrauchern gilt diese Rechtswahl nur, soweit ihnen dadurch nicht der Schutz zwingender Vorschriften des Staates entzogen wird, in dem sie ihren gewöhnlichen Aufenthalt haben.
  2. +
  3. Ist der Kunde Kaufmann, juristische Person des öffentlichen Rechts oder öffentlich-rechtliches Sondervermögen, ist Gerichtsstand der Sitz von WEBklar.
  4. +
  5. Wir sind nicht verpflichtet und nicht bereit, an einem Streitbeilegungsverfahren vor einer Verbraucherschlichtungsstelle teilzunehmen.
  6. +
+ +
+

Widerrufsbelehrung

+

Das Widerrufsrecht gilt nur für Verbraucher. Die folgende Belehrung entspricht dem gesetzlichen Muster.

+

Widerrufsrecht

+

Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen diesen Vertrag zu widerrufen.

+

Die Widerrufsfrist beträgt vierzehn Tage ab dem Tag des Vertragsabschlusses.

+

Um Ihr Widerrufsrecht auszuüben, müssen Sie uns (WEBklar GbR, Am Schwimmbad 10, 67722 Winnweiler, Telefon 0176 23726355, E-Mail support@webklar.com) mittels einer eindeutigen Erklärung (z. B. ein mit der Post versandter Brief oder eine E-Mail) über Ihren Entschluss, diesen Vertrag zu widerrufen, informieren. Sie können dafür das beigefügte Muster-Widerrufsformular verwenden, das jedoch nicht vorgeschrieben ist. Sie können Ihr Widerrufsrecht auch online unter https://project.webklar.com/widerrufen.html ausüben. Wenn Sie diese Online-Funktion nutzen, übermitteln wir Ihnen auf einem dauerhaften Datenträger (z. B. durch eine E-Mail) unverzüglich eine Eingangsbestätigung mit Informationen zum Inhalt der Widerrufserklärung sowie dem Datum und der Uhrzeit ihres Eingangs.

+

Zur Wahrung der Widerrufsfrist reicht es aus, dass Sie die Mitteilung über die Ausübung des Widerrufsrechts vor Ablauf der Widerrufsfrist absenden.

+

Folgen des Widerrufs

+

Wenn Sie diesen Vertrag widerrufen, haben wir Ihnen alle Zahlungen, die wir von Ihnen erhalten haben, einschließlich der Lieferkosten (mit Ausnahme der zusätzlichen Kosten, die sich daraus ergeben, dass Sie eine andere Art der Lieferung als die von uns angebotene, günstigste Standardlieferung gewählt haben), unverzüglich und spätestens binnen vierzehn Tagen ab dem Tag zurückzuzahlen, an dem die Mitteilung über Ihren Widerruf dieses Vertrags bei uns eingegangen ist. Für diese Rückzahlung verwenden wir dasselbe Zahlungsmittel, das Sie bei der ursprünglichen Transaktion eingesetzt haben, es sei denn, mit Ihnen wurde ausdrücklich etwas anderes vereinbart; in keinem Fall werden Ihnen wegen dieser Rückzahlung Entgelte berechnet.

+

Haben Sie verlangt, dass die Dienstleistungen während der Widerrufsfrist beginnen soll, so haben Sie uns einen angemessenen Betrag zu zahlen, der dem Anteil der bis zu dem Zeitpunkt, zu dem Sie uns von der Ausübung des Widerrufsrechts hinsichtlich dieses Vertrags unterrichten, bereits erbrachten Dienstleistungen im Vergleich zum Gesamtumfang der im Vertrag vorgesehenen Dienstleistungen entspricht.

+

Ende der Widerrufsbelehrung

+ +

Muster-Widerrufsformular

+
+

(Wenn Sie den Vertrag widerrufen wollen, dann füllen Sie bitte dieses Formular aus und senden Sie es zurück.)

+

– An WEBklar GbR, Am Schwimmbad 10, 67722 Winnweiler, E-Mail: support@webklar.com:

+

– Hiermit widerrufe(n) ich/wir (*) den von mir/uns (*) abgeschlossenen Vertrag über den Kauf der folgenden Waren (*)/die Erbringung der folgenden Dienstleistung (*)

+

– Bestellt am (*)/erhalten am (*)

+

– Name des/der Verbraucher(s)

+

– Anschrift des/der Verbraucher(s)

+

– Unterschrift des/der Verbraucher(s) (nur bei Mitteilung auf Papier)

+

– Datum

+

(*) Unzutreffendes streichen.

+
+ +

Anlage 1

+

Auftragsverarbeitungsvertrag nach Art. 28 DSGVO

+

zwischen dem Kunden als Verantwortlichem („Kunde“) und der WEBklar GbR als Auftragsverarbeiter („WEBklar“). Der Vertrag wird mit der Bestellung des Wartungs-Abos vereinbart.

+ +

1. Gegenstand und Dauer

+

WEBklar verarbeitet personenbezogene Daten im Auftrag des Kunden, soweit das für die Leistungen des Wartungs-Abos (Betrieb und Pflege der Website, Domain, E-Mail-Postfach, Unterstützung) nötig ist. Der Vertrag gilt für die Dauer des Abos und darüber hinaus, bis alle Daten nach Nummer 8 gelöscht oder zurückgegeben sind.

+ +

2. Art und Zweck der Verarbeitung, Datenarten, Betroffene

+ + + + + +
Art der VerarbeitungSpeichern, Bereitstellen, Weiterleiten (z. B. Kontaktformular-Eingaben per E-Mail an den Kunden), Sichern, Wiederherstellen und Löschen; Einsicht, soweit sie für Wartung und Unterstützung nötig ist
ZweckBetrieb der Website bzw. Web-Anwendung und des Postfachs des Kunden
DatenartenInhalte der Website; Eingaben in Formulare (z. B. Name, Kontaktdaten, Nachricht); Inhalte des Postfachs; Verbindungsdaten in Server-Protokollen (IP-Adresse, Zeitpunkt, aufgerufene Seite, Browserkennung); Benutzerkonten, soweit die Anwendung solche vorsieht
BetroffeneBesucher der Website; Absender und Empfänger von E-Mails; Kunden, Interessenten und Beschäftigte des Kunden; weitere Personen, deren Daten der Kunde über seine Website verarbeitet
+

Besondere Kategorien personenbezogener Daten (Art. 9 DSGVO) verarbeitet der Kunde über seine Website nur nach vorheriger Mitteilung an WEBklar.

+ +

3. Weisungen

+

WEBklar verarbeitet die Daten nur auf dokumentierte Weisung des Kunden, auch bei Übermittlungen in Drittländer, es sei denn, eine gesetzliche Pflicht verlangt etwas anderes. In diesem Fall teilt WEBklar dem Kunden die Pflicht vorher mit, soweit das Gesetz es erlaubt. Die Weisungen ergeben sich aus diesem Vertrag und den Bedingungen des Wartungs-Abos. Weitere Weisungen erteilt der Kunde in Textform, etwa im Chat des Kundenportals. Hält WEBklar eine Weisung für rechtswidrig, weist es den Kunden unverzüglich darauf hin.

+ +

4. Vertraulichkeit

+

WEBklar setzt nur Personen ein, die zur Vertraulichkeit verpflichtet sind oder einer gesetzlichen Verschwiegenheitspflicht unterliegen.

+ +

5. Sicherheit der Verarbeitung

+

WEBklar trifft die technischen und organisatorischen Maßnahmen nach Art. 32 DSGVO, die in Anlage 2 beschrieben sind. WEBklar darf sie an den Stand der Technik anpassen, sofern das Schutzniveau nicht sinkt.

+ +

6. Unterauftragsverarbeiter

+

Der Kunde genehmigt die in Anlage 3 genannten Unterauftragsverarbeiter. Will WEBklar einen Unterauftragsverarbeiter hinzuziehen oder ersetzen, teilt es das dem Kunden mindestens vier Wochen vorher in Textform mit. Der Kunde kann aus wichtigem datenschutzrechtlichem Grund widersprechen. Einigen sich die Parteien nicht, können beide das Wartungs-Abo zum Zeitpunkt des Wechsels kündigen. WEBklar verpflichtet jeden Unterauftragsverarbeiter vertraglich auf dieselben Datenschutzpflichten, die sich aus diesem Vertrag ergeben.

+ +

7. Unterstützung des Kunden

+ + +

8. Löschung und Rückgabe

+

Nach Ende des Abos gibt WEBklar die Daten nach Wahl des Kunden zurück (§ 9 Abs. 1 der Bedingungen) oder löscht sie, soweit keine gesetzliche Pflicht zur Speicherung besteht. Sicherungskopien werden im Rahmen der regulären Rotation überschrieben.

+ +

9. Nachweise und Kontrollen

+

WEBklar stellt dem Kunden alle Informationen zur Verfügung, die zum Nachweis der Pflichten aus Art. 28 DSGVO nötig sind. WEBklar ermöglicht Überprüfungen einschließlich Inspektionen durch den Kunden oder einen von ihm beauftragten, zur Verschwiegenheit verpflichteten Prüfer. Sie finden nach Anmeldung mit angemessener Frist (in der Regel 14 Tage) zu den Servicezeiten statt, ohne den Betrieb unzumutbar zu stören. Für das Rechenzentrum genügen in der Regel die Nachweise des Rechenzentrumsbetreibers (Zertifizierung nach ISO/IEC 27001). Für mehr als eine Vor-Ort-Kontrolle pro Jahr kann WEBklar eine angemessene Vergütung verlangen.

+ +

10. Schlussbestimmungen

+

Für die Haftung gilt Art. 82 DSGVO. Bei Widersprüchen geht dieser Vertrag in Datenschutzfragen den Bedingungen des Wartungs-Abos vor.

+ +

Anlage 2

+

Technische und organisatorische Maßnahmen (Art. 32 DSGVO)

+ + + + + + + + + + +
BereichMaßnahmen
Rechenzentrum und ZutrittBetrieb im Rechenzentrum der Hetzner Online GmbH in Falkenstein (Deutschland). Hetzner ist nach ISO/IEC 27001 zertifiziert. Zutritt, Stromversorgung, Klimatisierung und Brandschutz regeln die Maßnahmen von Hetzner.
Zugang zu den SystemenSerververwaltung nur über verschlüsselte SSH-Verbindung, Zugang nur für die Gesellschafter. Automatische Sperre bei wiederholten Fehlversuchen. Firewall des Rechenzentrumsbetreibers, die nur die benötigten Dienste zulässt. Zwei-Faktor-Anmeldung für die Verwaltungskonten bei Hetzner und Stripe.
Zugriff auf DatenZugriff nur für die Gesellschafter und beauftragte Mitarbeiter, soweit ihre Aufgabe es erfordert. Im Kundenportal sieht jeder Kunde nur seine eigenen Daten. Datenbanken sind nur für die jeweilige Anwendung erreichbar.
ÜbertragungVerschlüsselte Übertragung (TLS) für alle Websites, das Kundenportal und die Verwaltung. E-Mail-Versand und -Abruf nur verschlüsselt.
NachvollziehbarkeitÄnderungen an Websites laufen über eine Versionsverwaltung (Git) und sind nachvollziehbar. Aufträge und Weisungen werden im Ticketsystem bzw. im Chat des Kundenportals dokumentiert.
Verfügbarkeit und WiederherstellungTägliche Sicherung des gesamten Servers, verfügbar sind die letzten sieben Tage. Tägliche Datenbank-Exporte vor der Serversicherung. Automatische Überwachung der Erreichbarkeit. Automatische Sicherheitsupdates des Betriebssystems. Wiederherstellung wird regelmäßig getestet.
TrennungWebsites der Kunden in getrennten Verzeichnissen bzw. Containern. Vorschau- und Testversionen sind nur nach Anmeldung erreichbar.
OrganisationVerpflichtung aller Beteiligten auf Vertraulichkeit. Festgelegter Ablauf für die Meldung von Datenschutzverletzungen. Löschung nach Vertragsende (§ 9 der Bedingungen). Server-Protokolle werden nach 14 Tagen gelöscht. Die Maßnahmen werden mindestens einmal im Jahr überprüft.
+ +

Anlage 3

+

Unterauftragsverarbeiter

+ + + + +
UnternehmenLeistungOrt der Verarbeitung
Hetzner Online GmbH, Industriestraße 25, 91710 GunzenhausenServer-Hosting und DatensicherungDeutschland (Rechenzentrum Falkenstein)
Hetzner Online GmbH, Industriestraße 25, 91710 GunzenhausenE-Mail-Postfächer (Webhosting)Deutschland (Rechenzentrum Nürnberg)
+

Die Domain registrieren wir über die Hetzner Online GmbH als Domain-Registrar. Für die Daten des Domaininhabers sind Registrar und Vergabestelle (bei .de-Domains die DENIC eG) eigenständig verantwortlich; sie sind insoweit keine Unterauftragsverarbeiter. Die Zahlungsabwicklung über Stripe betrifft das Vertragsverhältnis zwischen Kunde und WEBklar und ist nicht Gegenstand dieses Auftragsverarbeitungsvertrags.

+
+ + diff --git a/scripts/build-legal-pdfs.sh b/scripts/build-legal-pdfs.sh index be3134e..16ee4ca 100755 --- a/scripts/build-legal-pdfs.sh +++ b/scripts/build-legal-pdfs.sh @@ -14,5 +14,6 @@ pdf() { # $1 = Quelle (HTML), $2 = Ziel (PDF) } pdf docs/leitfaden-empfehlungsgeber.html docs/WEBklar-Leitfaden-Empfehlungsgeber.pdf -pdf public/abo-bedingungen.html public/WEBklar-Wartungs-Abo-Vertragsunterlagen.pdf +# Fassung 3 (public/WEBklar-Wartungs-Abo-Vertragsunterlagen.pdf, Archiv unter public/vertragsunterlagen/v3/) wird nicht neu erzeugt +pdf public/abo-bedingungen.html public/WEBklar-Abo-Vertragsunterlagen.pdf pdf public/datenschutz.html docs/WEBklar-Datenschutzerklaerung.pdf diff --git a/server/config.js b/server/config.js index dcd2524..86cec8d 100644 --- a/server/config.js +++ b/server/config.js @@ -122,7 +122,7 @@ export const config = { abo: { // Bei jeder Textaenderung an Bedingungen oder Bestellseite hochziehen (wird mit der Zustimmung gespeichert) - termsVersion: '2026-09-25-v3', + termsVersion: '2026-09-27-v4', // Mindestlaufzeit ab Leistungsbeginn; Kuendigung zum Ende bis 1 Monat vorher, danach monatlich minTermMonths: products.wartung.minTermMonths, minutesPerMonth: products.wartung.minutesPerMonth, diff --git a/test/legalTexts.test.js b/test/legalTexts.test.js new file mode 100644 index 0000000..1b71213 --- /dev/null +++ b/test/legalTexts.test.js @@ -0,0 +1,108 @@ +import { test } from 'node:test' +import assert from 'node:assert/strict' +import { readFileSync } from 'node:fs' +import { createHash } from 'node:crypto' + +const { config } = await import('../server/config.js') + +// = `git show 18c3cdf:public/abo-bedingungen.html | sha256sum` (Fassung 3, Stand 25.09.2026). +// Fest eingetragen, weil die Tests auch ohne git laufen muessen (node:20-alpine). +const V3_SHA256 = '1c9e4b002dcd5d7896bbda24c573e56544b7123e3a88d154e5db77bd2855bc47' + +const file = (rel) => new URL(`../${rel}`, import.meta.url) +const read = (rel) => readFileSync(file(rel), 'utf8') +const sha256 = (rel) => createHash('sha256').update(readFileSync(file(rel))).digest('hex') +const strip = (html) => html.replace(/<[^>]+>/g, ' ').replace(/ /g, ' ').replace(/\s+/g, ' ').trim() + +// HTML-Ausschnitt von einem Anker bis zum naechsten, danach ohne Tags. Die Inhaltsuebersicht wiederholt +// die Ueberschriften, deshalb wird nicht nach dem ersten Text-Treffer, sondern nach id="..." geschnitten. +const section = (html, fromId, toId) => { + const a = html.indexOf(`id="${fromId}"`) + assert.ok(a >= 0, `Anker #${fromId} fehlt`) + const b = html.indexOf(`id="${toId}"`, a + 1) + assert.ok(b > a, `Anker #${toId} fehlt nach #${fromId}`) + return strip(html.slice(a, b)) +} +const between = (s, a, b) => { + const i = s.indexOf(a) + assert.ok(i >= 0, `Text fehlt: ${a}`) + const j = s.indexOf(b, i) + assert.ok(j > i, `Text fehlt: ${b}`) + return s.slice(i, j) +} + +const V3 = 'public/vertragsunterlagen/v3/abo-bedingungen.html' +const V4 = 'public/abo-bedingungen.html' + +test('Fassung 3 unverändert archiviert (HTML und PDF)', () => { + assert.equal(sha256(V3), V3_SHA256) + // Das bisherige PDF bleibt die Fassung 3 und liegt identisch im Archiv + assert.equal( + sha256('public/vertragsunterlagen/v3/WEBklar-Wartungs-Abo-Vertragsunterlagen.pdf'), + sha256('public/WEBklar-Wartungs-Abo-Vertragsunterlagen.pdf') + ) + assert.ok(read(V3).includes('Version 3 · Stand 25.09.2026')) +}) + +test('Widerrufsbelehrung und Muster-Widerrufsformular wortgleich mit Fassung 3', () => { + const v3 = read(V3), v4 = read(V4) + const muster = (belehrung) => between(belehrung, 'Widerrufsrecht Sie haben das Recht', 'Ende der Widerrufsbelehrung') + const muster3 = muster(section(v3, 'widerruf', 'formular')) + assert.ok(muster3.length > 1500) + assert.equal(muster(section(v4, 'widerruf', 'formular')), muster3) + // Muster-Widerrufsformular (Anlage 2 zu Art. 246a EGBGB) ebenfalls unveraendert + const formular = (s) => between(s, 'Muster-Widerrufsformular', '(*) Unzutreffendes streichen.') + assert.equal(formular(section(v4, 'formular', 'widerruf-hinweise')), formular(section(v3, 'formular', 'avv'))) +}) + +test('Fassung 4: beide Abos, Postfächer, Zusatzspeicher, Wechsel', () => { + const v4html = read(V4), v4 = strip(v4html) + for (const s of ['15,00 €', '50,00 €', 'beliebig viele Postfächer', 'zusammen 5 GB', '1,00 €', 'Zusatzspeicher', + '12 Monate', 'statische', 'Hetzner', '§ 19 UStG', 'Leistungsbeschreibung A', 'Leistungsbeschreibung B', + '„Zahlungspflichtig bestellen“', '„Verträge hier kündigen“', '„Nur den E-Mail-Zusatzspeicher“', '„Speichern“', + 'Vertragsbedingungen für die WEBklar-Abos']) assert.ok(v4.includes(s), s) + assert.ok(!v4.includes('Version 3')) + const hosting = section(v4html, 'hosting', 'wartung') + assert.ok(hosting.includes('1 E-Mail-Postfach')) + assert.ok(hosting.includes('statische')) + const wartung = section(v4html, 'wartung', 'widerruf') + assert.ok(wartung.includes('beliebig viele Postfächer')) + assert.ok(wartung.includes('zusammen 5 GB')) + assert.ok(!wartung.includes('1 E-Mail-Postfach')) + // Hinweise zum Widerruf bei Wechsel und Zusatzspeicher stehen ausserhalb der Musterbelehrung + const hinweise = section(v4html, 'widerruf-hinweise', 'avv') + assert.ok(hinweise.includes('Wechsel')) + assert.ok(hinweise.includes('Zusatzspeicher')) + assert.ok(hinweise.includes('Wertersatz')) +}) + +test('Anker der Fassung 4', () => { + const v4 = read(V4) + for (const id of ['widerruf', 'hosting', 'wartung', 'zusatzspeicher', 'wechsel', 'avv', 'widerruf-hinweise', 'formular', 'tom', 'sub']) { + assert.equal(v4.split(`id="${id}"`).length, 2, `Anker #${id} genau einmal`) + } + // Reihenfolge: allgemeiner Teil, Leistungsbeschreibung A, B, Widerruf, Hinweise, Anlagen 1-3 + const order = ['id="wechsel"', 'id="zusatzspeicher"', 'id="hosting"', 'id="wartung"', 'id="widerruf"', 'id="formular"', + 'id="widerruf-hinweise"', 'id="avv"', 'id="tom"', 'id="sub"'].map((m) => v4.indexOf(m)) + assert.deepEqual([...order].sort((a, b) => a - b), order) +}) + +test('Version und Stand passen zu termsVersion', () => { + const m = /^(\d{4})-(\d{2})-(\d{2})-v4$/.exec(config.abo.termsVersion) + assert.ok(m, `termsVersion ${config.abo.termsVersion}`) + const [, y, mo, d] = m + assert.ok(strip(read(V4)).includes(`Version 4 · Stand ${d}.${mo}.${y}`)) + assert.ok(read(V4).includes(`content: "Version 4 · Stand ${d}.${mo}.${y}"`), 'Kopfzeile im Druck') +}) + +test('PDF der Fassung 4 verlinkt, erzeugt und im Build-Skript', () => { + const v4 = read(V4) + assert.ok(v4.includes('href="/WEBklar-Abo-Vertragsunterlagen.pdf"')) + assert.ok(!v4.includes('WEBklar-Wartungs-Abo-Vertragsunterlagen.pdf')) + const pdf = readFileSync(file('public/WEBklar-Abo-Vertragsunterlagen.pdf')) + assert.ok(pdf.length > 50_000 && pdf.subarray(0, 5).toString() === '%PDF-') + const build = read('scripts/build-legal-pdfs.sh') + assert.ok(build.includes('pdf public/abo-bedingungen.html public/WEBklar-Abo-Vertragsunterlagen.pdf')) + const erzeugt = build.split('\n').filter((l) => l.startsWith('pdf ')) + assert.ok(!erzeugt.some((l) => l.includes('WEBklar-Wartungs-Abo-Vertragsunterlagen.pdf')), 'Fassung 3 wird nicht neu erzeugt') +})