Automatic renewal laws · the record to keep · updated

California's automatic renewal law (AB 2863): the record to keep for three years

AB 2863 (Chapter 515, Statutes of 2024) amended California's automatic renewal law for every contract entered into, amended or extended on or after 1 July 2025 (§ 17602(j)). Among what it makes unlawful: “Fail to maintain verification of the consumer’s affirmative consent for at least three years” (Cal. Bus. & Prof. Code § 17602(a)(6)) (read 10 October 2026), or one year after the contract ends if that is later. It also asks for an annual reminder and for notice 7 to 30 days before a price change, and none of those is kept for you: each is a record you make.

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.” (Cal. Bus. & Prof. Code § 17601(a)(4)). A customer buying for a business is not a consumer under § 17601(a)(4).

Each duty, in the statute's words

Cal. Bus. & Prof. Code §§ 17600–17606, as amended by AB 2863 (Chapter 515, Statutes of 2024); the AB 2863 amendments apply to contracts entered into, amended or extended on or after 1 July 2025 (§ 17602(j)).

Keep verification of each customer's affirmative consent for three years, or one year after the contract ends, whichever is longer

“Fail to maintain verification of the consumer’s affirmative consent for at least three years, or one year after the contract is terminated, whichever period is longer.”

Cal. Bus. & Prof. Code § 17602(a)(6)

To keep: the consent itself (when, how, and the terms and their version shown at that moment), kept until the later of three years after it and one year after the contract ends.

Get express affirmative consent to the automatic renewal terms themselves

“Fail to obtain the consumer’s express affirmative consent to the automatic renewal or continuous service offer terms.”

Cal. Bus. & Prof. Code § 17602(a)(4)

To keep: what the customer agreed to, in the words they saw, and how they agreed. Stripe Checkout's terms-of-service checkbox records that terms were accepted, not which terms. Whether it is consent to the renewal terms themselves is a question for counsel.

Send an annual reminder naming the product, the frequency and amount of the charges, and how to cancel

“A business shall send an annual reminder to a consumer under an annual automatic renewal agreement or continuous service agreement”

Cal. Bus. & Prof. Code § 17602(h)(1)

To keep: each reminder: the date sent, the medium, and its text (the product, the charges, how to cancel). The statute says annually without naming the day; this tool dates each reminder by the anniversary of the subscription's start. A plan that continues until cancelled is continuous service by § 17601(a)(5)'s words; whether a given plan is one is for counsel.

For an initial term of a year or longer, send the renewal notice 15 to 45 days before it renews

“the notice shall be provided at least 15 days and not more than 45 days before the automatic renewal offer or continuous service offer renews.”

Cal. Bus. & Prof. Code § 17602(b)(2)

When: 15 to 45 days before. To keep: each notice: the date sent, the medium, and its text.

For a free trial or promotional price lasting more than 31 days, send the notice 3 to 21 days before it ends

“The notice shall be provided at least 3 days before and at most 21 days before the expiration of the predetermined period of time”

Cal. Bus. & Prof. Code § 17602(b)(1)(A)

When: 3 to 21 days before. To keep: the notice: the date sent, the medium, and its text.

Give notice of a change in the fee 7 to 30 days before it takes effect, with how to cancel

“the business shall provide, no less than 7 days and no more than 30 days before the fee change takes effect, the consumer with both of the following:”

Cal. Bus. & Prof. Code § 17602(g)(2)

When: 7 to 30 days before. To keep: each notice: the date sent, the old and new fee, the date it takes effect, and how to cancel. It covers changes the customer consented to as well (“including changes the consumer affirmatively consented to in an existing plan or arrangement”).

Let a customer who signed up online cancel online, at will, immediately

“shall allow a consumer to terminate the automatic renewal or continuous service exclusively online, at will”

Cal. Bus. & Prof. Code § 17602(d)(1)

To keep: where the cancel link or button is, and when each cancellation was asked for and took effect.

What to keep, per subscription

Open questions, for your counsel

Stripe does not keep these for you: what Stripe keeps, and what it does not.

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