{
  "id": "OPS-135",
  "slug": "ops-135",
  "title": "Do not spread one message across many numbers",
  "statement": "Similar or identical content must not be distributed across many sending numbers to dilute per-number reputation or evade filtering.",
  "rationale": "Filtering is scored per originator, so splitting a send across ten numbers gives each one a tenth of the complaint rate and a tenth of the volume — which is the entire mechanism, and the carriers named it before anybody built a product around it. The innocent version is indistinguishable from the outside: a brand whose sends were slow buys more numbers to go faster, and is now doing exactly what the rule prohibits. It carries a four-figure pass-through fee rather than a rejection, so the first signal is an invoice.",
  "layer": "OPERATIONAL",
  "layerSlug": "operational",
  "object": "outbound traffic distribution across numbers",
  "severity": "BLOCKING",
  "detectability": [
    "UNDETECTABLE_PRE_SUBMISSION"
  ],
  "failureClass": "HARD_STOP",
  "authorities": [
    "T-Mobile",
    "AT&T",
    "CTIA",
    "Twilio",
    "Telnyx",
    "AWS",
    "Vonage",
    "Sinch",
    "Plivo"
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Route similar content through one registered originator, or request an approved number pool for the campaign so the distribution is declared rather than discovered. Where throughput is the real constraint, raise it through vetting rather than through number count.",
  "pitfalls": [
    "Needing more throughput is a legitimate problem with a legitimate answer — a registered number pool, or a higher-tier brand vet — and neither of them is more numbers quietly added to a campaign."
  ],
  "notes": "Absorbs MSG-138, the same prohibition from the message-content side. A traffic shape we cannot observe. What the user has to check is how many numbers their campaign actually sends from and whether a pool was ever approved for it — OPS-POOL-DECLARED covers the registration-side declaration, and OPS-136 catches the duplicate-campaign version of the same pattern before submission.",
  "catalogIds": [
    "MSG-138"
  ],
  "phase": "post",
  "automated": false,
  "attestation": {
    "question": "How many numbers does this campaign actually send from, and was a pool ever approved for it?",
    "howToCheck": [
      "Count the originators on the campaign, then ask your provider whether an approved number pool is on record.",
      "Where throughput is the real constraint, raise it through vetting rather than through number count.",
      "Route similar content through one registered originator otherwise."
    ],
    "failureLooksLike": "A brand whose sends were slow buys more numbers to go faster and is now doing exactly what the rule prohibits. It carries a four-figure pass-through fee rather than a rejection, so the first signal is an invoice."
  },
  "url": "https://ekas.io/rules/10dlc/operational/ops-135/",
  "markdown": "https://ekas.io/rules/10dlc/operational/ops-135.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
