Automatic renewal laws · the record to keep · updated

Minnesota's automatic renewal law: the notice every calendar year

Minnesota's automatic renewal law (Minn. Stat. §§ 325G.56 to 325G.62) applies to contracts entered into, modified or renewed on or after 1 January 2025. For a subscription that continues until the customer ends it, the seller must give “written notice of the continuous service at least once per calendar year” (Minn. Stat. § 325G.57, subd. 5(a)) (read 10 October 2026), by mail or email, with the terms and how to cancel or manage it. So for each such subscription there is one notice to send, and to keep, for every calendar year it runs.

Who it covers. “any individual who seeks or acquires, by purchase or lease, any goods, services, money, or credit for personal, family, or household purposes.” (Minn. Stat. § 325G.56, subd. 4). A customer buying for a business is not a consumer under § 325G.56, subd. 4.

Each duty, in the statute's words

Minn. Stat. §§ 325G.56–325G.62 (Laws 2024, chapter 114, article 3); effective 1 January 2025, for contracts entered into, modified or renewed on or after that date.

For continuous service, send written notice at least once a calendar year by mail or email, with the terms and how to cancel or manage it

“the seller must give the consumer written notice of the continuous service at least once per calendar year via mail or email.”

Minn. Stat. § 325G.57, subd. 5(a)

To keep: each notice: the date sent, by mail or email, and its text. It reaches continuous service, a plan that continues until the consumer terminates it; whether a given plan is that or an automatic renewal of a definite term is for counsel.

For a free trial of more than 30 days, notify 5 to 30 days before it ends of the option to cancel

“no fewer than five days and no more than 30 days before the end of any such free trial, notify the consumer”

Minn. Stat. § 325G.57, subd. 4

When: 5 to 30 days before. To keep: the notice: the date sent and its text.

Give clear notice of a material change before it is implemented, with how to terminate

“in a timely manner, and in any case prior to the implementation of the material change”

Minn. Stat. § 325G.57, subd. 3

When: any time before it takes effect. To keep: each notice: the date sent and its text. “Timely” has no number of days; this tool counts any notice before the change.

The record from your own Stripe account, free

$ npx --allow-remote=root https://agentwares.vercel.app/dl/autorenew-record-0.2.0.tgz check --stripe

Each subscription beside the law of its customer's state: the consent on record, the annual reminder, the notices before a renewal and a price change, and what is missing, kept in a hash-chained ledger on your disk. It reads your account through a restricted read-only key you make in the Stripe Dashboard (a secret key is refused), or your Stripe exports. It never writes to Stripe, never emails your customers and sends nothing to us. No AI. Also a local MCP server: the same command with mcp.

A signed renewal evidence report

The tool writes the report for your counsel: the period's consent, reminders, notices and gaps per subscription, as JSON and PDF, with its SHA-256. A signed report adds a dated Ed25519 signature over this report's SHA-256, which anyone can check later; only the hash is sent to be signed. The report itself is complete without it.

The signature is over the report's hash only: your customers' data stays on your machine. One-time, with no account; the report command prints the link for your report's hash.

A signed report

A hosted renewal ledger that records consent from your Checkout, and sends and keeps the annual reminders and price notices for three years, is not built

It would take consent as it happens from your Checkout, send the annual reminder and the notices before a renewal or a price change from your own domain, and keep each one in okgate's hash-chained log for three years.

What exists today: these pages, the free tool, and the ledger it keeps on your own disk.

I want the hosted ledger

Sources, each read on 10 October 2026