Harpax is a local-first product. The sessions, prompts, tool calls, and detections that Harpax processes stay on your machine by default. Nothing is transmitted to Cambric AI unless you explicitly turn on an integration that does so — and the integrations that do exist are off by default.
What Harpax captures
While a Claude Code session is running, Harpax captures:
- Every tool call (the tool name and its arguments)
- Tool execution results returned to the model
- User prompts you submit
- The model's responses (messages and reasoning content)
- Session lifecycle events (start, end, token usage, model selection)
- Detection results produced by the rules engine
All of this is necessary for Harpax to do its job — you can't enforce a detection on an event the daemon never saw.
Where the data lives
Captured events are written to JSONL files in ~/.harpax/sessions (configurable). After a configurable delay following session end, the JSONL is compressed and ingested into a local SQLite database for fast historical queries. The raw JSONL is deleted after the retention window expires.
All of this lives on your machine, under your user account, in the file system you already control. Cambric AI has no access to it.
What leaves your machine (and only if you turn it on)
A small number of Harpax features can send data off-device. Each one is off by default and individually opt-in:
| Feature | Default | What gets sent, and to whom |
|---|---|---|
| Webhook alerts | Off | Detection alerts to a URL you configure (e.g., a Slack incoming webhook). Cambric isn't in the loop. |
| Email alerts | Off | SMTP messages through a server you configure. Sent to the address you set. |
| Tier 3 LLM review | Off | Event summaries to a third-party LLM provider you configure (Anthropic, OpenAI, etc.) using your API key. Cambric does not proxy this traffic. |
| Threat intelligence feeds | Off | Outbound requests to feed URLs you list, to fetch updated detection patterns. |
| Session summaries | Off | Session content to a summary provider you configure. |
What Cambric AI does not collect
Out of the box, Harpax does not:
- Send your sessions, prompts, or tool calls to Cambric servers
- Phone home with telemetry, crash reports, or usage analytics
- Require an account or login to use the product
- Share data between users or aggregate it across installations
The daemon does maintain a small internal identity for its own purposes — a build version and a fixed magic string used so the GUI can confirm it's talking to the right daemon process — but nothing about that is transmitted off your machine.
When you contact us directly
Information you send to [email protected] or to the Cambric service desk is processed in order to respond to your inquiry. If your message includes log excerpts or session data, we use that content only to diagnose the issue you reported.
Please redact secrets before sending. We'd rather get a redacted log than an unredacted one.
Your data, your control
- Change the storage location: edit
storage.pathin~/.harpax/config.yaml - Shorten retention: lower
retention.max_age_daysor setcleanup_on_session_end: true - Delete everything: stop the daemon and remove
~/.harpax/ - Export a session: use
harpax export <session-id>or the Export action in the Session Detail page
If Harpax ever adds an opt-in cloud feature that would transmit session content to Cambric, it will be clearly labeled in the GUI, off by default, and documented here.