Separate consent per channel (email, SMS, push)
Why it matters
GDPR Art. 7 requires consent to be 'specific' — consent for email marketing does not cover SMS marketing, and a single marketingOptIn boolean that authorizes all channels conflates legally distinct consent decisions. TCPA §227(b)(1)(A) requires 'prior express written consent' specifically for SMS, which is a higher bar than CAN-SPAM email consent. ePrivacy Art. 13 applies channel by channel. Practically: a user who opts into email newsletters may not want SMS promotions — collapsing both into one flag generates TCPA exposure on every marketing SMS sent to users who only checked the email box.
Severity rationale
Low because the violation requires both email and SMS marketing to be active simultaneously, but when it is, every marketing SMS sent without separate SMS consent is an independent TCPA violation.
Remediation
Add per-channel consent columns to the database and expose per-channel controls in the notification preferences UI.
-- Per-channel consent columns (default false per GDPR)
ALTER TABLE users ADD COLUMN email_marketing_opt_in BOOLEAN NOT NULL DEFAULT false;
ALTER TABLE users ADD COLUMN sms_marketing_opt_in BOOLEAN NOT NULL DEFAULT false;
ALTER TABLE users ADD COLUMN push_marketing_opt_in BOOLEAN NOT NULL DEFAULT false;
// Notification preferences — granular per channel
<form>
<label><input type="checkbox" name="emailMarketing" /> Email updates and newsletters</label>
<label><input type="checkbox" name="smsMarketing" /> SMS promotions (msg & data rates may apply; reply STOP to opt out)</label>
<label><input type="checkbox" name="pushMarketing" /> In-app promotional notifications</label>
</form>
Every outbound SMS send must check sms_marketing_opt_in, not the shared marketingOptIn column.
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 Email & SMS Compliance Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- gdpr · Art. 7 — GDPR Art. 7 — Consent must be specific to each purpose/channel
- external · TCPA-§227(b)(1)(A) — TCPA 47 U.S.C. §227(b)(1)(A) — Separate prior express written consent required per channel
- eprivacy · Art. 13 — ePrivacy Directive Art. 13 — Channel-specific consent for electronic communications
Taxons
History
- 2026-04-18·v1.0.0·Initial import from email-sms-compliance·automated