The FTC's 'clear and conspicuous' standard for negative option disclosures has a functional definition: a reasonable consumer must notice and understand the terms in the normal course of browsing. Disclosing auto-renewal in 10px gray footnote text, behind a collapsed accordion, or inside a linked Terms of Service satisfies none of that standard. Both FTC Negative Option Rule (2025) and California ARL treat buried disclosures as equivalent to no disclosure — the location and presentation are part of the legal compliance, not just the presence of the text.
Medium because buried-but-present disclosure creates regulatory exposure and chargeback risk, but a detectable fix (CSS and placement changes) avoids the full-enforcement triggers that absent disclosure attracts.
Move subscription disclosures to inline body text adjacent to the CTA, meeting minimum readability thresholds. Replace buried footnotes with a paragraph immediately below the subscribe button in components/PricingCard.tsx:
{/* BEFORE — fails clear-and-conspicuous standard */}
<button>Subscribe</button>
<p style={{ fontSize: '10px', color: '#999' }}>* See <a href="/terms">terms</a> for billing details</p>
{/* AFTER — meets FTC standard */}
<button type="button">Subscribe — $29/month</button>
<p className="text-sm text-gray-700 mt-2">
Billed monthly. Renews automatically. Cancel anytime from account settings.
</p>
Minimum thresholds: font-size ≥12px, color contrast ≥4.5:1 (WCAG AA), placement within 32px of the CTA, no interaction (hover, click, expand) required to reveal the text.
ID: subscription-compliance.pre-purchase.material-terms-visible
Severity: medium
What to look for: Read the pricing page and checkout UI looking specifically for disclosure patterns that technically include required information but place it where a normal user would not read it. Look for: (1) asterisks or footnotes that require scrolling to see, (2) subscription terms disclosed only in a linked Terms of Service or "Learn more" popover, (3) auto-renewal information in 8px gray text below the fold, (4) "billed annually" disclosure that only appears on hover over the price, (5) terms toggled behind a collapsed accordion or "View details" link. The FTC's negative option rule and California's ARL both require material terms to be presented in a "clear and conspicuous" manner — this has a functional definition: a reasonable consumer would notice and understand the disclosure in the normal course of browsing. Check font size, contrast ratio (does the disclosure pass WCAG AA for contrast?), and placement relative to the action button.
Pass criteria: Subscription material terms (billing frequency, auto-renewal, trial conversion behavior) are presented in body text at a readable font size and contrast level, above or adjacent to the CTA button, without requiring additional user actions to reveal. No material terms are accessible only through links, footnotes, or collapsed elements. At least 1 implementation must be confirmed.
Fail criteria: Key terms are in a footnote requiring a scroll. Terms are only accessible via a "Terms of Service" link. Auto-renewal disclosure is in light gray text below the fold. Billing frequency only appears inside an FAQ accordion.
Skip (N/A) when: The application has no subscription or recurring billing.
Detail on fail: Specify what is buried and where. Example: "'Renews automatically' disclosed only in footnote below the fold at 10px gray text. Not visible at CTA button level." or "Auto-renewal notice exists only as a hyperlink to Terms of Service, not as inline text visible during checkout.".
Remediation: Apply the "clear and conspicuous" standard in your CSS and layout. Terms must meet these practical thresholds:
{/* BEFORE — buried disclosure */}
<button>Subscribe</button>
<p style={{ fontSize: '10px', color: '#999' }}>
* See <a href="/terms">terms</a> for billing details
</p>
{/* AFTER — clear and conspicuous disclosure */}
<button type="button">Subscribe — $29/month</button>
{/* Disclosure immediately below the CTA, readable size and contrast */}
<p className="text-sm text-gray-700 mt-2">
Billed monthly. Renews automatically on the same date each month.
Cancel anytime from your account settings.
</p>
CSS guidance for the disclosure paragraph:
<details>, tooltip, or modal