Spyd is privacy-first by design: full-fidelity data stays on your host, only a redacted shape leaves it, and nothing leaves until you consent. This page also covers our terms of service and data-processing commitments.
Last updated 2026-06-25 · consent disclosure_version 2
The technical facts here — what data moves, what's redacted, retention, and security measures — are accurate and verified against the running code. The legal sections (Terms, DPA, sub-processor SCCs, governing law, and entity details) are still being finalized and reviewed during beta; treat them as a working draft. Questions: legal@spyd.sh.
For data processed through Spyd Cloud, you (the customer operating the monitored hosts) are the data controller and Spyd is the data processor. The legal entity is Spyd Infotech, United States.
Lawful basis: your recorded, versioned consent (shown once at install/enroll) plus legitimate interest in security monitoring of your own infrastructure.
| Tier | Where it lives | Contents |
|---|---|---|
| local brain | this host only (brain.db) | Full-fidelity, per-host. Never transmitted. |
| central brain | Spyd Cloud (api.spyd.sh) | Redacted aggregate that powers fleet learning + the cockpit. |
| ai analysis | Spyd proxy → OpenAI | Redacted incident context for an explanation; no AI key on the host. |
| notifications | channels you configure | Full fidelity by your choice; secrets still scrubbed. |
Egress is over HTTPS, signed with this host's Ed25519 key: incident sync (~30s), brain sync (periodic batch), and a 60-second heartbeat (liveness only — no monitoring data).
Applied on the host by Spyd's redaction pipeline before anything leaves, and verified by an automated no-leak test:
| Class | Transform |
|---|---|
| your IPs | Coarsened to /24 (IPv4) / /48 (IPv6); non-IPs dropped. |
| usernames | Non-reversible per-org HMAC pseudonym (user_<hex>). |
| command lines | Reduced to the executable family name (no args/paths). |
| free text | Secret-scrubbed; embedded IPs coarsened. |
When a security detector flags a hostile external source — an attacker IP, a malicious
domain, a mining-pool address — that indicator is preserved verbatim
in the synced incident so "block the source" stays actionable. This never applies to your own data
(internal IPs, usernames, hostnames, secrets remain redacted). Lawful basis: legitimate interest
(security evidence). Set privacy.preserve_threat_indicators: false to coarsen these too.
Decline consent (or set sync.mode: local_only) and nothing egresses — Spyd runs fully
on-host with AI off.
| Data | Retention |
|---|---|
| central incidents / brain | 90 days default (org-configurable), then reaped daily. |
| local on-host data | storage.retention_days = 30 default. |
| user sessions | 30 days (HttpOnly/Secure/SameSite cookies). |
| magic-link tokens | 15 minutes, one-time. |
| enrollment tokens | 24 hours, one-time. |
| agent identity records | Until host/org deletion. |
| audit log | Retained for the life of the account (no fixed expiry). |
Third parties that process data on Spyd's behalf to deliver the service. We notify customers by email of additions before a new sub-processor begins processing, with the opportunity to object within 30 days.
| Sub-processor | Purpose | Region |
|---|---|---|
| OpenAI | AI incident explanation (via the Spyd proxy; redacted context only) | United States |
| Resend | Transactional email (magic-link sign-in, invites, notifications) | United States |
| Hetzner | Hosting (Postgres + app) and off-box backups (Object Storage) | Germany / Finland (EU) |
| Let's Encrypt | TLS certificates (ACME via Caddy) | — |
gpt-4o-mini, configurable server-side); the model is selected by Spyd Cloud.AI explanations are processed by OpenAI in the United States; redacted incident context only. Transfers rely on the EU Standard Contractual Clauses (SCCs). Hosting and backups are in the EU (Hetzner, Germany / Finland).
Spyd is a host-monitoring agent and an optional cloud control plane (Spyd Cloud / Cockpit). These terms are between you and Spyd Infotech ("Spyd").
Where Spyd processes personal data on your behalf, the customer is the controller and Spyd Infotech is the processor, acting only on the customer's documented instructions for the duration of the subscription. Full-fidelity data remains on the customer's hosts and is not processed by Spyd Cloud.
Breach notification: Spyd notifies the controller without undue delay — within 72 hours of becoming aware of a personal-data breach — and makes available the information reasonably needed to demonstrate compliance.
Privacy, terms, or data-processing questions:
legal@spyd.sh.
We bump disclosure_version and re-prompt hosts for consent on any material change to data
movement or redaction.