{
  "id": "BRD-207",
  "slug": "brd-207",
  "title": "Campaigns cannot be submitted while vetting is in review",
  "statement": "A campaign must not be submitted while the brand's vetting is still in review.",
  "rationale": "The campaign is evaluated against the brand's standing at the moment it arrives, so one submitted mid-review is judged against an unfinished brand and refused — and the refusal names the campaign, which sends people to rewrite copy that was never the problem. Teams do it because the vet takes days and the campaign is ready now.",
  "layer": "BRAND",
  "layerSlug": "brand",
  "object": "the vet state",
  "severity": "BLOCKING",
  "detectability": [
    "DETERMINISTIC"
  ],
  "failureClass": "TERMINAL_EXTERNAL",
  "authorities": [
    "AWS"
  ],
  "applicabilityText": "Applies to every 10DLC registration.",
  "universal": true,
  "remediation": "Wait for the vet to reach a final state before submitting the campaign. Subscribe to the brand status event (BRD-194) rather than polling, so the campaign goes in the moment the brand is ready instead of the next time somebody checks.",
  "notes": "The wait is at the vetting provider and nothing on our side shortens it. What the user has to do is sequence the two submissions — brand first, campaign after the vet lands — because a campaign refused for this reason still consumes a submission and, on some providers, a fee.",
  "phase": "approval",
  "automated": true,
  "attestation": {
    "question": "Has the brand's vet reached a final state, rather than still being in review, at the moment the campaign goes in?",
    "howToCheck": [
      "Read the vet status on the brand immediately before submitting the campaign.",
      "Subscribe to the brand status event rather than polling, so the campaign goes in the moment the brand is ready instead of the next time somebody checks."
    ],
    "failureLooksLike": "The campaign is ready and the vet takes days, so it is submitted anyway. The refusal names the campaign, and copy that was never the problem gets rewritten."
  },
  "url": "https://ekas.io/rules/10dlc/brand/brd-207/",
  "markdown": "https://ekas.io/rules/10dlc/brand/brd-207.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
