{
  "id": "CON-109",
  "slug": "con-109",
  "title": "The disclosure must sit next to the button the consumer presses",
  "statement": "The consent language must appear directly beneath the phone field or immediately above the submit control.",
  "rationale": "Consent is given at the instant of submitting, so the words that count are the ones in view at that instant. A disclosure at the top of a long form has scrolled away by the time the consumer acts, which is why the placement is specified as a position relative to the button rather than as presence on the page.",
  "layer": "CONSENT_FLOW",
  "layerSlug": "consent-flow",
  "object": "disclosure position relative to the submit control",
  "severity": "HIGH",
  "detectability": [
    "VISION"
  ],
  "failureClass": "TERMINAL_WEBSITE",
  "authorities": [
    "Klaviyo",
    "Infobip",
    "Salesmsg",
    "Quo"
  ],
  "applicability": {
    "consentMethods": [
      "web_form",
      "checkout",
      "account_settings",
      "third_party",
      "pos"
    ]
  },
  "applicabilityText": "Applies when consent was collected by web form, checkout, account settings, third party and point of sale.",
  "universal": false,
  "remediation": "Move the disclosure into the gap between the last input and the submit button. Done when a screenshot cropped to the submit button still contains the whole disclosure.",
  "pitfalls": [
    "Long forms pass on desktop and fail on mobile, where the same block falls a full screen above the button — check the narrow viewport before capturing evidence."
  ],
  "phase": "approval",
  "automated": true,
  "url": "https://ekas.io/rules/10dlc/consent-flow/con-109/",
  "markdown": "https://ekas.io/rules/10dlc/consent-flow/con-109.md",
  "registry": "https://ekas.io/rules/10dlc/",
  "updated": "2026-07-25",
  "licence": "CC BY 4.0 — https://creativecommons.org/licenses/by/4.0/"
}
