Long-lived machines

A SikkerKey machine identity with no built-in expiration date, used for servers, VMs, containers, and processes that should keep reading secrets until disabled or revoked.

What are long-lived machines?

Long-lived machines are SikkerKey machine identities for workloads that stay in place over time: servers, VMs, long-running containers, internal tools, and production services that need ongoing access to secrets.

Unlike temporary or ephemeral machines, a long-lived machine does not have a built-in expiration date. It remains available until the vault owner disables or revokes it.

How they are created

The normal creation path is bootstrap from the dashboard. The vault owner creates a single-use bootstrap token, copies the generated command, and runs it on the target machine.

The bootstrap script:

Only the public key is transmitted. The private key stays on the machine and is used to sign every later request.

The bootstrap token is single-use and short-lived. In the current dashboard flow, it expires after 10 minutes.

Approval and access

A newly bootstrapped long-lived machine cannot read secrets immediately. It appears in the dashboard as pending and must be approved by the vault owner.

After approval, the vault owner attaches the machine to projects and grants access to individual secrets. Project membership alone is not enough. A machine must be approved, active, attached to the project, and explicitly granted the secret it is trying to read.

Provisioned long-lived machines

SikkerKey also has dashboard provisioning flows that can create an approved long-lived machine and attach project and secret grants in one operation. Those machines are still long-lived when they have no built-in expiration date. The creation path differs, but the runtime identity model is the same: a machine identity, an Ed25519 keypair, project membership, and explicit secret grants.

Runtime authentication

Long-lived machines authenticate with signed requests. Each request includes the machine ID, timestamp, nonce, and Ed25519 signature. The signature binds the request method, path, body hash, timestamp, and nonce, so an intercepted request cannot be replayed later.

The private key is the identity material. SikkerKey stores the public key and verifies each request before returning any secret value.

Lifecycle

A long-lived machine has no automatic expiry. Operators manage its lifecycle manually:

This makes long-lived machines the right choice for stable infrastructure where the workload identity should persist across deploys and restarts.

See also

SikkerKey is the secrets manager built around the patterns in this glossary. Encrypted vault, machine identity over signed requests, dynamic secrets — set up in minutes.

Start for Free