Who we are

Oryxis is an open-source SSH client (AGPL-3.0) published by Wilson Glasser. This policy covers the desktop application for Windows, macOS and Linux, and this website. The full source code is available at github.com/wilsonglasser/oryxis, so every claim below can be verified rather than taken on trust.

What we collect

Everything the app stores is written to your device, under ~/.oryxis (%USERPROFILE%\.oryxis on Windows):

Where the app connects, and when

An SSH client is a networking tool, so it does open connections. All of them are either initiated by you or listed here. None of them route through infrastructure that inspects your data.

Your servers

SSH, SFTP, Telnet, serial and port-forwarding traffic goes directly from your machine to the hosts you configure, or through the jump hosts and proxies you configure. Credentials are read from the vault at connection time and are never transmitted anywhere else.

Update checks and downloads

When update checking is enabled, the app asks the GitHub Releases API whether a newer version exists, and downloads the installer from GitHub if you accept. Optional plugins (cloud providers, the MCP server, the GIF exporter) and on-demand CJK fonts are fetched the same way, only when you enable the feature that needs them. Every download is verified against a pinned SHA-256 hash, and plugins additionally against an Ed25519 signature.

Users who select the China mirror, or whose GitHub request fails while the mirror setting is on "auto", fetch those same files from our asset host dl-cn.oryxis.app / dl.oryxis.app. Those hosts serve static files only. Like any web server, their CDN records the usual request metadata (IP address, timestamp, requested file) for delivery and abuse protection. No vault data, host list or credential is ever sent there. Update checking and the mirror can both be turned off in Settings.

AI assistant (optional, off by default)

If you configure an AI provider and API key, the assistant sends what you type in the chat, plus the terminal context you choose to include, to that provider under your own account and their privacy policy. This is the one feature that can transmit terminal content off your machine, so it is opt-in, requires your own key, and never runs unless you open the chat. We are not a party to those requests: they go from your machine straight to the provider you selected.

Vault sync (optional, off by default)

Sync is peer-to-peer between your own devices. On a LAN, devices discover each other over mDNS and connect over QUIC. Across networks, the app asks a public STUN server for its own public address so the direct path can be established. The servers tried, in order, are Google's (stun.l.google.com, stun1.l.google.com) and Cloudflare's (stun.cloudflare.com); a STUN query contains no payload beyond the request itself, but that operator does see your IP address. The signaling or relay endpoint is one you choose (a self-hosted oryxis-relay, or an SFTP server you control). Sync data is end-to-end encrypted with keys held only by your paired devices; a relay sees ciphertext and connection metadata, never plaintext. Password syncing is a separate opt-in on top of that. None of this happens until you turn sync on.

Cloud and Kubernetes integrations (optional)

When you enable a cloud provider, the app calls that provider's API (AWS, Azure, GCP, Kubernetes) using credentials already present on your machine, such as your AWS profile or kubeconfig, to list the instances you can connect to. Those calls go to the provider, under your account and their terms.

What we never do

This website

oryxis.app is a static site. It sets no cookies, stores nothing in your browser and runs no analytics. Two requests do leave your browser: web fonts are loaded from Google Fonts, and the home page reads the repository's public star count from GitHub's API. In both cases that third party receives your IP address as part of answering the request. Links to GitHub, Ko-fi and Buy Me a Coffee are governed by those services' own policies once you click through.

Distribution channels

When you install Oryxis from a store or package manager (the Microsoft Store, winget, AUR, or a distribution's repository), that channel applies its own privacy practices to the download and to any account you use with it. We receive nothing from them beyond aggregate, anonymous download counts where the channel publishes them.

Children

Oryxis is a developer and system-administration tool. It is not directed at children, and since it collects no personal information at all, it collects none from children.

Your rights over your data

Because we hold no personal data about you, there is nothing for us to export, correct or delete on request. The data the app creates is on your device and under your control: delete the ~/.oryxis directory and every trace of it is gone. Uninstalling through your platform's normal mechanism removes the application itself.

If you use optional features that send data to third parties, such as an AI provider or a cloud provider, exercise your rights over that data directly with them, since they are the controller for it.

Security

Secrets are encrypted at rest with per-field ChaCha20-Poly1305 under an Argon2id-derived key, and the vault can be locked manually or after an idle timeout. Downloaded components are hash-pinned and signature-verified. Vulnerability reports are handled through the process in SECURITY.md.

Changes to this policy

If a future release changes what the app sends and where, this page is updated with it and the date at the top changes. Material changes are also noted in the release notes.

Contact

Questions about this policy: open an issue at github.com/wilsonglasser/oryxis/issues, or email [email protected]. For security reports, follow SECURITY.md instead of a public issue.