# POL-243 — Mark every unverified variable and block export until it is resolved

> Every unverified variable in a generated draft must be visibly marked, and export must be blocked until each is resolved.

- **Rule ID:** POL-243
- **Layer:** Policy pages (`POLICY_PAGE`)
- **Checks:** `draft policy placeholder tokens`
- **Severity:** HIGH — Rejected by at least one carrier or provider, and a common cause of failure at the rest.
- **When it bites:** Gates approval — get this wrong and registration is refused
- **How it is detected:** Human check — only someone holding the document can settle it
- **Fix type:** Produce a document that does not exist yet
- **Required by:** TCR
- **Applies:** Applies to every 10DLC registration.
- **Canonical URL:** https://ekas.io/rules/10dlc/policy-page/pol-243/

## Why this rule exists

The alternative to marking is guessing, and a guessed retention period ships as a fact — so the marker is what keeps POL-242 enforceable rather than aspirational. The published-document version of this failure is trivially detectable and embarrassingly common: a live policy with {{COMPANY_NAME}} still in it, which is what happens when a draft is exported past its own placeholders.

## How to fix it

Leave every unconfirmed value as a visible token rather than a plausible default, and resolve each before publishing. Done when a search of the draft for "{" and "[" returns nothing.

## Check this yourself

**Does a search of this draft for "{" and "[" return nothing?**

1. Search the draft for both characters before publishing.
2. Resolve each marked variable with a value somebody confirmed, rather than a plausible default.
3. Do not publish while any marker remains.

*What wrong looks like:* A live policy with {{COMPANY_NAME}} still in it — trivially detectable, embarrassingly common, and what happens when a draft is exported past its own placeholders.

## Notes

The publication-side twin is POL-156, which fails a live page carrying tokens; this is the gate before that page exists. We hold no draft, so the user owns it: do not publish a generated document until every marked variable has been replaced with a value somebody confirmed.
