{
  "id": "BRD-181",
  "slug": "brd-181",
  "title": "A CSP has a default cap on how many brands it may register",
  "statement": "A CSP must not exceed the default cap of 1,000 registered brands without requesting an increase.",
  "rationale": "The cap is on the registering party rather than on any customer, so it is invisible to everyone whose brand is refused by it — a growing platform hits the ceiling and its next fifty customers see a rejection that has nothing to do with them. The increase is granted on request, which makes this pure operational hygiene: ask before you arrive.",
  "layer": "BRAND",
  "layerSlug": "brand",
  "object": "the CSP brand count",
  "severity": "MEDIUM",
  "detectability": [
    "DETERMINISTIC"
  ],
  "failureClass": "TERMINAL_EXTERNAL",
  "authorities": [
    "TCR"
  ],
  "codes": [
    {
      "provider": "Twilio",
      "code": "30712",
      "remediable": true
    }
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Track the brand count against the 1,000 cap and request an increase from TCR while there is headroom. Done when the increase is granted before the count reaches the ceiling rather than after registrations start failing.",
  "notes": "Absorbs OPS-364, which states the brand and campaign quotas together — BRD-182 is the per-brand half. The count belongs to the registering CSP rather than to any registration, so where it is not reported this reads as PASS with the cap stated: nothing in the submission indicates a breach, and the operator has to watch the number themselves.",
  "catalogIds": [
    "OPS-364"
  ],
  "phase": "approval",
  "automated": true,
  "attestation": {
    "question": "Do you know your CSP brand count against the 1,000 cap, and have you requested an increase while there is still headroom?",
    "howToCheck": [
      "Track the count. It belongs to the registering party rather than to any customer, so nothing in a rejection will attribute it.",
      "Request the increase from TCR before the ceiling, not after registrations start failing — it is granted on request."
    ],
    "failureLooksLike": "A growing platform hits the ceiling and its next fifty customers see a rejection that has nothing to do with them."
  },
  "url": "https://ekas.io/rules/10dlc/brand/brd-181/",
  "markdown": "https://ekas.io/rules/10dlc/brand/brd-181.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
