{
  "id": "OPS-090",
  "slug": "ops-090",
  "title": "Check the number is a live mobile before paying to send to it",
  "statement": "Destination numbers should be validated as real, active mobile numbers before sending, since platforms bill accepted requests regardless of delivery.",
  "rationale": "Billing happens on acceptance, not delivery, so a list full of landlines, disconnected numbers and typos costs money on every send and returns nothing. It is also a quality signal the carriers read: a high proportion of invalid destinations is one of the shapes that distinguishes a purchased list from an organic one, so the waste and the reputational damage arrive together.",
  "layer": "OPERATIONAL",
  "layerSlug": "operational",
  "object": "destination number validation",
  "severity": "MEDIUM",
  "detectability": [
    "EXTERNAL_DATA"
  ],
  "failureClass": "TERMINAL_EXTERNAL",
  "authorities": [
    "AWS"
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Run a lookup against the list before a large send and drop landlines, invalid formats and disconnected numbers. Done when the invalid rate on a send is measured rather than assumed.",
  "example": "Pre-send lookup: 40,000 numbers → 38,900 mobile, 700 landline, 400 invalid → send to 38,900.",
  "notes": "A paid per-number lookup at the provider. What the user has to weigh is the lookup cost against the per-message cost of sending to numbers that cannot receive — for a list built from typed-in phone fields the lookup usually pays for itself on the first send.",
  "phase": "post",
  "automated": false,
  "attestation": {
    "question": "Is the invalid rate on your sends measured, rather than assumed?",
    "howToCheck": [
      "Run a lookup against the list before a large send and drop landlines, invalid formats and disconnected numbers.",
      "Weigh the per-number lookup cost against the per-message cost of sending to numbers that cannot receive — for a list built from typed-in phone fields it usually pays for itself on the first send."
    ],
    "failureLooksLike": "Billing happens on acceptance, not delivery, so the waste is invisible in the delivery metrics. A high proportion of invalid destinations is also one of the shapes that distinguishes a purchased list from an organic one."
  },
  "url": "https://ekas.io/rules/10dlc/operational/ops-090/",
  "markdown": "https://ekas.io/rules/10dlc/operational/ops-090.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
