Widerrufsformular — Pflicht für deutsche Online-Shops seit dem 19. Juni 2026 (§ 356a BGB)
Das gesetzliche Widerrufsformular. Selbst gehostet, neutral, deins.
Revoco ist ein quelloffenes elektronisches Widerrufsformular für einen einzelnen Händler: Der Verbraucher gibt seine Widerrufserklärung ab, das System speichert sie und versendet die gesetzlich vorgeschriebene Eingangsbestätigung — und alle Daten bleiben auf deinem eigenen Server.
Das Widerrufsformular ist gesetzliche Pflicht
Seit dem 19. Juni 2026 — ohne Übergangsfrist — müssen Online-Shops, in denen Verbrauchern ein gesetzliches Widerrufsrecht zusteht, ein elektronisches Widerrufsformular bereitstellen: eines, das der Verbraucher ohne Login nutzen kann, beantwortet mit einer Bestätigung auf einem dauerhaften Datenträger. Rechtsgrundlage ist § 356a BGB, der die EU-Richtlinie 2023/2673 umsetzt.
-
Ein Widerrufs-Button in deinem Shop
Ein ständig verfügbarer, gut sichtbar platzierter Button — „Vertrag widerrufen“ — auf deiner Website. Er verlinkt direkt auf dein Revoco-Formular; die Einbindung dieses Buttons ist die einzige Änderung, die dein Shop braucht.
-
Das elektronische Widerrufsformular
Der Verbraucher gibt Name, Vertragsidentifikation und E-Mail-Adresse an — genau die Daten, die das Gesetz als Pflichtangaben zulässt, und keine weiteren — und bestätigt den Widerruf. Revoco ist dieses Formular.
-
Die Eingangsbestätigung per E-Mail
Unmittelbar nach dem Absenden erhält der Verbraucher eine Eingangsbestätigung auf einem dauerhaften Datenträger — mit dem Inhalt der Erklärung sowie Datum und Uhrzeit. Werbefrei, wie es das Gesetz verlangt.
- Nur die drei gesetzlich zulässigen Pflichtfelder — Name, Vertragsidentifikation, E-Mail. Mehr wird nicht verlangt.
- Das Absenden wird nie blockiert: kein Captcha, keine Bestellnummern-Sperre. Spam-Signale klassifizieren nur — jede Erklärung wird gespeichert.
- Eingangsbestätigung mit Erklärungsinhalt, Datum und Uhrzeit in der Ortszeit des Verbrauchers — asynchron versendet, damit ein Mailserver-Schluckauf nie das Absenden bricht.
- Jede Erklärung wird unveränderlich gespeichert — der Eingangsnachweis, den das Gesetz von dir erwartet.
Revoco ist Software, keine Rechtsberatung. Ob und wie § 356a BGB auf deinen Shop anwendbar ist, klärst du mit deiner Rechtsberatung.
Compliance ohne Compliance-Anbieter
Revoco ist bewusst klein: ein Händler, ein Container-Stack, eine Aufgabe — gut gelöst.
Gebaut für den gesetzlichen Widerruf
Der vollständige gesetzliche Ablauf nach § 356a BGB: Formular → Absenden → Bestätigungsseite → Eingangsbestätigung per E-Mail. Drei Pflichtfelder, nie blockiertes Absenden, unveränderliche Datensätze.
Selbst gehostet, volle Datenhoheit
Du betreibst es, dir gehört es. Widerrufsdaten liegen in einer SQLite-Datei auf deinem Volume — kein SaaS, keine Drittanbieter-Verarbeitung, und du bleibst der Verantwortliche.
Neutral im Standard, pro Deployment brandbar
Wird mit einem sauberen neutralen Design ausgeliefert. Ein einziger CSS-Token-Vertrag (--wf-*) verwandelt es in den Look deines Shops — Logo, Farben und Markenname sind Konfiguration, kein Fork.
Open Source (AGPL-3.0)
Der gesamte Quellcode ist öffentlich und prüfbar. Forken, auditieren, erweitern — die AGPL hält Verbesserungen für alle offen.
Docker-Deploy mit einem Befehl
Veröffentlichte Images auf GHCR, ein generisches docker-compose.yml, Konfiguration per Umgebungsvariablen. Läuft hinter jedem Reverse-Proxy; bricht bei Fehlkonfiguration sofort sichtbar ab.
Deutsch und Englisch, umschaltbar
Das Verbraucherformular gibt es auf Deutsch und Englisch mit Sprachumschalter im Formular; das Betreiber-Panel spricht standardmäßig Englisch. Weitere Sprachen sind nur eine Sprachdatei entfernt.
Ein Blick ins Produkt
Alle Screenshots zeigen fiktive Demo-Daten — die erfundene Marke „Muster Shop“ und Test-Personas. Es erscheinen keine echten Händler oder Kunden.
Neutral im Standard — deine Marke auf Wunsch
Dasselbe Deployment, zwei Looks: das neutrale Standard-Design ab Werk und ein Deploy-Zeit-Overlay mit Farben, Logo und Namen des Händlers.
--wf-*-Theme-Overlay, Logo und Markenname per KonfigurationEin Verbraucher-Ablauf ohne Sackgassen
Klare Inline-Validierung und eine Bestätigungsseite in dem Moment, in dem die Erklärung abgesendet ist. Die Eingangsbestätigung folgt asynchron per E-Mail.
Ein Betreiber-Panel, das dir nicht im Weg steht
Eingehende Widerrufe in einer Liste mit Suche und Spam-Signalen, eine Detailansicht mit einem einzigen „Erledigt“-Schalter und Einstellungen für Sprachen, Rechtsseiten, Widerrufsumfang und den Benachrichtigungs-Empfänger. Ein Setup-Banner sagt frischen Installationen genau, was noch fehlt.
Rechtsseiten inklusive
Impressum und Datenschutzerklärung liefert das Formular gleich mit, gepflegt im Panel — mehrsprachig, mit Fallback je Sprache. Oder du verlinkst weiterhin deine bestehenden Seiten.
Wissen, wenn ein Widerruf eingeht — im selben Moment
Widerrufserklärungen sind seltene Ereignisse mit gesetzlichen Fristen — genau das, was du als Push aufs Handy willst statt vergraben im Postfach. Revoco benachrichtigt dich auf Wunsch über ntfy: Sofort-Push auf Handy oder Desktop, sobald eine Erklärung eingeht.
- Jeder Widerruf geht außerdem als E-Mail an den Betreiber — an einen im Panel gesetzten Empfänger (getrennt von der Absenderadresse), mit Ein-Klick-Testversand, und ein Spam-Verdacht steht direkt im Betreff.
- Datenminimal per Design — der Push enthält keine personenbezogenen Daten, nur das Ereignis.
- Selbst hostbar wie alles andere: Ein fertiger ntfy-Dienst liegt als optionales Compose-Profil bei.
- Optional und entkoppelt — ein
.env-Schalter, und ein Push-Fehler beeinträchtigt nie das Absenden des Verbrauchers.
Von der leeren Installation zu gebrandet und befüllt — in einer Sitzung
Revoco bringt zwei Deploy-Zeit-Authoring-Skills für Claude Code und andere KI-Modelle mit. Sie erledigen die zwei Einrichtungsaufgaben, die niemand gern macht: das Formular ans Shop-Design anpassen und bestehende Rechtsseiten übernehmen. Beide laufen ausschließlich zur Deploy-Zeit — KI berührt nie die laufende Anwendung.
design-adoption
Gib ihm die URL deines Shops. Der Skill scannt die Website, extrahiert die Corporate Identity — Farben, Schriften, Logo-Einsatz — und generiert ein einbaufertiges --wf-*-Marken-Theme-Overlay samt Platzierungsbericht.
/design-adoption https://dein-shop.example
legal-extraction
Gib ihm die URLs deines bestehenden Impressums und deiner Datenschutzerklärung. Der Skill extrahiert die Inhalte und lädt sie über einen abgesicherten Importer in Revocos Rechts-Einstellungen — bereitgestellt zur Prüfung im Betreiber-Panel, nie automatisch veröffentlicht.
/legal-extraction https://dein-shop.example/impressum …
Beide Skills sind Komfort, keine Voraussetzung — alles, was sie erzeugen, lässt sich auch von Hand pflegen, und jeder KI-Entwurf wird vom Betreiber geprüft, bevor er live geht.
In vier Schritten deployt
Alles, was du brauchst: Docker und ein Reverse-Proxy. Das offizielle Image liegt auf GHCR.
-
Anwendungsschlüssel erzeugen
Einmalig vor dem ersten Start — ohne ihn verweigert der Container den Dienst:
docker run --rm ghcr.io/chriras/revoco:latest \ php artisan key:generate --show -
Umgebung konfigurieren
Beispieldatei kopieren und Schlüssel, URL, SMTP-Zugang und Betreiber-Konto setzen:
cp .env.example .env # APP_KEY, APP_URL, MAIL_*, OPERATOR_EMAIL, OPERATOR_PASSWORD, … setzen -
Stack starten
Migrationen, Cache-Aufwärmen und Health-Checks übernimmt der Entrypoint:
docker compose -f docker-compose.yml up -d -
Betreiber-Konto anlegen
Danach im Panel anmelden und das geführte Setup abschließen — Rechtsseiten, Sprachen, Umfang:
docker compose -f docker-compose.yml exec app \ php artisan app:operator --email=du@example.com --password=…
Optionale Extras — ntfy-Push (--profile ntfy), ein Marken-Theme-Overlay, deine bestehenden Rechtsseiten — sind einen Befehl oder einen Panel-Besuch entfernt. Die vollständige Anleitung steht im README.
Häufige Fragen
Wer braucht ein elektronisches Widerrufsformular?
Seit dem 19. Juni 2026 müssen Unternehmer ein elektronisches Widerrufsformular anbieten, wenn sie Verbrauchern den Abschluss von Fernabsatzverträgen über eine Online-Benutzeroberfläche ermöglichen und ein gesetzliches Widerrufsrecht besteht (§ 356a BGB) — praktisch: die meisten deutschen B2C-Online-Shops. Eine Übergangsfrist gab es nicht. Ob dein konkretes Geschäft erfasst ist, klärst du mit deiner Rechtsberatung.
Ist Revoco ab Werk rechtskonform?
Revoco setzt den gesetzlichen Ablauf originalgetreu um: nur die drei zulässigen Pflichtfelder, ein nie blockiertes Absenden, eine werbefreie Eingangsbestätigung mit Datum und Uhrzeit sowie unveränderliche Speicherung als Eingangsnachweis. Auf deiner Seite bleiben: der Widerrufs-Button in deinem Shop sowie Impressum und Datenschutzerklärung. Revoco ist Software, keine Rechtsberatung.
Was kostet das?
Nichts — Revoco ist frei und quelloffen unter der AGPL-3.0-Lizenz. Du zahlst nur dein eigenes Hosting, und das darf klein sein: Der ganze Stack besteht aus einer Handvoll leichtgewichtiger Container aus einem einzigen Image plus einer SQLite-Datei.
Wo liegen die Daten? Und was ist mit der DSGVO?
Alles bleibt auf deinem Server: Widerrufserklärungen liegen in einer SQLite-Datei auf deinem Volume, E-Mails gehen über deinen eigenen SMTP-Server raus. Es gibt kein SaaS-Backend und keinen Auftragsverarbeiter — du betreibst die Software selbst und bleibst der Verantwortliche.
Muss ich mein Shopsystem anbinden?
Nein — und das ist Absicht. Revoco arbeitet im Freitext-Modus: Der Verbraucher identifiziert den Vertrag selbst (Bestellnummer oder eine Beschreibung der Ware), und du prüfst eingehende Erklärungen im Panel. Es funktioniert neben jedem Shopsystem; der einzige Berührungspunkt ist der Link vom Widerrufs-Button deines Shops zum Formular.
Kann das Formular aussehen wie mein Shop?
Ja. Das gesamte Erscheinungsbild hängt an einem CSS-Token-Vertrag (--wf-*): Ein Deploy-Zeit-Theme-Overlay stylt Farben, Typografie und Bedienelemente um, Logo und Markenname kommen aus der Umgebung. Der Skill design-adoption kann das Overlay automatisch aus deiner Shop-URL erzeugen.
Ich betreibe mehrere Shops — reicht eine Instanz?
Ein Deployment bedient einen Händler — eine bewusste Design-Entscheidung, die die Software einfach und prüfbar hält. Für mehrere Shops oder Marken betreibst du mehrere Container, jeder mit eigener Konfiguration, eigenem Theme und eigenen Daten.
Was steckt unter der Haube?
Ein langweiliger, verlässlicher Stack: PHP/Laravel, SQLite, ein Filament-Betreiber-Panel und eine datenbankgestützte Queue für asynchrone Mails und Push. Ausgeliefert als Multi-Stage-Docker-Build — das Produktions-Image enthält keine Dev-Abhängigkeiten — mit CI-gebauten Images auf GHCR.
Von der Notlösung zur sauberen Lösung — an einem Nachmittag
Selbst gehostet, quelloffen, an einem Nachmittag deployt — ob du eine Übergangslösung ersetzt oder den Widerruf für deinen nächsten Shop gleich richtig aufsetzt.