Privacy Policy
Relay is designed to keep your data on your machine.
Last updated: April 13, 2026
Overview
Relay is a native macOS terminal emulator. It runs entirely on your device. We do not operate servers that receive, store or process your data.
No data collection
Relay does not collect analytics, telemetry, crash reports or usage data of any kind. We have no tracking pixels, no SDKs and no server-side logs. We literally do not know who you are.
What is stored locally
The following data is stored locally on your Mac. Features you use may send selected content or credentials to the respective service; network paths are described below.
- App preferences (theme, font, shell settings)
- Command history and working directories
- Saved AI conversation turns
- License key (stored in the macOS Keychain)
- AI provider API keys (stored in UserDefaults — never transmitted to us)
All of this data stays on your device. Uninstalling Relay removes it.
Network connections
Relay makes outbound network requests only in the following cases — some automatic, some on your action. In no case does data flow to a server operated by Relay:
- Update checks — Sparkle automatically checks for new versions by fetching an appcast XML file. This transmits your app version and macOS version. No personal data is sent.
- License activation — To activate and periodically re-check your license, Relay talks to the Keygen licensing service — authenticated with your license key. No usage data is transmitted.
- Pipeline monitor — When you use the CI/CD monitor in a Git repo, Relay fetches pipeline status directly from the CI provider (GitHub Actions, GitLab CI, or CircleCI) using your own token. The connection goes to the provider, not to Relay.
- AI assistant — AI requests and selected workspace context are processed through your configured connection: cloud API, signed-in CLI or compatible local server. Cloud services receive the content needed for the request. Conversations and saved responses may be retained locally in Relay. A CLI tool manages its own credentials.
- Package checks — Only when you click “Check packages on npm” in the dependency overview does Relay query registry.npmjs.org to check whether packages are marked as deprecated. Queried package names appear in the request URL path. Scoped packages (@…), local dependencies, and Git, alias, and URL dependencies are skipped. Relay cannot reliably identify internal package names without a scope; these may also be sent. Opening a project does not trigger this query.
- Webhooks — If you configure a webhook URL in Settings, Relay sends a POST request with command metadata to that URL when a command finishes. This is entirely opt-in and goes to a URL you control.
- Browser pane — The built-in browser pane loads any URL you enter or the agent opens — like any normal browser.
Other network access comes from features you choose to use, such as web pages, downloads, SSH/SFTP and quota queries. Codex queries quotas through its CLI; a manual Claude refresh makes a small model request and counts towards quota. Credentials are used to authenticate with the respective service.
Third-party services
Relay itself does not integrate with any third-party analytics or advertising services. If you use the AI assistant feature, your requests are handled by OpenAI or Anthropic under their respective privacy policies. Relay has no affiliation with either provider.
Children
Relay is not directed at children under 13 and does not knowingly collect data from children.
Changes to this policy
If we update this policy, we will post the changes on this page with a new date. Since Relay collects no data, changes are unlikely to be material.
Contact
Questions about this policy? Email <a href="mailto:support@relay-app.dev">support@relay-app.dev</a>