Data handling & privacy
TheSpider does not upload your source tree. The agent runs a command in the checkout and sends git metadata plus model output. A cloud-backed model CLI may still send code to its own provider. That is a separate policy.
What the server gets
| Data | Detail |
|---|---|
| Git metadata | branch, commit SHA, remote URL, dirty flag |
changed_paths | path strings, not file contents (API caller or GitHub, for incrementals) |
| Raw model stdout | the whole stdout string, which can include cited code |
| stderr tail | last 4,000 bytes, for diagnostics |
| Result metadata | exit code, duration, model code, client version, prompt hash |
The rendered prompt goes the other way, agent-ward. Results echo only its SHA-256. Prompts and output are also stored as artifacts.
TheSpider does not get the source tree as a payload, and does not get the API keys your local CLI uses.
Never put credentials in a git remote URL. That URL is stored.
Secrets in evidence
A finding about a leaked secret can include the secret itself in stdout. Three layers:
- Server scrubber (always on) for parsed findings, before they are stored as reports. It does not scrub raw stdout artifacts.
--redacton the agent (opt-in) masks secret-shaped strings and caps stdout at 1 MiB before upload. That is the control that protects the raw artifact. Truncation can clip the findings marker and make a slice look empty.- Lease logs on your own machine. The agent keeps a per-lease run log on your machine under its data directory: the model's stdout and stderr, plus a small metadata and result record. Nothing is uploaded; this is separate from the artifact the server already stores.
--redactgoverns that local copy by exactly the same rule it applies before upload, so the flag means one thing everywhere. There are two rules and no others:- stdout follows
--redacton both sides. Without the flag, the log holds the model's raw stdout, streamed as it arrives — that is what makeslog show --followlive. With the flag, the log holds the same masked, 1 MiB-capped buffer that is uploaded. - stderr is raw on both sides.
--redacthas never masked stderr for the upload, and it does not mask the local copy either.
Under--redactthe payload is not live: nothing reaches the disk while the model runs, and both files are written once, when the model exits, solog show --followreports the lease's state and liveness during the run and delivers the output at the end. That is a deliberate trade, and--redactis off by default.
The localstderr.logholds the model's complete stderr, while the upload carries only its last 4000 bytes — the local copy is the bigger exposure of the two, not the smaller. Both local streams are capped at 32 MiB each; past that the agent stops appending and records the truncation in the result record.
On Unix the log directory is0700and its files are0600; on Windows they inherit the parent ACL, and note that%APPDATA%roams — setTHESPIDER_LOG_DIRto keep multi-megabyte transcripts out of a roaming profile. Treat these files exactly as you would treat the raw artifact on the server. Nothing sweeps them:thespider-agent log cleanis the collector, andTHESPIDER_NO_LOGS=1turns lease logging off entirely. - stdout follows
The server-side scrubber in layer 1 is unrelated to either --redact case: it always runs on parsed findings, never on raw stdout artifacts, and never on anything the agent keeps locally. Details: the agent.
Cloud signup answers
Cloud email signup asks for a name, account type, role, and primary intent (business accounts also give a company name and size band). Those answers sit on the account record so we know who uses the product. They are not used for marketing, not returned in session payloads, and not shown in org or project UI. On-prem signup does not collect them.
Retention
| Data | What happens |
|---|---|
| Reports, findings, triage | Stay in Postgres until an operator removes the owning data |
| Cloud signup profile | Stays with the account until the account is removed |
| Slice artifacts (prompt / output / stderr) | Stay in the object store until an operator or bucket lifecycle removes them |
| Agent lease logs (on your machine) | Stay in the agent's data directory until you run thespider-agent log clean. Never uploaded. |
There is no self-service project or finding delete in the UI or public API. SaaS deletion is operator-assisted. On-prem customers control their own Postgres and storage.
Org and project data is scoped in the application and in Postgres. On-prem is single-tenant on your database. See on-prem.
The dashboard feedback form sends type, title, description, current path, and your email only when you submit it.