{
  "id": "MSG-019",
  "slug": "msg-019",
  "title": "Each MMS sample file must sit under its per-type size ceiling",
  "statement": "Every attached MMS sample file must be at most 500 KB for GIF, JPEG and PNG images, and at most 600 KB for any other media type.",
  "rationale": "The ceiling is the handset's, not the reviewer's: an oversized MMS is transcoded or dropped somewhere in the carrier chain, so the recipient gets a broken message and the sender never learns why. Registration rejects it up front instead. This catches out businesses who attach the print-resolution asset their designer handed over, because nothing about a 3 MB PNG looks wrong until it is measured.",
  "layer": "MESSAGE_CONTENT",
  "layerSlug": "message-content",
  "object": "campaign.mms_sample_media",
  "severity": "BLOCKING",
  "detectability": [
    "DETERMINISTIC"
  ],
  "failureClass": "RETRY_FIELD",
  "authorities": [
    "AWS"
  ],
  "codes": [
    {
      "provider": "AWS",
      "code": "INVALID_FIELD_VALUE",
      "remediable": true
    }
  ],
  "applicability": {
    "attributes": {
      "mmsEnabled": true
    }
  },
  "applicabilityText": "Applies when `mmsEnabled` is true.",
  "universal": false,
  "remediation": "Re-export each attachment under its ceiling — 500 KB for GIF, JPEG and PNG, 600 KB for everything else — and re-upload. Resizing to 1200 px on the long edge and exporting at 80% JPEG quality clears it for almost any promotional image. Done when every file in the sample media list reports a size below its own limit.",
  "example": "acme-summer-sale.png re-exported at 1200x628 → 214 KB (limit 500 KB for PNG).",
  "pitfalls": [
    "The tighter 500 KB bound is keyed on the file type, not on it being an image: a WebP or a short MP4 gets the 600 KB allowance, a PNG does not."
  ],
  "phase": "approval",
  "automated": true,
  "url": "https://ekas.io/rules/10dlc/message-content/msg-019/",
  "markdown": "https://ekas.io/rules/10dlc/message-content/msg-019.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
