Auth: validate email pre-insert; reject disposable domains; keep `oauth_callback`; log `organization_id` + `request_id`; omit query/secrets; test valid/malformed/duplicate; return `invalid_email`.
illustrative rewrite · not production engine output
01
The things you run yourself. Local and byte-exact: your prompts never leave your machine to save you tokens.
caveman wrap claude proxies your agent on your machine, byte-safe, and compresses — no account needed. Log in — free, one seat, no card — to see what it saved across your team, over time.
$ cave wrap claude→ proxying claude → api.anthropic.com (byte-safe; your bytes are recoverable)→ compression: ON — no account needed14 requests · 512k tokens sentcompression cut ~310k of those (61%) —measured locally (inferred).see it over time: caveman login (free · 1 seat · no card)
$ caveman login→ signed in as dana@example.dev→ seat 1 of 1 active (Free — 5M optimized tokens/week)→ compression: on locally with or without this account→ this account adds: analytics, team/seats, cloud sync→ telemetry: token counts only, never your prompts$ cave wrap claude→ compressing on your machine · savings land in your dashboard
illustrative session · local savings are measured locally and labeled inferred
A base-URL swap on your machine. Record mode is always pass-through; on any parse problem the body goes through unchanged. Your traffic is never held hostage, and compression never depends on your account — an expired plan costs you the dashboard, not the layer.
Tool output, logs, JSON, diffs, search results, stale context — compressed on-device before tokens cost you anything. Every original is recoverable byte-for-byte, and savings stay labeled inferred.
The local profiler. It reads your own sessions and proposes the cost moves compression alone can't make — cache hints, oversized tool results, retry loops — ranked by what they could save.
Prompts and responses go direct. Caveman's cloud is not in that path.
Token counts, model names, savings numbers. There is no code path that uploads prompt or response bytes.
Nothing. Zero data retention — the endpoint refuses the upload entirely.
Prompts go from your machine straight to your provider. Caveman's cloud sees token counts, never tokens. On Enterprise, it sees nothing at all.
1 seat · account, no card
1 seat · wrap + hosted gateway
10 seats · $29 per extra
contract seats · zero data retention
3 devices per seat · dashboard-only viewers are free
Auth: validate email pre-insert; reject disposable domains; keep `oauth_callback`; log `organization_id` + `request_id`; omit query/secrets; test valid/malformed/duplicate; return `invalid_email`.
illustrative rewrite · not production engine output
tsconfig.paths. Add alias. Rebuild.const cave = new Cave({ baseURL })
await cave.compress(json)
return recoveryHandle
cave = Cave(base_url=url)
result = cave.compress(data)
print(recovery_handle)
tool caveman_compress
input JSON · logs · schemas
output inferred · CCR handle
The MIT skill: output compression for Claude Code & 30+ agents.
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bashThe commercial compression core: a byte-safe local wrap for your agent.
The bill, the budget, and the proof for production agents — with locked adapters for Vercel AI SDK, Eve, Mastra.
The skill is MIT and always will be — so are the extension shell and the SDKs. The engine is commercial, shipped as a binary. That's what pays for a real free tier.
Yes. Compression runs entirely on your machine and needs no account at all. The wrap refreshes its account state occasionally only so the dashboard stays in sync.
You lose the dashboard, team seats, and cloud sync. Local compression keeps running, and your traffic is never blocked, throttled, or altered — that rule has no exceptions.
Lives in your chat box: ChatGPT, Claude, Gemini.