Updates and lifecycle
PoisonZero keeps itself current without your hands. This page covers the signed auto-update path, how cloud and private devices differ, how the installer tells an upgrade from a fresh install, and the pause, resume and uninstall commands.
How auto-update works
A cloud device updates itself in a signed, verifiable sequence:
- It checks in periodically and the backend may return a signed update instruction.
- The daemon verifies the signature offline before acting; an empty or invalid instruction is a no-op.
- It refuses anything that is not strictly newer, so a downgrade can never be pushed, and skips a version that already failed to install.
- It downloads the new binary pinned to a hash carried inside the signed claim, over a single vendor destination.
- It swaps the binary atomically, keeping the previous one as a backup, then restarts into the new version.
Cloud updates itself, private does not
The self-update path is gated by device mode, not by tier:
| Mode | Update path |
|---|---|
| Cloud | Signed self-update over the config channel, on by default; an operator can turn it off |
| Private | No self-update over the config channel; a private device is updated through its own channel |
Upgrade, fresh install or re-enroll
Re-running the installer does the right thing on its own, decided by whether the device is already enrolled:
| Mode | Trigger | Effect |
|---|---|---|
| Fresh | Not yet enrolled | Installs and enrolls |
| Re-enroll | Enrolled, and both app ID and a new code passed | Swaps the binary and re-enrolls; the old credential is kept on failure |
| Upgrade | Enrolled, no new code | Swaps the binary only and keeps the credential and seat |
Pause, resume and uninstall
These are owner commands, delivered to the device as signed instructions from the console or an air-gapped token file, not local flags anyone on the machine can set:
| Command | Effect |
|---|---|
| Pause | The daemon stops acting on changes but keeps checking in; the paused state survives a restart |
| Resume | The daemon returns to acting on changes |
| Uninstall | The service is torn down and the binary and data directory are removed |
Read next
What a paused or held device reports: device status. Where a device first enrolls and gets its credential: installing PoisonZero. How enrollment binds a device: enroll a device.
Always current, never surprised.
Signed self-updates on cloud devices, with pause, resume and uninstall on command. Free for Linux, macOS and Windows.
Sign me up