Privacy policy
Last updated: 2026-10-17
PatchNode collects no data. There is no account, no analytics, no advertising and no tracking, and the developer receives nothing from the app.
What stays on your iPhone. The services you add (name, type, address) are stored in the app's private storage, which is part of your iPhone's own backups (iCloud or computer). Tokens and passwords are stored in the iOS Keychain, for this device only: unless you turn on the token option below, they are never synced to iCloud and are not restored to another device. Choices such as the refresh interval, the tab bar, the dashboard order, the Home Assistant entities and the PromQL charts you save are stored on the device (and in your iCloud if you turn on iCloud sync, below).
Network connections. The app connects only to the servers you add, over HTTPS, and to api.tailscale.com if you add a Tailscale service. It never contacts a server of the developer. The demo mode generates its data on the device and contacts no server.
SSH and consoles (1.2). If you turn on Settings › SSH (off by default) or open a Proxmox console, the app connects directly to your own servers: over SSH to the hosts you add, and to your Proxmox server's console through its API. Nothing goes through a server of the developer. The SSH key is created on the device; its private part stays in the device's Keychain, is never synced (even with the iCloud Keychain option) and never leaves the device: only the public key is shown, for you to copy. An SSH password, if a server asks for one, is used for that connection only and never stored. The hosts you add (name, address, port, user, the fingerprint you accepted) are stored like your other services, and in your iCloud if sync is on. What you type and see in a terminal or a console, and the content of the compose and .env files you edit, is never stored, logged or sent anywhere else: Diagnostics only keep when a session opened and closed, its duration and an error code. The graphical console (noVNC) is built into the app and never loaded from the internet.
Widgets and Siri. Widgets and Siri shortcuts read a summary kept on the device (counts and names of nodes, VMs and containers), without any address or secret.
Notifications. If you turn them on (Settings › Notifications, off by default), the app posts local notifications from the iPhone itself after a background refresh: no server is involved and nothing leaves the device. They give a count only (for example “2 containers are unhealthy”), never a name or an address. What the app remembers to avoid repeating them (anonymous identifiers of the problems already notified, and when) stays on the device and in its backups, like your settings.
Export. Settings › Export and import creates a file or a QR code with your services' names and addresses, PromQL charts (whose queries may name your hosts), Home Assistant entities, tabs and dashboard order, never a token or a password. It goes only where you send it; a screenshot of the QR code is kept in your Photos like any other.
Diagnostics. Settings › Diagnostics keeps the last 200 requests in memory: service name, method, API path, status, timing, connection details, content type and server software, without tokens, bodies, host names or query values. It is lost when the app quits, and shared only if you tap Share.
iCloud sync (optional). Off by default. If you turn on Settings › iCloud › Sync configuration with iCloud, your services (names and addresses), PromQL charts, Home Assistant entities, tabs and dashboard order are stored in your own iCloud account (CloudKit private database) so your other devices can use them. Apple stores them under its own privacy policy; the developer has no access to them. Tokens are not included. A separate option, also off by default, stores tokens and passwords in iCloud Keychain, end-to-end encrypted, on your devices signed in to the same Apple Account; turning it off removes them from iCloud Keychain. With it on, deleting a service also removes its token from iCloud Keychain, and deleting the app leaves the tokens there: turn the option off first. Turning configuration sync off doesn't delete what is already in iCloud: delete it with Settings › iCloud › Delete my iCloud data in the app (which also empties iCloud Keychain of PatchNode's tokens if that option is on), or in iOS Settings › your name › iCloud › Manage Account Storage › PatchNode. A service deleted on another device has its token removed from this one too.
iOS reports. iOS gives the app reports of its crashes, hangs and performance (MetricKit). They are kept on the iPhone for 30 days (Settings › Diagnostics › iOS reports) and never sent automatically. You can share one yourself, or, when you contact support, attach a summary of the crashes (date, versions, exception type), off by default and shown in full first, without any address, host name, service name, token or call stack.
Deleting your data. Deleting a service removes its token from the Keychain, and, with iCloud sync, the service from your other devices too. Delete your services before deleting the app: iOS can keep Keychain items after an app is removed.
Support. If you contact support from the app (Settings › Help and support › Contact support), your own Mail app opens with a prefilled message; nothing is sent until you send it. The developer then receives your e-mail address, your message and, only if you turned it on, a diagnostic report shown to you in full beforehand: app and iOS versions, device model, language, the types of services configured, whether the demo mode is on, and the kind and HTTP code of the latest errors per service type. It never contains an address, host name, service name, token or content. Support e-mails are used only to answer you and are deleted once the request is closed.
Children. The app is not directed at children and collects no data from anyone.
Contact. For any question about this policy: patchbay-s@proton.me, also reachable from Settings › Help and support in the app.
PatchNode