{
  "id": "POL-003",
  "slug": "pol-003",
  "title": "An uploaded policy document must fit the provider file constraints",
  "statement": "Where a policy is uploaded rather than linked, the file must be a PDF, PNG or JPEG within the tightest provider size cap.",
  "rationale": "Uploading is the sanctioned route for a brand with no website or an offline opt-in, and the caps differ by an order of magnitude — 500 KB at AWS against 10 MB at TCR — so a file that uploads cleanly at one destination is rejected at another with an error about the campaign rather than about the file. A scanned policy from an office printer is several megabytes without anyone intending it to be.",
  "layer": "POLICY_PAGE",
  "layerSlug": "policy-page",
  "object": "campaign policy document upload",
  "severity": "BLOCKING",
  "detectability": [
    "DETERMINISTIC"
  ],
  "failureClass": "RETRY_FIELD",
  "authorities": [
    "AWS",
    "TCR",
    "Bandwidth",
    "Telnyx"
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Re-export the document as a PDF under 500 KB — print to PDF rather than scanning, or downsample the scan to 150 dpi — and re-upload. Done when the file is one of PDF, PNG or JPEG and under half a megabyte.",
  "example": "acme-privacy-policy.pdf · application/pdf · 210 KB",
  "pitfalls": [
    "A hosted URL is preferred wherever a website exists; WEB-054 fails a PDF that stands in for a page the brand could have published."
  ],
  "notes": "Applies only where a document was uploaded, which no applicability dimension expresses — the check passes immediately when the registration carries none. The 500 KB ceiling is AWS's, taken as the tightest cap so a submission survives a destination that has not been chosen yet.",
  "phase": "approval",
  "automated": true,
  "url": "https://ekas.io/rules/10dlc/policy-page/pol-003/",
  "markdown": "https://ekas.io/rules/10dlc/policy-page/pol-003.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
