Privacy Policy
Last updated: September 26, 2026.
Waycar is a native iOS console for herdr. It connects to machines you control (“Hosts”) over SSH. Waycar has no user accounts, advertising, analytics, or tracking. Your SSH credentials, terminal output, prompts, files, and live agent sessions do not pass through a service operated by Waycar’s developer.
Agent Notifications use the limited-purpose Push Relay described below.
Data stored on your device and Hosts
- SSH credentials. The Device Key’s private half is generated on your device and remains in the iOS Keychain. Host fingerprints are stored locally. A saved Host password is also stored in the Keychain. With iCloud Sync on, these sync through iCloud Keychain as described next.
- iCloud Sync. With iCloud Sync on (the default), Waycar stores your Hosts, saved Host passwords, SSH keys, trusted Host fingerprints, and app preferences in your iCloud Keychain so they appear on your other devices signed in to the same Apple Account. iCloud Keychain is end-to-end encrypted; neither Waycar’s developer nor Apple can read these items. You can turn this off in Settings › iCloud Sync: this device then stops syncing and keeps its current Hosts, passwords, and keys, but the copies already in iCloud Keychain stay there for your other devices. Waycar never deletes a synced SSH key or fingerprint; replacing a key in Settings › iCloud Sync switches every device to a new one. Notification Keys never sync.
- Notification Keys. A separate Notification Key is generated on your device for each Host. It is stored in the shared Keychain and mirrored in the app’s shared container so Live Activities can be decrypted while the device is locked. The mirror is protected until first unlock and excluded from backups. Waycar copies the key over SSH to the corresponding Host so the herdr plugin can encrypt notifications. The Push Relay never receives this key.
- Host list and settings. Your Hosts and Waycar settings are stored locally. With iCloud Sync on, your Hosts and app preferences are also stored in your iCloud Keychain. Each Host stores its own notification registration and delivery preferences.
- Last-known Agent list. So the app can show your Agents immediately when it opens, Waycar keeps a copy of each Host’s most recent herdr session listing on this device. It holds what herdr reports about each Workspace, tab, pane and Agent: names and labels, ids, Agent kinds, working directories, terminal titles, statuses and state labels, Git repository and worktree paths, references to Agent sessions (session ids or transcript paths on the Host), values the herdr plugin supplies for the sidebar’s fields, and the herdr version. It also holds the Host’s sidebar layout file, and the Host’s address, port, username, herdr session and Jump Host details so Waycar can tell whether the copy still belongs to that Host. It never contains terminal output. The copy is excluded from backups, never synced, cannot be read while the device is locked, and is deleted when you remove the Host or change its connection details.
- Live agent activity. Terminal output, prompts, and pane contents travel only over the direct SSH connection between your device and your Host. The limited notification data described below takes a separate route.
- Dictation audio. When you tap Dictate in the Composer, Waycar uses the microphone and transcribes your speech on your device with Apple’s built-in speech model. Audio is never recorded to storage or sent anywhere, including to your Host. Nothing you dictate reaches your Host until you tap Send; if you tap Send while still dictating, your last words are transcribed and included. The first use in a language may download that language’s speech model from Apple, managed by iOS.
Agent Notifications and the Push Relay
Agent Notifications can tell you when an agent is blocked or done while Waycar
is backgrounded or closed. Apple Push Notification service (APNs) requires an
Apple credential authorized for this app’s bundle ID, so TestFlight and App Store
builds use an open-source push relay hosted by the developer at
https://waycar-apns.otreva.com.
The relay has no accounts, database, durable queue, retry queue, or message history. A Host encrypts the notification details with its Notification Key, then the relay signs and forwards the push request to APNs without receiving the key needed to decrypt those details.
Data processed by the Push Relay
For every notification request, the relay processes:
- the Apple push token needed to address your device;
- the encrypted notification envelope (ciphertext);
- the Host’s source IP address;
- request timing, frequency, and size; and
- the APNs environment and limited delivery-routing values.
For a Live Activity update, APNs must also receive the following values in cleartext so iOS can update or end the activity without launching Waycar:
- aggregate counts of agents that are working, blocked, done, or idle;
- the start, update, or end event, delivery priority, and event timestamp; and
- when present, stale and dismissal timestamps.
When your Host starts a Live Activity while Waycar is not running (push-to-start), the request also carries:
- Waycar’s identifier for that Host: a random UUID the app generated when you added the Host, not derived from its name, address, or account. It lets Waycar match the activity to the Host and open that Host when you tap it, and lets the relay tell that starts came from the same Host; and
- a fixed, generic alert (“Agents active”) that Apple requires to start an activity. It is the same for every Host and never names an agent or task.
To allow this, Waycar stores its push-to-start token and that Host identifier in the Host’s notification registration while the Host’s Live Activity is turned on, and removes them when you turn it off.
These values describe the activity update but do not identify an individual agent. Project names, task titles, agent types and names, Host names, pane IDs, and per-agent details remain inside the encrypted envelope. The relay and APNs do not receive the Notification Key used to decrypt that envelope.
If a notification cannot be decrypted, Waycar shows a generic fallback instead of displaying unverified content.
Purpose, retention, and service providers
The developer-hosted relay uses this data only to validate requests, limit abuse, and deliver notifications to APNs. It does not use the data for advertising, analytics, tracking, profiling, or sale.
The developer-hosted relay does not write device tokens, notification bodies, ciphertext, or request history to application-managed durable storage. Source IP addresses and Apple push tokens are used in volatile, per-instance memory for one-minute rate-limit windows. This memory is not a durable user record and is discarded when the worker instance is recycled.
The relay is hosted on Cloudflare Workers, and notifications are delivered by Apple APNs. Cloudflare and Apple may process network and delivery metadata as infrastructure providers under their published privacy terms. Service providers processing data on Waycar’s behalf are required to protect it consistently with this policy and applicable law. Waycar uses them only for infrastructure and push delivery.
Your choices and deletion
Agent Notifications and Live Activities are optional.
- You can decline or revoke notification and Live Activity permissions in iOS Settings.
- Removing a Host’s Notification Registration deletes this device’s token and Notification Key from that Host, then removes the local per-Host Notification Key record.
- Removing a Host from Waycar deletes its local Host record and any saved Host password. With iCloud Sync on, it also removes them from your other devices, including ones that were offline or had sync off, which drop the Host the next time they sync; a small marker recording the deletion stays in iCloud Keychain.
Waycar has no developer-operated account or user-content database, so there is normally no server-side profile or content for the developer to retrieve or delete. For a privacy or deletion request, email privacy@waycar.dev. Do not include credentials, tokens, Host details, or other sensitive information.
This website
waycar.dev is a static site served by Cloudflare. It sets no cookies, uses no
analytics, and makes no third-party requests. Cloudflare processes standard
request logs, such as your IP address and user agent, to serve the site.
Custom relay URL
The herdr plugin and Waycar accept a custom push relay base URL, so you can run your own relay instead of the default one. The relay source is public so its behavior can be inspected.
A custom relay only works with an app you build and sign yourself. It must use APNs credentials authorized for that app’s bundle ID. Only the developer-hosted relay is configured to deliver notifications to TestFlight and App Store builds.
Contact
For questions about this policy, email privacy@waycar.dev and do not include sensitive information.