What the server stores
Melta's server holds your account and what the app needs to list your computers and send notifications. It never opens SSH connections and never sees your terminal. This page lists what it keeps, based on the server's own code. The legal version is the privacy policy.
What it keeps
| Data | What is stored | Why |
|---|---|---|
| Account | Email address, the name you give, a hashed password and your plan. For Sign in with Apple or Google, the account identifier they give instead of a password. | To sign you in. |
| Sessions | Hashed refresh tokens, with an expiry date. | To keep you signed in. |
| Password resets | While a reset code is live: a keyed hash of the 6-digit code, how many times it was tried, and when it expires (after 15 minutes). Deleted once it is used, replaced or out of tries. | To check the code from the email when you reset your password. |
| Computers | Name, address, port, user name, whether it signs in with a key or a password (never the secret), the Herdr session name, where commands run (Auto, the computer, WSL and its distro, or a Docker container's name), your two notification switches, the notification token, and when the plugin last reported in. | To list your computers on any phone you sign in on, and to match plugin events to the right computer. |
| Phones | The push token, platform and device name, and when it was last seen. | To send notifications. |
| Notification events | The computer, pane id, agent, status, pane title, and up to 300 characters of text: the question a blocked agent asks, or the start of a finished agent's last message. | For the notification and the Agent Activity list. |
| Preferences | Your Herdr prefix, text size, key bar and key haptics setting. | So your settings follow you to another phone. |
| Shared chats | For each chat you share: its title, agent, computer name, message count and the messages you chose to publish. | To serve the page at its link. |
| Deletion requests | The email address, the optional note, and the IP address of the request. | To process the request. |
What it never receives
- SSH private keys, passphrases or passwords. They stay in the phone's Keychain or Keystore.
- Your terminal output, agent conversations or files. These go between your phone and your computer over SSH. The exception is a chat you choose to share.
- Images you attach. They are copied from the phone to your computer over SSH.
Where notification text comes from
Notification events are the one thing that comes from your computer rather than the app. When an agent is blocked or finishes, the Melta plugin sends the server the pane, the agent, the status, the computer's short host name, Herdr's details about the event and the pane (its title and folder), and part of that pane's screen: for a blocked agent the bottom 50 lines, where the question is; for a finished one Claude's last message, up to 40 lines. The server keeps the fields in the table above. From the screen it keeps up to 300 characters: the question, or the start of the last message. See Notifications.
Who else is involved
- Push notifications go through Expo's push service to Apple Push Notification service or Firebase Cloud Messaging.
- Sign in with Apple and Google are handled by Apple and Google.
- The server and database run on Hetzner in Helsinki, Finland.
Removing data
- Remove Host in Edit Host deletes that computer and its notification history from the server.
- Deleting your account removes the account and everything linked to it, including your computers, phones, notification history and shared chats. See Delete your account.