# CON-071 — The decline path must be as usable as the accept path

> The control that lets a consumer skip or decline messaging must not be disabled, greyed out, or hidden.

- **Rule ID:** CON-071
- **Layer:** Consent flow (`CONSENT_FLOW`)
- **Checks:** `decline/skip control rendering`
- **Severity:** HIGH — Rejected by at least one carrier or provider, and a common cause of failure at the rest.
- **When it bites:** Gates approval — get this wrong and registration is refused
- **How it is detected:** AI vision over a consent artifact (screenshot, scan, MMS media)
- **Fix type:** Fix the website — no form edit clears it
- **Required by:** Twilio, FCC
- **Applies:** Applies when consent was NOT collected by live verbal, IVR, text-to-join keyword, QR code and imported list.
- **Canonical URL:** https://ekas.io/rules/10dlc/consent-flow/con-071/

## Why this rule exists

A greyed-out "No thanks" is a refusal the interface has already made for the consumer, and it produces opt-ins that look voluntary in the data and were not. Design teams reach for the muted style to steer people toward the primary action without realising that here the primary action is a legal consent, where steering is the violation.

## How to fix it

Render the decline control enabled, at a legible contrast, and in the same visual weight class as the accept control. Keep it in the same place on the screen — a "No thanks" moved below the fold is hidden even when it is styled correctly.

## Common mistakes

- Making the decline control a plain text link beside a large button is the usual compromise, and it is normally accepted; making it grey-on-grey or 10px is not.

## Provider rejection codes

| Provider | Code | Resubmission allowed |
| --- | --- | --- |
| Twilio (gen2) | `30931` | yes |

## Notes

Excluded from the methods where declining means simply not acting — a caller who says no, a consumer who never texts the keyword, a code nobody scans. There is no rendered control to grey out, so the rule would be asking a question the registration cannot answer. The catalog states the same carve-out as CON-069's method list.
