Privacy Policy
Argus analyzes your Claude Code sessions to score developer behavior across five axes. Your source code never leaves your machine. Analysis runs locally in a Docker container. Only numeric scores and behavioral summaries are uploaded to YC.
Last updated: March 2026
What the upload script collects
Claude Code transcripts
JSONL files from ~/.claude/projects/.
These contain your full conversation history with Claude Code: your prompts, Claude's responses,
tool usage records (file reads, edits, bash commands), session metadata, subagent transcripts,
and tool result files.
Git repository data (unless --no-repo)
A git archive snapshot of your repository
(with the exclusion list below), up to 50,000 commit metadata entries (sha, author, date, subject),
100 recent diffs, merged PR data from the GitHub API, and scc line counts.
Total archive capped at 50MB.
Metadata sidecar
Git remote URLs, local directory paths, and PR links extracted from transcripts.
What the script removes before sending
The upload script applies these redaction patterns to all JSONL and JSON files before transmission:
| Pattern | What it catches |
|---|---|
| sk-ant-* | Anthropic API keys |
| sk-* | OpenAI API keys |
| AKIA* | AWS access keys |
| gh[pousr]_* | GitHub tokens (PATs, OAuth, fine-grained) |
| eyJ*.eyJ*.* | JSON Web Tokens (JWTs) |
| Bearer * | Bearer authorization tokens |
| API_KEY=, SECRET_KEY=, etc. | Environment variable assignments |
Excluded files
Never included in the archive:
.env*
*.pem
*.key
credentials*
config/master.key
config/credentials.yml.enc
.secret*
tmp
log
How to limit what you send
| --no-repo | Skip bundling git repository data entirely. Only transcripts are included. |
| --since 2m | Only include sessions from the last 2 months (supports days, weeks, months). |
| --project NAME | Select a specific project by repository name instead of all projects. |
Account data
Email. Used for magic link authentication. Tokens are SHA256-hashed at rest, expire after 15 minutes, and are single-use.
Session cookie. _argus_session, 1-week expiry. HttpOnly, Secure, SameSite=Lax.
API tokens. Used for Docker client authentication. SHA256-hashed at rest. Admins can revoke tokens and set usage limits.
What we generate from your data
- LLM narratives. High-level behavioral summaries of each session generated by Claude.
- Behavior scores. Numeric scores across 5 axes: Throughput, Steering, Engineering Quality, Product Thinking, Planning.
- Decision patterns. Structured records of how you directed the AI during coding sessions.
- Evidence excerpts. Transcript and commit excerpts with vector embeddings, used for search and analysis.
- Episode groupings. Sessions grouped into coherent work episodes.
- Commit group analysis. Git diffs grouped and reviewed by LLM for code quality signals.
- LLM call logs. Full request/response logs retained temporarily for anti-gaming verification, then scrubbed. After scrubbing, only metadata (token counts, cost, content hash) is retained.
Third-party services
| Anthropic Claude API | Transcript text sent for behavioral analysis. Requests are routed through both Anthropic's API and Microsoft Azure. Processes condensed conversation excerpts (not source code files). |
| Google AI Studio (Gemini) | Code evidence and transcript excerpts sent for vector embedding generation. Used for semantic search in the chat feature. No data is stored by Google. |
| Mailgun | Email delivery only (magic link authentication). We send your email address; Mailgun delivers the message. |
| Google Fonts | Loaded browser-side. Exposes your IP address and user agent to Google. |
| Amazon Web Services | Application hosting (ECS Fargate, us-west-2 Oregon). Manages web server, background workers, database (RDS PostgreSQL), Redis (ElastiCache), and file storage (S3). |
| Sentry | Error tracking in production only. No PII sent. Captures error context, stack traces, and performance samples. |
Who can see your results
You. Results pages require login. Only the account that uploaded the data can view the results.
YC admins. Employees with @ycombinator.com email addresses have admin access to all uploads.
Chat conversations. Stored server-side and tied to your upload. Same access rules apply.
Security
- HTTPS with HSTS enforced on all connections
- Secure, HttpOnly, SameSite cookies
- API tokens and magic link tokens SHA256-hashed at rest
- Rate limiting: 100 requests/hour per IP, 500 LLM calls/day per token
- Sensitive parameters filtered from server logs
- CORS restricted to application origin
- Anti-gaming: 5-layer verification system (HMAC nonces, score re-derivation, anomaly detection)
What we do not collect
- No analytics services (no Google Analytics, Mixpanel, Segment, Hotjar)
- No tracking pixels or beacons
- No browser fingerprinting
- No cookies beyond the session cookie
- No third-party ad or marketing trackers
- localStorage is used client-side only (chat UI state)
Data retention and deletion
Upload data (scores, narratives, metrics) is stored indefinitely. When an upload is deleted, all associated data is cascading-deleted (projects, sessions, episodes, decisions, evidence chunks, chat conversations).
LLM proxy logs are retained temporarily for anti-gaming verification, then scrubbed of prompt content. Metadata (token counts, cost, content hash) is retained permanently.
To request deletion of your data, contact us at the address below.
Contact
Questions about privacy or data handling: oss@ycombinator.com
Full Upload Mode (opt-in)
When you run the upload script with the --full-upload flag, additional debug data is sent to the server
alongside the normal scores and summaries. This is intended for debugging pipeline quality and is completely opt-in.
Additional data sent in full upload mode:
- Raw AI transcript files (your conversations with coding assistants)
- Condensed/chunked transcript text used for analysis
- LLM prompts and responses generated during pipeline processing
- Extracted session events and signals
- Pipeline execution logs
This data is stored as an encrypted archive in S3, accessible only to YC administrators. Debug archives are automatically deleted after 30 days. Full upload mode defaults to on for YC admin accounts and is opt-in for all other authorized users.
Example: what gets uploaded to YC
Anonymized example of the JSON payload sent from the Docker container. No source code, no file contents, no raw transcripts.
{
"episode_scores": [
{
"title": "Authentication refactor",
"scores": { "throughput": 7.5, "steering": 8.0, "eng_quality": 7.0, "product_thinking": 6.5, "planning": 7.0 },
"confidence": "high"
}
],
"session_summaries": {
"abc123": "Developer refactored auth middleware across 3 sessions. Started with a clear plan, tested edge cases, caught a regression early..."
},
"git_metrics": {
"velocity": { "loc_per_day": 3200, "commits_per_day": 12 },
"total_commits": 47,
"loc_stats": { "test_ratio": 1.2 }
},
"slop_data": { "percentage": 0.02, "signals": [] },
"nonces": ["req_001:a1b2c3d4", "req_002:e5f6g7h8"]
}