We count six numbers.
We keep nothing else.

No cookies. No fingerprinting. No accounts. No IP logging. No content, ever. This is not a legal shield written to permit collection — it is a description of code that is incapable of collecting more than it states.

Effective 2026-07-23 · applies to the hosted instance at rha.software

Everything we record

Six aggregate counters — integers that only ever go up

That is the complete list. Each counter is also kept as a per-calendar-day total so we can see a trend line. A daily total is still only a count — it is attached to a date, never to a person, a session, or a request.

Everything we do not record

None of this is stored, transmitted, or derivable from what we keep

To tell a human visit from a crawler, the server inspects the User-Agent header in memory for the duration of a single request and discards it immediately. Only the resulting +1 — to either the human or the bot counter — is ever written to disk. The header itself is never stored.

Where it lives

The counters live in a single file (data/telemetry.json) on the server that hosts this instance. They are never sold, never shared, and never sent to a third party. There is no analytics SDK, no tracking pixel, and no external beacon anywhere in this application.

Your keys

If you use the Provider Vault Chrome extension, your API keys are encrypted (AES-256-GCM, PBKDF2) and stored only inside the extension on your own machine. They never reach this server except as a live request to the provider you configured, and they are never logged.

Your install identity (local stats plumbing)

Behind the scenes, each install generates a hash used only as internal plumbing to key your locally-stored run metrics; it is not shown anywhere in the app UI. It is generated once on first load of the Provider Vault extension and kept only in chrome.storage.local. It never leaves your machine except inside a bug report you explicitly choose to submit. Reloading or updating the extension keeps the same hash; deleting and reinstalling resets it.

Bug reports

When you choose to submit a bug report, you send us the exact prompt you compiled and the complete run log (pipeline events, problems, and run metrics), and the submission screen shows you precisely this content before you send it. We use this data for one purpose only: diagnosing and patching RHA. We do not use it for anything else, and we do not disclose it to anyone except as necessary to fulfill that single purpose; anyone who receives it for that purpose is bound by these same restrictions. Reports are retained only as long as needed to resolve the issue they document.

Aggregate telemetry (the six counters above) remains separate. This section covers particulars only — and only when you explicitly consent and submit.