Browse the docs
Concepts
Versions and history
Every save creates a signed version. Browse the latest 100 versions, see what changed by name, compare with the current one and restore an old version.
Last updated
On this page
Every time someone saves an environment, Crunu creates a new version. Versions are numbered, encrypted and signed by their author. The environment's History shows them, so you can see who changed what and bring back an earlier state.
What a version is
A version holds the whole contents of the environment at the moment of saving: every file, its path and its contents. It's encrypted with the environment's key, so only people and machines with that key, or with a file copy, can read it.
Each version records its number, its author, when it was saved and from which device. The author signs it, and clients and agents check the signature and that the author was allowed to write. The server can't alter a version or make one up.
After saving, the environment shows Saved: version 4, and its header shows the current version, when it was saved and from which device.
History
Open the environment and choose History. The list shows versions from newest to oldest with:
- the version number, such as
v5, and a current label on the latest; - the author, the time and the device;
- What changed, by name only: for example,
~/.env: changed value: LOG_LEVEL. Values never appear in the history.
Open shows an old version read-only, with What changed and Files in this version. Compare with current shows the differences, with values hidden until you show them.
The environment keeps the latest versions: up to 100 and up to 64 MB of ciphertext. Older versions are dropped.
Restoring an old version
Restore… on an old version brings it back by saving it as a new version. Nothing is deleted. The version you restored from stays in the history, and so does the one you replaced, so you can go back again.
Restoring a version doesn't take back what was in later versions. If you restore because a value leaked, the leaked value is still in the history and still valid at its provider. Reissue it there and save the new value.
Edits from two devices
When you save, Crunu checks that nobody saved in the meantime. If someone did, it merges the changes field by field. When both of you changed the same field, it asks you which value to keep.
Rotation and old versions
Rotating the environment key re-encrypts the current contents as a new version under the new key. Older versions stay readable for those who had the old key, so history keeps working. Someone who lost access when the key was rotated can't read any version saved after that.
Who sees history
Everyone who can read an environment sees its history. Operators can see the environment, but not the contents of any version.
The audit log records every saved version with its author, address and time. The delivery record shows which versions each person or machine received, which is what the exposure report is built from. See Audit log.
Limits
| What | Limit |
|---|---|
| Versions kept per environment | 100 |
| Ciphertext kept per environment | 64 MB |
| Contents of one version | 1 MB |