Your code never leaves your infrastructure.
Because Threaded never holds it.
Threaded is software you run on your own Kubernetes cluster. Your repos, your threads, your workspaces, and your agent runs all live inside your perimeter — we operate none of it. This page describes the small slice of data Threaded the company actually sees, and what we do with it.
Bring your own Kubernetes.
Threaded ships as a Helm chart. You install it in your cluster, point it at your GitHub org, and that's the entire surface where customer data lives. There is no Threaded-operated SaaS plane that proxies, mirrors, or backs up your threads.
Almost nothing.
For a self-hosted deployment, the only data that crosses our boundary is what you choose to send during support, plus the billing metadata Stripe needs to invoice you.
- No phone-home.Your install does not call back to a Threaded-operated service to validate, count seats, or verify entitlements at runtime. The license is contractual, not a network check.
- Anonymous version telemetry (opt-in).If you turn it on, we receive aggregate counts: builds per week, agent runs per week, error rates by component. Off by default. No content. No identifiers beyond a salted org hash.
- Support bundles you upload.When you file a support ticket, you can attach a redacted log bundle. We see only what you choose to include. Bundles are deleted 30 days after the ticket closes.
- Billing metadata.If you're on a paid plan, Stripe processes your invoice. We see seat count and plan tier; Stripe sees the rest under their standard terms.
- We do not train models on anything.We don't have your data to train on. The model provider you bring — Anthropic, OpenAI, an AI Gateway via OpenCode — governs training under their terms. We recommend the zero-retention API tier of whichever provider you use.
Under GDPR, CCPA, and equivalent.
For data Threaded.fyi controls (license records, support tickets, billing metadata) you can request access, correction, export, or deletion at any time. We respond within 30 days.
For the threads, code, and agent runs inside your cluster, you are the data controller. Threaded the software ships export and delete primitives — use them, and the data is gone from your storage. We don't have a copy.
Wherever you deploy.
Data residency is yours to control, not ours. If your cluster runs in eu-west-1, your threads run in eu-west-1. Air-gapped installs work out of the box — the only required outbound call is to your model provider, and that's your decision to route or proxy.
A hosted multi-tenant plane is on the roadmap for teams that explicitly don't want to run their own cluster. It is not the default and never will be.
Reach the team directly.
Privacy questions, access requests, and DPA inquiries route to a real human. We respond inside three business days, usually faster.
privacy@threaded.fyi →