{
  "id": "CON-IVR-CONFIRM",
  "slug": "con-ivr-confirm",
  "title": "IVR opt-in must capture an unambiguous confirmation step",
  "statement": "An IVR flow must require a distinct keypress or spoken confirmation specifically for messaging consent.",
  "rationale": "In an automated menu it is trivially easy for a caller to reach the end of a flow without having agreed to anything in particular. A dedicated confirmation step is what makes the resulting log entry mean \"yes to texts\" rather than \"completed the call\".",
  "layer": "CONSENT_FLOW",
  "layerSlug": "consent-flow",
  "object": "campaign.message_flow",
  "severity": "HIGH",
  "detectability": [
    "AI_FORM"
  ],
  "failureClass": "TERMINAL_ARTIFACT",
  "artifact": "ivr_script",
  "authorities": [
    "TCR",
    "FCC"
  ],
  "applicability": {
    "consentMethods": [
      "verbal_ivr"
    ]
  },
  "applicabilityText": "Applies when consent was collected by IVR.",
  "universal": false,
  "remediation": "Add a dedicated consent step with its own keypress, after the disclosure has been read, and log the keypress with a timestamp.",
  "example": "\"To agree to receive recurring automated text messages from Acme Coffee at this number — message frequency varies, message and data rates may apply, reply STOP to cancel — press 1 now. To continue without text messages, press 2.\"",
  "catalogIds": [
    "CON-157"
  ],
  "phase": "approval",
  "automated": true,
  "url": "https://ekas.io/rules/10dlc/consent-flow/con-ivr-confirm/",
  "markdown": "https://ekas.io/rules/10dlc/consent-flow/con-ivr-confirm.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
