Negative option enrollment — where inaction, a pre-selected default, or a bundled account-creation agreement triggers a subscription — is the original target of the FTC Negative Option Rule and California ARL. A pre-checked 'Add Pro subscription' checkbox is an opt-out mechanism masquerading as user consent. A free trial that silently converts to paid using a payment method from a prior unrelated transaction is the most-complained-about pattern in the FTC's negative option enforcement history. Both patterns are documented in the FTC Dark Patterns Report (2022) as straightforward violations.
Low because the pattern often produces technically revocable subscriptions, but its presence is a per-enrollment regulatory violation with accumulated liability proportional to subscriber count.
Audit every form in the enrollment flow for pre-selected subscription elements. Replace any defaultChecked subscription checkbox with an explicit unchecked default:
{/* BEFORE — negative option: pre-checked */}
{/* <input type="checkbox" name="addSubscription" defaultChecked /> */}
{/* AFTER — requires explicit opt-in */}
<label className="subscription-addon">
<input
type="checkbox"
name="addSubscription"
defaultChecked={false}
/>
<span>Add Pro subscription — <strong>$29/month</strong>, cancel anytime.</span>
</label>
For free-to-paid trial flows in app/api/checkout/route.ts, collect payment information at trial signup to make intent explicit. Do not convert a free account to paid using a payment method sourced from a prior unrelated transaction — that requires fresh payment authorization.
ID: subscription-compliance.enrollment.no-negative-option
Severity: low
What to look for: Check for any pattern where a user is enrolled in a subscription without taking an explicit positive action to subscribe. Common negative option patterns: (1) a free trial that auto-converts to paid without the user being required to confirm the conversion — check whether users must enter payment information at the start of the trial or only at conversion; (2) a pre-selected subscription add-on in a checkout flow that the user must actively uncheck to avoid; (3) an account setting where a "Pro features" toggle is enabled by default and the user is charged if they do not disable it; (4) a subscription enrollment buried in account creation ("By creating an account you agree to our Pro Trial which converts to $29/month"). Check any form where subscription-related checkboxes, toggles, or selections are pre-checked or pre-enabled. Count all instances found and enumerate each.
Pass criteria: No subscription enrollment occurs through inaction or pre-selected options. Every subscription requires a positive, explicit user action (checking a box, clicking a labeled subscribe button, entering payment information with clear intent). No subscription is added to a cart or order without the user specifically selecting it. At least 1 implementation must be confirmed.
Fail criteria: A subscription is pre-selected in a checkout form as a default. A free trial converts to paid without requiring any re-confirmation from the user (and without the user entering payment at trial start to make intent clear). A subscription is buried in account creation terms.
Skip (N/A) when: The application has no subscription or recurring billing.
Detail on fail: Example: "'Add Pro subscription ($29/month)' checkbox is pre-checked in the checkout flow. Users must actively uncheck it to avoid the subscription." or "Free trial requires no payment information at signup; at trial end, the system attempts to charge a payment method from a previous purchase without the user taking any action to subscribe.".
Remediation: Audit every checkout and enrollment flow for pre-selection:
// BEFORE — negative option: pre-checked subscription add-on
// <input type="checkbox" name="addSubscription" defaultChecked />
// AFTER — subscription starts unchecked; user must opt in
<label className="subscription-addon">
<input
type="checkbox"
name="addSubscription"
defaultChecked={false} // explicit: starts unchecked
/>
<span>
Add Pro subscription — <strong>$29/month</strong>, billed monthly, cancel anytime.
</span>
</label>
For free-to-paid trial flows, require payment information at trial signup (making intent explicit) and send a reminder before the trial ends. Do not silently convert a free account to paid using a payment method from a prior unrelated transaction.