Help Center / Security & privacy

Security & privacy

Klaxon is designed so an active breach never has to leave the building. This page explains the local-first architecture, the zero-network core, exactly what does and does not leave your machine, and the guarantee that no PII ever ends up in a cloud payload.

On this page

Local-first by default

Every incident — its facts, timeline, tasks, roles, evidence hashes, comms log, and obligation statuses — lives only in your browser's localStorage, under a single key. There is no account, no server, and no network dependency for the core console. You own the data because it never leaves your device unless you take an explicit, opt-in action.

The zero-network core

After the page and its static content packs (the jurisdiction, playbook, scenario, and letter data) load, the core console makes no network calls. All of the following happen entirely in-browser, offline:

This is deliberate: during an incident your network may be compromised, so the tool that runs the response must not depend on it.

What leaves the machine (and what never does)

ActionLeaves the machine?
Declaring incidents, setting facts, computing obligationsNo. Local only.
Timeline, evidence file contents, comms bodies, affected-individual dataNever. Not even with cloud enabled.
Generating / exporting letters, PIR, auditor bundle, .icsNo. Files are produced locally and downloaded.
Opt-in scheduled push (you enable it + enter a target)Yes, but only secret-free reminder metadata — see below.
Opt-in evidence publish of a closed incidentYes, but only non-sensitive metadata — see below.
Opt-in AI copilot (you enable it + add a key)Yes, scrubbed prompt, directly to your provider — never via a DosanjhLabs server.

Evidence: hash, not upload

When you attach an evidence file, Klaxon computes its SHA-256 hash in your browser and stores only the filename and that hash. The file content is never uploaded — not to a DosanjhLabs server, not anywhere. The hash is a chain-of-custody fingerprint you can use later to prove a file is unchanged. See Evidence.

The opt-in cloud: no PII in payloads

If you opt in to the cloud tier (see Scheduled push), the payloads are secret-free by construction:

The AI copilot: client-direct, scrubbed

The optional AI copilot is off by default and is mandatory client-direct: your browser calls your chosen provider (OpenRouter / OpenAI / Anthropic) directly with your own key, which is stored only in your browser's localStorage. No prompt ever transits a DosanjhLabs / Keystone server. Before any prompt leaves:

Where data is stored

All incident state lives under a single localStorage key in the browser profile you use. That means it is scoped to that browser, on that machine, for that profile / user. It is not synced across devices or browsers automatically.

Backups & durability

Because data lives in browser storage, it is as durable as that storage — clearing site data, using a different browser/profile, or a wiped machine will lose it. To keep durable records:

Store those exports in your normal secure document system. The exports are your portable system of record.

Shared-machine hygiene

If you run an incident on a shared or temporary machine, remember the data persists in that browser profile until cleared. On a shared device, use a private/locked profile, export what you need, and clear site data when done.

← Opt-in scheduled push  ·  Next: Troubleshooting & FAQ →