Granular AI feature opt-in controls exist
Why it matters
GDPR Article 7 requires that consent be as specific as the processing activity — a blanket "I agree to AI" toggle does not meet the granularity standard when your product uses AI for distinct purposes (writing assistance, history saving, analytics, model training opt-in). CCPA §1798.120 gives consumers the right to opt out of specific categories of data sale or sharing. A single on/off switch forces users into an all-or-nothing choice, reducing trust and limiting your ability to demonstrate specific lawful bases for each processing activity.
Severity rationale
Medium because a monolithic AI toggle limits compliance defensibility under GDPR Art. 7 and erodes user trust, but does not by itself enable unauthorized data access.
Remediation
Design AI settings with distinct, labeled controls for each processing activity. Store them as separate boolean fields so each has its own consent record.
// types/user-settings.ts
interface UserAiSettings {
ai_chat_enabled: boolean // AI responds to messages
ai_history_saved: boolean // Conversation history persisted
ai_usage_analytics: boolean // Usage included in aggregate analytics
ai_training_opt_out: boolean // Opt out of provider model training
}
Present these in a dedicated "AI & Privacy" settings section with plain-language descriptions — not legal prose — explaining what each toggle controls and what stops when it is disabled. Log the timestamp of each change for your consent audit trail.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the AI Data Privacy Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- gdpr · Art. 7 — Conditions for consent — freely given, specific, informed
- ccpa · §1798.120 — Right to opt-out
- nist-ai-rmf:1.0 · MANAGE 4.1 — Post-deployment risk controls including user opt-out
Taxons
History
- 2026-04-18·v1.0.0·Initial import from ai-data-privacy·automated