# A frozen layout doesn’t freeze the content: working under a design veto

Does a design layout veto prevent content and data improvements across a publishing pipeline? When stakeholders freeze legacy page layouts, tangled document templates lock prose and data edits.

Enters layer-isolated architecture. Separating templates, editorial prose, and structured YAML data restricts design vetoes strictly to the visual presentation layer.

## Organizational design constraints

Stakeholders frequently refuse visual layout updates to maintain audience familiarity. In tangled authoring systems, visual layout freezes prevent prose edits because typography and text live in single files.

Decoupling layout templates from data sources confines design constraints strictly to visual geometry.

## Layer isolation scope

Decoupling authoring layers isolates visual vetoes:

| Layer | Status under the veto | What I did with it |
|---|---|---|
| **Form** (template, geometry) | Frozen by decision | Untouched: exactly as required |
| **Boilerplate content** (editorial prose) | Free | Clarified terminology, active voice, inclusive glosses |
| **Data** (facts: dates, contacts, prices) | Free | Corrected a dead URL, normalized phone numbers |
| **Generation** (the script) | Free | Added per-language phone formatting |

Visual templates remain frozen while underlying content and data layers continue to evolve.

The veto stops at one box. The other three keep moving.

## Content layer modifications

Updating explanatory text surrounding calendar grids improves clarity without altering visual column geometry:

- **Inclusive glosses:** Adding explicit parenthetical definitions for internal jargon.
- **Active voice:** Converting passive descriptions into direct procedural instructions.
- **Term normalization:** Standardizing section headings and terminology across chapters.

Text reflows cleanly inside predefined template boundaries.

## Data presentation rules

Single-sourced phone numbers format dynamically based on target audience locales:

| Number's home country | French edition | English edition | Spanish edition |
|---|---|---|---|
| France | national (`0X …`) | `+33 …` | `+33 …` |
| Spain | `+34 …` | `+34 …` | national |
| Québec (Canada) | `+1 …` | `+1 …` | `+1 …` |

Generation scripts format single YAML data entries for international audiences at build time without modifying underlying templates.

Decoupling form, content, and data protects ongoing editorial improvements from design disagreements. The next step is adding automated regression checks to verify that content edits never exceed frozen template layout boundaries.

## Key takeaways

## External sources

- [Separation of concerns](https://en.wikipedia.org/wiki/Separation_of_concerns)
- [Single source of truth](https://en.wikipedia.org/wiki/Single_source_of_truth)
- [E.164, the international phone number format](https://en.wikipedia.org/wiki/E.164)

<small>*Hero image: ["Dutch Countryside Farm old Gate"](https://www.flickr.com/photos/sabeel_media/52124203902) by [Sabeel Media](https://www.flickr.com/photos/sabeel_media/), licensed under [CC BY-NC-SA 2.0](https://creativecommons.org/licenses/by-nc-sa/2.0/).*</small>

---

Source: https://redaction-technique.org/frozen-layout-free-content
