# Gates

A gate is a step that stops a pipeline until something answers it. A data gate is
answered by data: its predicate reads an earlier step's output and passes the moment
that step finishes, or stops the pipeline when it is false. A person gate is answered
by a person: the pipeline pauses, the approval card shows the fields the pipeline
named in `show:`, and the next step runs only after someone approves.

An operator can also carry its own gate. `artifact/promote` and `monitor/propose`
declare that they need approval, so they wait for a person even when the pipeline
author did not put a gate in front of them. A pipeline can add a gate; it can never
remove one an operator declares.
