Glossary
The terms this documentation uses, defined once.
Product
- Workspace
The account. Owns the subscription, the encryption key, the member list, and the audit log. Called an organization in the API and the database.
- Project
The access boundary. Every secret, target, profile, runbook, and grant belongs to exactly one, and permission is resolved per project.
- Member
A person with a role in a workspace. One account can be a member of many.
- Secret
A named, typed, encrypted value in a project.
- Secret group
A named set of secrets injected together. What
shortspan run <group>consumes.- Template
The typed shape of a secret: its fields, which are sensitive, and where it is stored.
- Target
A registered piece of infrastructure with its credential - an SSH server, database, AWS profile, or Kubernetes context.
- Alias
The name a target is reached by. Unique per project.
- Infrastructure profile
A named bundle of targets, usually one environment. Entered as a unit.
- Runbook
A versioned, reviewable operational procedure. Steps run on the executor's machine and are not sandboxed.
- Access request
A time-boxed request for elevated access to a project, with a stated reason.
- Temporary grant
What an approved access request creates. Expires on its own.
Access
- Role
One of
viewer,developer,admin,owner. Strictly ordered; each includes the ones below.- Ability
A permission carried by a token, such as
secrets:reveal. Abilities narrow what a token may do; they never widen it beyond the role.- API token
A bearer credential with a set of abilities. Shown once at creation; only a hash is stored.
- Device
The record of a CLI that completed the browser authorization flow, with its command history.
- Device flow
Browser-based authorization for a client that cannot receive a redirect. Displays a short code the user confirms.
- Proxy token
A single-use, short-lived stand-in issued instead of an SSH credential, redeemed in a second call. Keeps the credential out of the response that was authorized.
- Reveal
Any operation returning plaintext. Separately rate limited and separately audited.
- Injection
Placing a value into a process's environment without displaying it. The preferred way to use a secret.
Encryption
- Envelope encryption
Encrypting a value with one key, then encrypting that key with another. Lets the outer key rotate without touching ciphertext.
- DEK - data encryption key
A random 32-byte key encrypting one secret. Stored wrapped beside the ciphertext.
- MEK - master encryption key
One per workspace, wrapping that workspace's data keys. Stored wrapped in the database.
- Root key
SHORTSPAN_MASTER_KEY. Wraps every master key, lives in the environment, and is never in the database. Losing it is unrecoverable.- Rewrap
Re-encrypting a master key under a different root key. Rewrites one row per workspace; the ciphertext underneath is untouched.
- Secretbox
libsodium's authenticated encryption - XSalsa20 with Poly1305. Tampered ciphertext fails to decrypt rather than decrypting to garbage.
Platform
- Control plane
The operator-facing administration interface at
/admin. A separate identity system from customer roles, and by construction unable to read customer secrets.- Step-up authentication
Re-authenticating before a sensitive control-plane operation, even within a valid session.
- Break-glass
An exceptional, heavily audited elevation for an emergency. Requested and approved separately from ordinary administration.
- Entitlement
What a workspace's plan permits: its limits and its features. Enforced by middleware, defined in one configuration file.
- Heartbeat
A timestamp a scheduled task records after running, so a silently stopped scheduler is visible rather than looking healthy.
Something here wrong or missing? Tell us.