This page describes the physical vault layout and the command surface for working with stored local values. Use it when you need exact storage and command behavior, not the high-level concept.
A typical structure looks like this:
vault/
master.key ← encryption key when encryption is enabled
projects/<slug>--<id>/
values.env
profiles/
The default local profile is stored in values.env. Explicit profiles are stored under profiles/.
envctl vault checkChecks whether the current vault file exists, can be parsed, and appears usable.
envctl vault showShows stored values with sensitive entries masked.
envctl vault show --rawPrints unmasked values, but only after explicit confirmation.
envctl vault editOpens the current physical vault file in an editor. When encryption is enabled, the file is temporarily decrypted and then re-encrypted after edit.
envctl vault pathShows the path to the current physical vault file.
envctl vault pruneRemoves keys that are no longer declared in the contract.
envctl vault encryptEncrypts plaintext vault profile files for the current project. Requires encryption.enabled = true.
envctl vault decryptDecrypts encrypted vault profile files for the current project back to plaintext. Requires encryption.enabled = true.
- the vault lives outside the repository
- the vault stores local values, not shared contract data
- encryption protects vault files, not generated projection artifacts
- profile storage is local and explicit
Go back to the conceptual role of local storage.
Open this when the physical vault files are encrypted at rest.
Reconnect physical storage details to the broader safety model.