A vault groups the secrets of one application or one domain: web, billing,
infra. Each vault belongs to an organization and is encrypted under one key from the
organization's key registry.
Inside a vault, environments separate the values of the same secret for each stage:
production, staging, development. A new vault starts with a default environment,
and you add others from the vault's Environments page. A secret named DATABASE_URL can
then hold a different value in each environment.
Creating a vault
From the Vaults page, pick New vault and give it a name and a slug. The slug is how tools address the vault, in a token, a manifest or a CLI call, so keep it short and stable. Under Encryption key, keep the default to get a key for this vault alone, or pick a key from the registry to share it with other vaults.
Secrets and versions
Writing a secret never overwrites it. Each write creates a new version, and the previous ones stay readable from the secret's page, so a bad value can be rolled back by restoring an earlier version. Deleting a secret keeps its versions.
Every read of a value is recorded in the vault's audit log, together with version reads, restores, deletions and changes to the vault itself.
Sharing a vault
Access is granted per vault, to members of the organization, with one of three roles:
| Role | Can |
|---|---|
viewer |
List secrets and read their values. |
writer |
Everything a viewer can, plus create, rotate and delete secrets. |
admin |
Everything a writer can, plus manage people, environments, tokens and the vault's encryption key. |
Machines do not get a member role. They use a service-account token, bound to one environment of one vault.