On this page
Rollback protection is a set of checks that stop a client from accepting data that is older than what it has already seen, even when that older data carries valid signatures.
Why signatures are not enough
A signature proves who signed something and that it has not changed. It does not prove that it is the latest version. A server that keeps old documents could serve last month's access list, from before a member was removed, or an old revocation list on which a stolen machine is not yet listed. Every signature would check out.
The TUF specification, written for software update systems, names two related goals: an attacker should not be able to make clients install something older than they already knew about (rollback), and should not be able to keep serving the same outdated data without the client noticing (freeze).
How it works
Signed documents carry a number that only goes up: a sequence, a version, an epoch. The client stores the highest value it has accepted for each item. Anything lower is refused. Some systems also chain each new state to the hash of the previous one, so a server cannot offer two different histories that both look valid.
How Crunu does it
Crunu's browsers and agents remember the newest state they have verified and reject anything older:
- for each environment, the newest signed state and version number they have accepted;
- for the organization, the key generation and the revocation list epoch, which only grows.
The crunu agent checks every head, version and file copy against that memory. If a check fails, it refuses the data, logs an alert and exits with code 6.
Where it stops
Rollback protection works from what a device has already seen:
- A device that never saw the newer state cannot know it is being shown an older one. A freshly set-up device trusts what it gets first.
- A compromised server colluding with a removed member could keep a new device frozen on an old state of the organization. Fully closing that gap would need an external transparency log, which Crunu does not have.
- Restoring a self-hosted server from a backup rolls everything back on purpose. Afterwards, agents and browsers have to be told to forget their memory of the server.
See how encryption works and limitations.
Sources
- The Update Framework Specification, checked October 27, 2026.
From the blog
Security
What “the server can’t read it” actually means
A blind server is a precise claim with precise limits. What Crunu's server stores, what it cannot do even if compromised, and what it still sees.
Security
Audit logs you can verify: how hash chains work
An audit log is only evidence if nobody can quietly edit it. How hash chains make tampering visible, what they miss, and how to check an export yourself.