A hosted artifact is required when the opt-in is not publicly crawlable
The requirementstatement
Where the opt-in surface is login-gated, unpublished, on paper, verbal, or in-store, a publicly hosted screenshot URL is required in the message flow.
- Severityseverity
- BlockingBLOCKINGBreaking this rule gets the submission rejected. There is no partial credit.
- When it bitesphase
- Gates approvalapprovalGet this wrong and the brand or campaign is refused at registration.
- What is checkedobject
- campaign.message_flow + consent artifact
- Where it liveslayer
- CampaignCAMPAIGN
- How Ekas settles itdetectability
- DeterministicDETERMINISTIC
- Settled in code from the values you submitted. No model involved, no judgement call, same answer every time.
- What the fix involvesfailureClass
- Supply evidenceTERMINAL_EVIDENCE
- Needs proof only you hold: a screenshot, a recording, a scan of the form people signed.
- Who requires itauthorities
- TCRTwilioBandwidthAWS
- When it appliesapplicabilityText
- Applies when consent was collected by live verbal, IVR, paper form, point of sale, employer / HR and account settings.
Why this rule existsrationale
How to fix itremediation
Host the evidence at a public URL that opens without a login and cite it in the message flow. Confirm it opens in a private browsing window before submitting.
A compliant exampleexample
Consent screenshot: https://cdn.acmecoffee.com/compliance/counter-form.pdf
Rules you will hit next
5 other rules read campaign.message_flow + consent artifact. Fixing one field to satisfy a single rule is how a resubmission trades one rejection for another, so read these before you change anything.
CMP-065 is one of 94 campaign rules in the 915-rule 10DLC registry. Free to cite under CC BY 4.0.