# CMP-068 — Evidence links must keep working after approval

> Hosted evidence URLs must stay reachable for the life of the campaign, not only until it is approved.

- **Rule ID:** CMP-068
- **Layer:** Campaign (`CAMPAIGN`)
- **Checks:** `hosted evidence URL`
- **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 judgement over the crawled website or policy page
- **Fix type:** Supply evidence only you hold
- **Required by:** Twilio
- **Applies:** Applies to every 10DLC registration.
- **Canonical URL:** https://ekas.io/rules/10dlc/campaign/cmp-068/

## Why this rule exists

The evidence is what you rely on when a complaint arrives, which is typically long after approval — and by then the share link has expired, the CDN path has been reorganised, or the file was cleaned up as part of a migration. Approval is the point at which everyone stops thinking about these URLs, which is precisely why they rot.

## How to fix it

Host evidence on a path you control with no expiry, and re-check the links whenever the campaign is renewed or resubmitted. Done when the URLs are somewhere your own retention policy protects rather than in a share link.

## Common mistakes

- A cloud-drive share link is the common failure: many expire on a schedule, and revoking one person's access can silently break it for everyone.

## Notes

Partly off-platform: we can fetch the URLs at scan time, but nobody can verify at registration that they will still resolve in a year. The user has to put the files somewhere durable and re-check them at renewal — the research marks the ongoing-monitoring half as an inference rather than a published rule, so it is surfaced as a warning with the check the user should run themselves, not as a finding against the submission.
