Security
ECP (Execution Control Protocol) keeps secrets out of portable graphs and treats third-party plugins as untrusted until you approve them.Secrets
Never put live values in workflow files, environment files, or git. Reference secrets withsecrets("key"). Resolve them through:
- OS keychain (Node host)
- Process env (
process-env) - CI secrets
Plugins
ecp plugins install <name> installs a first-party package without a prompt. Third-party plugins require explicit approval (ECP_PLUGIN_DENIED if you refuse). Source installs (--allow-source) are a separate trust decision.
Registry-control (always on in the CLI host) pins which ids may load.
Policies
Attach budget, approval, and state-control so a run pauses or fails instead of spending or mutating without a check. Failures surface asECP_POLICY_DENIED or ECP_RUN_PAUSED.
What not to do
- Do not commit
.envfiles with live keys. - Do not pass secret values as step inputs.
- Do not install a third-party plugin because a prompt asked you to.