Automatic renewal laws · the record to keep · updated
Colorado's automatic renewal law, and SB 25-145
Colorado's SB 25-145 changed who its automatic renewal law protects. From 16 February 2026, a consumer is “a person that seeks or acquires, by purchase or lease” (C.R.S. § 6-1-732(1)(d), as amended by SB 25-145) (read 10 October 2026 in the final act), with the words “for personal, family, or household purposes” struck out. So a business buying a subscription counts too, for contracts offered or renewed on or after that date. The notice before each renewal, 25 to 40 days ahead, has applied since 1 January 2022.
Who it covers. “a person that seeks or acquires, by purchase or lease, any goods, services, money, or credit.” (C.R.S. § 6-1-732(1)(d), as amended by SB 25-145 (from 16 February 2026)). SB 25-145 struck “for personal, family, or household purposes”: from 16 February 2026 a business buying a subscription counts too.
Each duty, in the statute's words
C.R.S. § 6-1-732, as amended by SB 25-145; § 6-1-732 has applied since 1 January 2022; SB 25-145's one-step online cancellation from 6 August 2025, and its wider definition of consumer from 16 February 2026, for contracts offered or renewed on or after those dates.
Notify 25 to 40 days before each renewal; for a term under twelve months, before each renewal that carries the contract past another twelve months
“at least twenty-five and no more than forty days before the first automatic renewal and at least twenty-five and no more than forty days before each automatic renewal thereafter”
When: 25 to 40 days before. To keep: each notice: the date sent, by mail, email or the channel the customer uses, and its text.
Give clear notice of a material change, in a form the customer can keep, with how to cancel
“a clear and conspicuous notice of the material change and information regarding cancellation of the automatic renewal contract”
When: any time before it takes effect. To keep: each notice: the date sent and its text. The statute names no number of days; this tool counts any notice before the change.
Offer one-step online cancellation to a customer who signed up online
“a one-step online cancellation link to a consumer who consented to the automatic renewal contract or trial period offer through a website”
To keep: where the one-step link is, and each cancellation.
For a monthly plan, the notice falls before the renewal that carries the contract past each twelve months, so once a year. For a yearly plan, before every renewal.
The wider definition is read here in SB 25-145's final act on leg.colorado.gov; the rest of § 6-1-732 in the 2024 statutes. Ashurst's summary of 1 July 2025 says the same.
The record from your own Stripe account, free
$ npx --allow-remote=root https://agentwares.vercel.app/dl/autorenew-record-0.2.0.tgz check --stripeEach 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 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.