Security and privacy
This page explains how traces move from your machine to a buyer, and where the weak points are. It is written to be checked against the docs and the privacy policy.
The path of one trace
You run a command
The CLI does nothing in the background. Every read starts with a command you typed or approved.
Local read
It reads session files only from sources you approved, and skips any project you marked private.
Local redaction
Secrets, contact details, paths and your blocked terms are replaced with [REDACTED:kind] markers.
Your approval
A dry run shows counts and findings. Upload needs an explicit confirmation of the plan.
Encrypted upload
Approved traces are gzipped and sent over TLS to private storage, tied to your account.
Server scrub and review
A second scanner pass runs. Risky traces are rejected. Clean ones are scored and listed.
Licensed delivery
Only listed traces are packaged for buyers under a license that forbids re-identification.
Steps 1 to 4 happen on your machine. Nothing about your sessions is sent before step 5.
What the CLI reads
The CLI looks for session files in known locations for Claude Code, Codex, Cursor, Gemini CLI and OpenCode. Listing sources reads file metadata only: paths, sizes and dates. Session content is read when you run a dry run or an upload, and only for approved sources and projects.
- It does not read your source tree, git history, browser data or other applications.
- It does not run as a daemon, install a file watcher or modify your agent configuration.
- Private projects are skipped before their sessions are parsed. Their names stay in your local config file only.
- Local settings live in
~/.selltraces/config.json. You can read and edit it.
The CLI calls our API for login, eligibility, status and uploads. A dry run does not send session content.
Storage and access
- All traffic uses TLS. Uploads go straight to private object storage that is not publicly addressable.
- Account data lives in a managed Postgres database. Both stores are encrypted at rest by the provider.
- Raw project paths never leave your machine. We store a project alias you can see and a one-way hash used to group traces.
- Access to trace content is limited to the people who run review and dataset packaging. We keep that group small and remove access when roles change.
- Buyers receive scrubbed, listed traces only, never your account details.
Credentials
selltraces login uses a device code flow: you approve the session in your browser, and the CLI stores an access token in ~/.selltraces/credentials.json with file mode 0600. We never ask for your password in the terminal. selltraces logout deletes the local token, and you can revoke sessions from the dashboard.
Retention and deletion
- Exclude an unsold trace with
selltraces excludeor the dashboard. It is removed from listings right away and its content is deleted from storage within 30 days. - Traces that were part of a completed sale stay licensed to that buyer. We stop offering them in new datasets on request.
- To close your account and delete unsold traces, email hi@selltraces.ai from the address on your account.
- We keep sale and payout records for as long as tax and accounting law requires.
What we do not have yet
We are a new, small team. You should know what is not in place today:
- No SOC 2 report or third-party security audit yet.
- No public bug bounty with cash rewards yet.
- Redaction is pattern based. It will miss some secrets and cannot judge what is confidential.
We will update this page as that changes, and note the date.
Report a vulnerability
Email hi@selltraces.ai with the subject line “Security report”. Include steps to reproduce and the impact you see. We will confirm receipt within three business days.
If you act in good faith, avoid privacy violations and service disruption, and give us reasonable time to fix the issue before disclosure, we will not pursue legal action against you for your research.
Last updated October 22, 2026.