Send your first notification
Prerequisites: a registered account, a device paired with api.prelay.sh, and a Cloud token. The zero-knowledge part is the point: the notification contents leave your machine sealed, and the hosted relay routes ciphertext only.
The prelay CLI
From your terminalbinaries ship on the same Codeberg release as the app (linux + macos); send (both modes), manage devices and tokens, keygen.
1. Point the CLI at Cloud
prelay config set server=https://api.prelay.sh token=prelay_1_...
chmod 600 ~/.config/prelay/configprelay config set writes ~/.config/prelay/config with restrictive
permissions itself; the chmod is only there if you built the file by hand.
2. Send
prelay send --encrypted --device <device-id> \
--title "Hello Prelay Cloud" \
--message "Encrypted before leaving this machine"--encrypted is the Mode B send: the CLI fetches the device's public key
(read-only endpoint), encrypts with X25519 + ChaCha20-Poly1305, and posts
the sealed envelope. The relay never sees the plaintext — this tiny Hello is
worth checking against the modes page once to see why.
The notification lands on your phone; open it like any other.
Without --encrypted the request posts plaintext, and api.prelay.sh
rejects it with 403 zero_knowledge_required. There is no "plain mode" on
the hosted relay, by design.