Core Privacy Principle
Your data never leaves your browser. Claude Analytics is designed from the ground up with privacy as the top priority.All data processing happens locally on your machine or in your browser. No servers receive, store, or process your usage data.
How It Works
Claude Analytics operates in two modes, both completely private:Local Mode (Direct File Access)
When running locally withnpm run dev:
- Next.js server component reads files directly from
~/.claude/directory - Data is loaded using Node.js
fsmodule (src/lib/load-data.ts) - Data is passed to client components for rendering
- No network requests are made (except for Next.js dev server)
- No external APIs are called
In local mode, data is read directly from disk on your machine. The Next.js development server never exposes this data externally.
Upload Mode (Client-Side Processing)
When using the hosted version athttps://claude-analytics.vercel.app:
- Run
node scripts/export.mjslocally to create a JSON export file - Export file is generated entirely on your machine
- You manually upload the file to the web app via drag-and-drop
- File is processed entirely in your browser’s JavaScript runtime
- No upload to any server occurs
- Data stays in browser memory and localStorage only
Architecture Details
Client-Side Only Rendering
From the architecture documentation:All components useEvery component that processes or displays data is marked with"use client". The server component (page.tsx) only reads files from disk — all chart rendering and interaction is client-side. This means the app works as a static export with uploaded files.
"use client" (src/components/dashboard.tsx:1):
No Database
From the architecture documentation:No data is ever sent to external servers. There is no database.Claude Analytics has:
- No database
- No authentication system
- No user accounts
- No server-side data storage
- No analytics or tracking
- No telemetry
Data Storage
Where Claude Code Stores Data
From the README:| File | What it contains |
|---|---|
~/.claude/stats-cache.json | Aggregated stats, model usage, daily activity, cost |
~/.claude/usage-data/session-meta/*.json | Per-session metadata (duration, tools, lines, commits) |
~/.claude/history.jsonl | Every prompt you’ve sent |
~/.claude/projects/<id>/<session>.jsonl | Full conversation messages (local mode only) |
~/.claude/projects/<id>/memory/*.md | Project memory files |
All these files are stored locally on your machine by Claude Code itself. Claude Analytics only reads them; it never modifies or transmits them.
Browser Storage (Upload Mode)
In upload mode, data is stored in:- Browser Memory — Active data for current session
- localStorage (optional) — Multi-profile data persistence
- Stays on your device
- Never syncs to cloud
- Can be cleared anytime via browser settings
- Only accessible by JavaScript from the same origin
Export File Handling
What’s Included in Exports
The export script (scripts/export.mjs) collects:
- stats-cache.json — Pre-aggregated statistics
- session-meta/*.json — All session metadata
- history.jsonl — All prompts (full text)
- memories — Project memory files with content (max 5000 chars per file)
- account info — Your account UUID and organization UUID (from statsig cache)
Export File Security
From scripts/export.mjs:101-114:- Are created locally on your machine
- Contain unencrypted JSON data
- Should be stored securely (treat like source code)
- Can be deleted anytime after viewing
- Are never required to be shared or uploaded anywhere
Network Activity
Local Mode
Outgoing requests: None (except Next.js dev server communication) Server endpoints:http://localhost:3000— Web UI (local only)http://localhost:3000/api/session-messages— Reads session transcripts from disk
Upload Mode (Hosted)
Outgoing requests: None for data processing What the hosted app does:- Serves static HTML/CSS/JavaScript files
- All JavaScript runs in your browser
- File reading happens via browser File API
- No fetch/XHR requests to external services for data
The hosted version at claude-analytics.vercel.app is a static site. Vercel serves the files, but all data processing happens in your browser’s JavaScript engine.
Code Verification
You can verify the privacy guarantees by inspecting the source code:Data Loading (Local Mode)
src/lib/load-data.ts — All functions use Node.js fs to read local files:
Dashboard Component
src/components/dashboard.tsx — All filtering and processing uses React hooks:
Upload Component
src/components/upload-zone.tsx — File reading uses browser File API:
What Data Contains
Potentially Sensitive Information
Your Claude Analytics data may contain:- Project paths — Full directory paths on your machine
- Prompts — Every prompt you’ve sent to Claude Code
- Code context — Pasted code snippets from your projects
- File names — Names of files you’ve worked on
- Commit messages — From git operations
- Memory files — Project-specific context that Claude maintains
- Account UUID — Your Claude account identifier
Not Included in Data
Your data does NOT contain:- Your actual source code files (only filenames and line counts)
- Passwords or API keys (unless you pasted them in prompts)
- Email address or name
- Payment information
- IP addresses
- Device information (beyond what Claude Code tracks)
Multi-Profile Privacy
The multi-profile feature allows you to upload multiple export files:- Each profile’s data is isolated
- Stored separately in browser localStorage
- Switching profiles doesn’t mix data
- Deleting a profile removes its data from localStorage
Recommendations
For Maximum Privacy
- Use local mode — Run
npm run devand access viahttp://localhost:3000 - Keep export files secure — Treat them like source code or credentials
- Don’t share screenshots — Redact project paths and prompts first
- Clear localStorage — Delete profiles when done analyzing
- Review export contents — Inspect the JSON file before sharing
Safe Practices
Unsafe Practices
Open Source Transparency
Claude Analytics is open source:- Source code:
https://github.com/1shanpanta/claude-analytics - MIT License
- All code is auditable
- No obfuscation or minification in repository
Compliance Considerations
GDPR
Claude Analytics:- Processes no personal data on servers
- Stores no data in databases
- Has no data controllers or processors
- Requires no consent mechanism
- Cannot be subject to data breaches (no central storage)
Data Retention
Data retention is entirely under your control:- Local mode: Data persists in
~/.claude/until you delete it - Upload mode: Data persists in browser until you clear localStorage
- Export files: Persist until you delete them from your filesystem
Questions & Concerns
If you have privacy or security concerns:- Review the source code — All privacy claims are verifiable
- Check browser DevTools — Monitor network activity yourself
- Use local mode — Eliminate any upload concerns entirely
- Report issues — File issues at
https://github.com/1shanpanta/claude-analytics/issues
Summary
Zero Server Storage
No databases, no accounts, no server-side data storage
Client-Side Processing
All charts and analytics computed in your browser
Local File Access
Reads directly from ~/.claude/ in local mode
No Telemetry
No tracking, analytics, or usage reporting
Next Steps
Understanding Data
Learn about all data types and metrics
Project Filtering
Filter your analytics by project