# CMP-028 — Opt-in evidence must be a JPG, PNG or PDF under 500 KB

> Uploaded opt-in evidence must be a JPG, PNG or PDF file no larger than 500 KB.

- **Rule ID:** CMP-028
- **Layer:** Campaign (`CAMPAIGN`)
- **Checks:** `campaign opt-in evidence upload`
- **Severity:** BLOCKING — Breaking this rule gets the submission rejected outright.
- **When it bites:** Gates approval — get this wrong and registration is refused
- **How it is detected:** Deterministic (settled in code from the submitted values)
- **Fix type:** Supply evidence only you hold
- **Required by:** AWS, TextUs
- **Applies:** Applies to every 10DLC registration.
- **Canonical URL:** https://ekas.io/rules/10dlc/campaign/cmp-028/

## Why this rule exists

The upload field rejects anything else outright, and the two formats people actually reach for are the two that fail: a phone screenshot saved as HEIC, and a full-resolution PNG straight off a retina display that is several megabytes. Both look like ordinary screenshots to the person attaching them, so the rejection reads as arbitrary.

## How to fix it

Export the screenshot as PNG or JPG — on iOS, change Settings › Camera › Formats to "Most Compatible", or open the file and re-save it — and shrink it below 500 KB by cropping to the consent surface rather than the whole page. Done when the file opens in a browser and its size reads under 500 KB.

## Common mistakes

- Cropping to reduce the size is the right move only until it cuts off the disclosure text; a small screenshot that no longer shows what the consumer agreed to trades this failure for a worse one.

## Notes

Verbatim from the AWS campaign registration form: "The supported file type are PNG, JPEG, and PDF and the maximum file size is 500KB." Size is checked only where the registration carries upload metadata; a bare hosted URL gives us the file type from its extension and nothing about its weight, and the check says which of the two it settled rather than implying it checked both.
