Security and privacy
Where your checklists live, what the relay sees and how pairing is protected.
palmtop is a preview. It is designed to keep your data on your computer, but checklists are not end-to-end encrypted yet: don’t put secrets in them.
How it works
Your computer Relay Your devices
agent ─ palmtop CLI forwards messages web app
│ 127.0.0.1 over TLS, one room paired with
▼ per computer a QR code
palmtop daemon ◄── wss ───► ◄── wss ───►
~/.palmtopai
- Your computer keeps everything: checklists, reviews and notes live in
~/.palmtopai(directories700, files600). The daemon listens only on127.0.0.1; the CLI talks to it with a local key. - The relay (
palmtop.miltonwebagency.it) forwards messages between the daemon and your devices. It keeps rooms in memory only, stores nothing on disk and never logs message contents or tokens. It connects out from your computer: nothing on your network is opened. - Your devices store the pairing in the browser.
What the relay can see
Messages travel over TLS, but the relay decrypts TLS to forward them: while forwarding, it could read checklist texts, notes and reviews. It can’t read anything that is not being sent at that moment. End-to-end encryption, so that the relay only sees opaque data, is planned before opening palmtop to everyone.
The model provider of your agent sees what the agent writes, like any other part of your conversation: end-to-end encryption would not change that.
Pairing
- A pairing is with a computer, not with a single project: a paired device sees every project of that computer, including the ones started later. Pair only devices you trust with all of it.
- The pairing link carries a single-use key (valid five minutes), not the token, in the URL
fragment (
#…), which browsers never send to servers. The device exchanges it for the token of the computer on the relay, and the app removes it from the address bar. - The QR page is served only on
127.0.0.1, opened with a one-time code that expires after a minute.palmtop pairalso shows the QR code in the terminal, never in a pipe or to an agent, and revokes the key when you close it. - The agent never sees tokens or pairing links: no command it uses prints them, and the guide
forbids running
palmtop pairor reading~/.palmtopai. - The computer’s room on the relay is bound to a key pair: the daemon proves it owns the room at every connection, so nobody else can take it over.
- To take access away from a device you no longer trust, there is no per-device revocation yet:
delete
~/.palmtopai/projects.jsonon the computer and pair your devices again (this also deletes the projects’ data). Per-device keys and revocation are planned.
Notifications
Notifications are sent by the daemon on your computer through the push service of your browser (Apple, Google, Mozilla, Microsoft). They carry only the computer and project name and a title, like “New checklist: Login flow”, never the text of your checks or of the agent’s message.
Downloads
palmtop update and the install guide check the SHA-256 of the download against the published
version.json before replacing palmtop.