--- id: RT-GATE-14 family: RT-GATE level: core profiles: [runtime, storage-api] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-gate/rt-gate-14 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # RT-GATE-14 — Confirmation governance is its own grant *RT-GATE (Part II) · level: core · profiles: runtime, storage-api · added in 1.0* Being able to rename a node type must not imply being able to disarm its gate. And an actor who cannot see the setting must not be able to change it by saving the form it is hidden from. ## The rule > **Normative.** This is the rule. > > 1. Confirmation governance is controlled by a dedicated administrative authority, separate from the authority to administer node types, and restricted. > > 2. Where an actor does not hold it, the governance settings are not shown, and a save by that actor must leave the stored governance mapping byte-identical: a setting that was never stored stays unstored, so the node type keeps deriving its requirement (RT-GATE-7). > > 3. The strength of the gate is exactly the strength of who holds this authority and who may edit workflows. ## What it means The authority to administer node types does not carry this one. An actor who can rename, recategorise or otherwise edit a node type still cannot touch its confirmation governance without the separate, dedicated authority — and without it, the governance controls are not merely disabled, they are not shown at all. The clause a careful reader would miss is what happens to the rest of the save. An actor without the authority can still save the node type for everything the form does show them; the governance mapping simply has to survive that save untouched, byte for byte, rather than being silently reset to whatever the hidden controls would have defaulted to. ## Example A node type's stored governance before either actor saves it: ```json title="The stored governance before a save" verdict="stored" { "policy": "ask", "author_controls": ["require"], "dynamic_controls": ["require"] } ``` An actor without the dedicated authority still saves the node type — the label changes, the governance does not: ```json title="What that save is still allowed to change" verdict="renamed" { "label": "Renamed Gated Type" } ``` The stored governance above is exactly what a second read of that node type returns afterward. ## Related rules - Names: RT-GATE-7, RT-GATE-8 --- Rule identifiers are permanent and are never renumbered. This specification carries no implementation status: each implementation publishes its own standing against these rules. Licensed CC BY 4.0.