← Onyx

Privacy

The Onyx app has no analytics, no telemetry, no crash reporting, and no account. It makes no network connections of its own except the ones you configure: SSH to your hosts, and the APIs you explicitly enable. (This website is a separate thing, and does use analytics — see below.)

Everything it stores — hosts, favorites, notes, session notes — is a file in ~/Library/Application Support/Onyx on your Mac. Nothing is synced anywhere.

Optional integrations talk only to the services you point them at, with credentials you supply: GitHub and GitLab for pipelines and pull requests, Timing.app for hours, and Apple Reminders through the system framework — which macOS gates behind its own permission prompt, and which is read-only.

One exception worth stating plainly, because it's the only case where content leaves your machine without you pointing it somewhere: the artifact panel renders in a web view. Diagrams, models and formatted text load their rendering libraries (mermaid, highlight.js, marked) from cdn.jsdelivr.net, so displaying one makes a request to that CDN. And a PlantUML artifact specifically is rendered by plantuml.com — the diagram's source is encoded into the image URL and sent there. Mermaid diagrams render locally in the web view; only the library is fetched. If a diagram's contents are sensitive, use mermaid rather than PlantUML.

This site — as distinct from the app — is static, served by Cloudflare Pages, and can use Google Analytics (through Google Tag Manager) to see which pages people read. It is off until you accept: the container loads with every storage category denied, which means no cookies and no identifiers, and it only starts measuring properly if you say yes. Decline and it stays denied; if you had accepted earlier, declining also expires the analytics cookies already set. Any of this runs on the website only — it is not in the app, ships in none of the downloads, and can see nothing about your machines, sessions or files. Fonts are the only other external request.

Loading…

Stored in this browser only — there's no account behind it, so it doesn't follow you to another device, and clearing site data resets it.

Questions: open an issue.