InverseLive demo.
Everything on this page runs the real @sweberdev/inverse and @sweberdev/inverse-react packages in your browser: the buttons and forms in the made-up shop, the handler that would run on your server, the page check and the deadline helpers.
Nothing you enter leaves your browser. The handler runs locally here, so the e-mail is shown instead of sent.
Shop
Withdraw and cancel, end to endUse the footer.
Muster Outdoor is a made-up shop that also sells a gear subscription. Its footer has the two links the law asks for. Follow one, fill in the form, confirm on the second step, and watch what your server and the customer's inbox get.
Bereit für den Herbst
Ihre Bestellung A-1001 wurde am Freitag geliefert.
- Regenjacke Alpin
- Wanderschuh Grat
- Gear-Box Abo
Customer's inbox
The acknowledgement e-mail appears here after you confirm.
What your server stores
onDeclaration(record) is called with this record.
The demo works out the end date with contractEndDate(): one month's notice, term until 31 December.
Page check
Is the button there?Paste HTML.
The same rules as npx inverse check. Pick an example or paste the HTML of your own footer. Information links such as "Widerrufsbelehrung" don't count; similar wording is flagged.
Examples
Result
Withdrawal button: Found
Found a control labelled like "Vertrag widerrufen".
- Found
<a> Vertrag widerrufen→ /widerrufStatutory or equivalent wording.
Cancellation button: Found
Found a control labelled like "Verträge hier kündigen".
- Found
<a> Verträge hier kündigen→ /kuendigenStatutory or equivalent wording.
Deadlines
When does it end?Two helpers.
withdrawalDeadline() counts the 14 days from the day after delivery or contract and moves the end off weekends. contractEndDate() works out the end of a cancelled subscription from notice period and term.
Last day to withdraw: 19 October 2026
Contract ends on: 5 November 2026
Next
Add it to your appFour steps.
Install the two packages, add the route, add the two pages and link them from your footer. The getting started guide walks through it for Next.js.