What leaves your machine
Your workspace stays on your Mac. Inspection and verdicts run locally and offline. Below is the complete list of network endpoints the Dryx app can contact, and exactly what each one sends, exceptions included. Admitting the exceptions is what makes "no telemetry" believable.
Every endpoint Dryx can contact
License verification — direct download
Contacts the licensing endpoint (Keygen, at api.keygen.sh) when you activate or deactivate a license, to bind it to this Mac and check seat limits.
Sends: your license key and a device fingerprint (a hash of a hardware identifier). Receives: valid / invalid. Note: offline-signed licenses verify locally against an embedded public key — the online check is for activation and seat limits, never your data.
Update check
Contacts releases.dryx.ai for the release feed so the app can tell you a newer version exists. It checks about once a day after setup, and you can turn the automatic check off in Settings → General ("Check for updates automatically").
Sends: the app version and platform. Receives: the release feed — each release entry in it carries an Ed25519 signature from the same offline key that signs every Dryx release. Dryx does not install updates for you — it tells you one is available and points you at the download.
MCP Registry verification at registry.modelcontextprotocol.io — optional, per server, off by default
Dryx never contacts the registry for a server you haven't enabled. When you turn on registry checks for a server, Dryx fetches that server's reputation data and keeps it fresh at Inspect until you turn it off (Settings → General). The Search registry link beside an unknown server in Skill Shield opens the registry in your browser; the app itself sends nothing there.
Sends: the names of the servers you've enabled, and nothing else from your configuration. Receives: trust and reputation data for those names.
Skill Shield package fetch — user-initiated
Fetches the package you point it at, so it can analyze that package before you install it. Nothing is fetched until you paste, drop or click.
Sends: plain HTTPS requests, with no cookies and nothing about you or your workspace, to the address you give and, when that address is a registry entry or a listing page, to where it points for the package: the registry itself, or the GitHub source it names. The hosts it can reach are github.com, www.github.com, codeload.github.com, registry.npmjs.org, npmjs.com, www.npmjs.com, clawhub.ai, ClawHub's download service at wry-manatee-359.convex.site, mcp.so, smithery.ai and glama.ai. Receives: the package, to analyze locally.
Webhook output — Pro, user-configured
Sends findings to your own SIEM / SOAR endpoint, only if you configure one.
Sends: your findings and monitoring alerts, at the level of detail you choose, to the endpoint you set, with a random per-install handle naming this Mac in each delivery, never the hardware identifier (and, on Team, the organization and team labels you enter). Receives: nothing. Your endpoint, your data flow.
Connections addressed to this Mac
The Dryx app listens on 127.0.0.1, the loopback address, so the Authority Anchor your agents start can reach it. Programs on other machines cannot connect to it, and the connection itself never leaves your Mac. During an inspection, Dryx may also send a short request to a port on 127.0.0.1 to see whether a local server your agents use, such as a local model server, is running.
What is never sent
No Dryx-controlled server ever sees what you inspect. Dryx does not send your configuration files, behavioral telemetry or analytics. At the webhook's Full level, a finding can quote up to 80 characters of the line it matched, with recognized secrets redacted. At any level, a monitoring alert about an agent instruction file can quote up to 60 characters of the line it matched, without that redaction, and an alert about a newly added MCP server includes its command and URL. Your findings leave your Mac through Dryx when you set up a webhook, and through your agents as described below. There is no analytics SDK in the product; the update check sends the app version and platform to releases.dryx.ai, nothing more.
Any future Ecosystem Contribution is not built — there is no contribution channel in the app today; if one is ever added it will be opt-in and off by default and anonymized — off by default, and never your raw workspace. Until you turn it on, the list above is the whole list of what Dryx itself sends.
One route belongs to your agents, not to Dryx. Whatever Dryx tells an agent through the Authority Anchor — posture, counts, and today the text of its top findings — becomes part of that agent's context, and the agent's vendor may transmit and retain that context under its own terms. Dryx is moving its agent-facing answers to counts and finding handles so that a secret's name or location is never part of what an agent carries.
A note on this website: this page is about the Dryx app. The dryx.ai website itself uses Plausible — cookieless, privacy-friendly analytics (no cookies, no personal data, no cross-site tracking); the app sends nothing of the sort. The site's only other calls are user-initiated: Buttondown if you submit the early-access form, our license service (a Cloudflare Worker) if you use the resend or license-file forms on /activate, and releases.dryx.ai if you open the release log. For the license service, the request body carries only what you typed into that form (the email address or license key); like any web request it arrives with standard connection metadata, and a salted hash of your IP address (never the raw address) is kept briefly for rate limiting. Details in the Privacy Policy.
Don't take our word for it
This page is a claim. The next one is the test you can run yourself in five minutes to confirm it — watch the outbound connections and see for yourself. See Verify it yourself.