The core guarantee
Your customer signs an approval for a specific request. Before supplying a credential, the appliance controller verifies the approval against your customer’s pinned public key and checks the signed request. A connector session also requires your customer to review and apply its connector bundle using their own cloud credentials.Trust model
The control plane coordinates access; authority in your customer’s account remains with the customer and appliance controller:- The vendor control plane coordinates the workflow (it relays the request and the approval, drives the session). It is not trusted to grant access on its own.
- The appliance controller, running inside your customer’s account under their IAM, checks the pinned signing key and request before supplying a credential.
- Your customer reviews the connector bundle and applies it with their own cloud credentials. A relayed approval alone does not deploy that infrastructure.
The approval is customer-signed
Break glass uses the same customer-signed approval mechanism as operations: your customer signs with an Ed25519 private key that lives in their own environment and never travels to your control plane, and the appliance controller verifies against a public key your customer has pinned into the controller’s secret store. If your customer has already set up signing for operations, no second signing keypair is needed. The mechanics of that keypair (how it’s generated, where the private key lives, how the public key is pinned, and how to rotate it) are documented in the operations security model. Rather than restate them, this page covers what’s specific to break glass.What the approval binds
A break glass approval is a signature over an explicit, fixed set of request fields, not a blanket grant. The signed set is what defines what your customer is consenting to:
The current approval format signs these request fields. Changing them
alters the signed bytes and fails verification. Before brokered minting,
the controller checks the request digest, signature and pinned key; for
a credential recipe, it also checks the code it actually loaded against
the approved code hash and uses the signed inputs.
The approval endpoint accepts approval only while the request is pending
and rejects repeated approval. Mint freshness checks depend on the
credential path; they are not one universal short window. Cleanup can
reuse a signed recipe approval for its revoke action. These checks do
not make the signature itself a universally single-use credential.
When the credential is produced by an operational command, the approval
binds the exact command and its inputs, and the appliance controller
re-checks that the command it’s about to run is exactly the one your
customer approved before it runs anything. See
operations security for how
command approval and integrity are signed and verified.
Least privilege and time-boxing
A request selects one resource and an approved session duration:- Resource and privilege. Brokered minting checks the signed target and privilege. An out-of-band credential can have permissions beyond that request; its existing authorization remains separately managed.
- Session duration. The session clock starts at Active, after required access is ready. A credential’s own expiry is separate: a Kubernetes token has a native expiry and may be capped below the session duration. A recipe credential may have no native expiry and rely on its revoke action instead.
No standing or stored credentials
Credential handling depends on the source:- Controller-minted credentials are created for the session. An approved recipe can generate a credential or fetch one that already exists; it is not necessarily a fresh identity.
- Transient control-plane delivery. A supplied credential is held in memory for one fetch and consumed on read. It is not persisted as credential material on the session record. This does not guarantee that no secret reaches disk or logs inside the customer’s environment: recipes use temporary output files, and local diagnostics can contain recipe output.
- Expiry where supported. Native expiry is a safeguard for credential types that implement it. It does not replace cleanup or apply to every recipe credential.
- Cleanup attempts. At session end, break glass attempts to revoke the credential and network access it supplied. Your customer also destroys any connector bundle they applied.
Temporary network paths
A connector session uses a reviewed network placement and per-session provider access. Your customer applies the connector bundle in their account. At session end, break glass attempts to remove the provider access, and your customer destroys that bundle. A shipped-bundle session requires teardown confirmation before the controller records Ended; this is distinct from independent proof that every resource is gone. Network-level access control within your own network remains governed by your network configuration. For Tailscale, that means your tailnet’s ACLs, which you control; scope them to match the access you intend break glass sessions to have. See Network providers for how each provider’s path is configured.Fail-closed
If the controller cannot verify a brokered mint approval, it does not mint the credential. A session does not become Active until the access it needs is ready. These admission checks do not prove that a failed preparation attempt left no resources behind. Cleanup is a separate process. Reported failures are retried and can fail with an alert; a credential self-expires only where its type supports expiry. The recorded session state is not independent evidence that every identity or resource was deleted. Follow up on reported failures and residual resources.Audit
The request, your customer’s signed approval, and teardown are recorded; credential delivery is logged on a best-effort basis. The customer-signed approval is the durable, non-repudiable evidence of consent: an Ed25519 signature over the fixed set of approved fields, preserved on the session record and re-verifiable in principle against the customer’s pinned public key. It is the same approval primitive operations uses, though the turnkeytensor9 ops command audit verify tool is specific to operations
commands and does not cover break glass sessions today.
Related
- How break glass works: the two-plane model these guarantees apply to.
- Requesting access: the session lifecycle each guarantee attaches to.
- Operations security model: the shared customer-signed approval keypair, signing, and audit mechanics.