Deployments

Where the agent runs decides where its identity comes from

The flows are the same everywhere. What changes with the runtime is the starting credential: what the platform can vouch for, where a secret could safely live, and who can see the agent’s traffic.

Side by side

The same four questions asked of each runtime.

RuntimeThe agent’s own identityActing for a userWhere secrets liveMain risk
KubernetesServiceAccount token, pod certificate or SPIFFE IDToken exchange at a gateway or in the agentWith federation, none long-lived; otherwise a SecretShared service accounts; loose federation trust rules
Managed platformA platform-issued agent identityThe platform’s token vault and exchangeIn the platform’s vaultOpaque defaults; knowing what the platform can do as your agent
Desktop, IDE, CLINone of its own: a public OAuth clientAuthorization code with PKCE, as the signed-in userOperating system keychainTokens on disk; any local process can claim a localhost redirect
CI pipelineThe CI system’s OIDC token for the jobUsually none: the job acts as itselfWith federation, none long-livedTrust rules that match more repositories or branches than intended
SandboxWhatever the host gives it, ideally nothing reusableHeld outside; injected per requestOutside the sandboxMisuse of access while the sandbox runs

A pattern across all of them

In every runtime the strongest option is the one where the platform attests to the agent and nothing long-lived is stored: a projected token, a job’s OIDC token, a platform-issued agent identity. Where that is not available, the next best is a secret the agent can use but cannot read.