You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- mobile share card: stat bars no longer collapse to 0 width (own row)
- vendor chart.js + html-to-image locally (no third-party JS on the parsing page)
- privacy copy now literally true (share URL = 6 scores + 3 totals, never text)
- lead with the RPG character-sheet hook; demote "status check"
- web card honestly labeled as a rough estimate, not comparable to CLI
- tighten web heuristic regexes (word boundaries)
- CLI not-found error prints checked paths + how to find transcripts
- favicon, full npx command visible, canvas aria-label, watermark contrast
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: README.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,7 +46,8 @@ How to get the file: claude.ai → Settings → Privacy → Export data → the
46
46
47
47
-**CLI:** transcripts are read locally and never leave your machine. Only the 6 aggregate scores plus three totals (sessions, tool calls, message count) are encoded into the share URL hash — the level shown on the card is derived from those totals. Nothing else travels.
48
48
-**Web upload:**`conversations.json` is parsed entirely in your browser (client-side JavaScript). There is no backend and no upload endpoint — there is nowhere for the file to go.
49
-
-**Share URL:** contains only the aggregated numbers, base64url-encoded in the `#s=` hash. Anyone with the link sees your stat card, never your conversations.
49
+
-**Share URL:** contains only the aggregated numbers (6 scores + 3 totals), base64url-encoded in the `#s=` hash. Anyone with the link sees your stat card, never your conversations.
50
+
- The web app vendors its JS libraries locally — opening the page makes no third-party API calls except Google Fonts (CSS only).
50
51
51
52
## How scoring works
52
53
@@ -97,13 +98,13 @@ Your top axis decides your class (ties break by axis order):
97
98
Levels follow a square-root curve against total volume — they're meant to climb slowly. The anchors are calibrated against a very heavy user, so a "normal" usage pattern landing at level 5–15 is expected, not a bug.
98
99
99
100
**Does this upload my chats anywhere?**
100
-
No. There is no server. CLI parsing happens on your machine; web parsing happens in your browser. The only thing that ever travels is the share URL you choose to copy, which contains 6 aggregate scores and totals.
101
+
No. There is no server. CLI parsing happens on your machine; web parsing happens in your browser. The only thing that ever travels is the share URL you choose to copy, which contains 6 scores + 3 totals (sessions, tool calls, message count) — never message text.
101
102
102
103
**The web upload says my file format isn't recognized.**
103
104
The claude.ai parser is beta. Export formats can change. Please open an issue with a description of the file's top-level structure.
104
105
105
106
**Can I compare with friends?**
106
-
Yes — scores use fixed anchors (not self-relative), so two people's cards are directly comparable. Swap share URLs or PNG cards.
107
+
CLI cards compare to CLI cards — scores use fixed anchors (not self-relative), so two Claude Code users' cards are directly comparable. The web (claude.ai) card is a **rough text-inferred estimate** and is **not** comparable to a CLI card; the `CLI` / `WEB · BETA` badge next to the level tells you which kind you're looking at.
0 commit comments