Pushing code
One action: pack, encrypt, upload, serve. The chain on screen shows each stage as it completes.
DISK → CIPHER → REPOSITORY → RUNTIME. Each link lights as that stage finishes.
What happens
| Stage | Where | What |
|---|---|---|
| Disk | Your machine | The source folder is read as it stands right now. |
| Cipher | Your machine | Packed in memory, then AES-256-GCM encrypted. |
| Repository | Encrypted CDN | Ciphertext uploaded and recorded against a version hash. |
| Runtime | Your servers | Every server in the environment fetches, decrypts into RAM, and serves. |
Before you push
Cipher checks four things and will not let the push start until all of them hold:
- The source folder exists and is readable.
- The frontend folder exists, if one is attached.
- An environment is selected.
- The environment has at least one domain configured to serve on.
Each is reported specifically, so a blocked push tells you which one rather than failing generically.
dist/ deploys exactly as stale as it is.
Versions
Every push produces a version hash derived from the content. An unchanged project produces the same hash, so you can tell at a glance whether two environments are running identical code.
The push result reports file count, total size and that hash.
Promoting instead of rebuilding
On Enterprise you can promote an existing build from one environment to another. It moves that exact artifact — the bytes do not change between Development and Live, so what you tested is byte-for-byte what ships.
On the free tier there is nothing central to promote, because the encrypted build retires to your own server once it confirms it holds a copy. Push again instead — the artifact is AES-256-GCM encrypted either way, only its location differs. See Editions.
Comparing environments
The Compare pane shows which version each environment is running, when it was pushed and by whom. It is the fastest way to answer “is Live actually running what we tested?”
Many servers, one push
A push fans out to every server in the environment. There is no per-server step and no staggering to configure — each machine fetches the same artifact and reloads.