SwitchTenderSwitchTender Docs

The side door

SwitchTender governs every change that goes through it. The side door is every way a change reaches production without going through it: a person's own SSH key, a cloud console login, a script run from a laptop. No audit system records what it never saw, so the first question a security team asks is how that door closes, and what happens when something still comes through it.

The answer has three parts. Agents never get a side door. People stop needing one. What still comes through turns up.

Agents never get one

An agent holds one credential, its SwitchTender token, minted with --agent. The token is capped at operator whatever account it is bound to, so the agent can submit runs and can never approve one, manage identity or access, or manage secrets. The SSH keys, cloud logins, and vault passwords its runs use are sealed on the server and decrypted only at execution, so the agent never sees them.

An agent that holds only its SwitchTender token has no way around the gate. For that actor, the recorded history and the actual history are the same thing. The agent guide walks through the setup, and the red team transcript is the attempt to break it.

People stop needing one

A person keeps a side door open by holding a standing credential to production. SwitchTender removes the reason to hold one.

Once the keys live there, taking standing SSH and console write access away from people is a decision your organization can make without stopping work, because the gate is how the work gets done. Keep one emergency credential outside SwitchTender, sealed and logged by whatever process your security team already runs for break-glass access.

What still comes through turns up

A change made around the gate still leaves a mark. Schedule a dry run, Ansible's check mode or a Terraform or OpenTofu plan, and every check compares each host and working directory with what your automation says it should be. A config file edited by hand over SSH, or a security group changed in a cloud console, shows up as drift on the next check. One click proposes the fix, held for approval like any other change, so the repair goes back through the gate.

What this leaves

The threat model covers the rest of what the gate does and does not defend against.