Help Center / Getting started

Getting started

This page covers what Klaxon is, the local-first / zero-network promise, how to open the app, how to declare your first incident, and a full worked sample.

On this page

What Klaxon is

Klaxon is two tools fused into one console:

  1. An incident-response war-room. When something goes wrong — ransomware, a lost laptop, a vendor breach — you declare an incident, assign roles, work the playbook, log every action to an append-only forensic timeline, attach evidence, and record who you communicated with and when.
  2. A breach-notification deadline engine. You enter the facts of the incident (what data, how many people, in which states, and which regulated-data flags apply). A deterministic rules engine then computes the exact set of who you must notify and by when — every U.S. state's individual and attorney-general notices, plus HIPAA, GDPR, DFARS, the SEC 8-K rule, CIRCIA, Canada's PIPEDA, and Québec's Law 25 — each with a live countdown clock.

It is a static browser app: plain HTML, CSS, and JavaScript, no build step and no install. You run it by opening a web page.

The local-first / zero-network promise

An active breach is the worst time to send sensitive details to a third-party SaaS — your network may be the very thing that's compromised. Klaxon is built around that reality:

Because data lives in one browser profile on one machine, treat that machine like the system of record: it is not automatically synced or backed up. Use the export functions (PIR, auditor bundle, .ics, letters) to get durable copies out. See Security & privacy → Backups.

Opening the app

Klaxon must be served over HTTP (not opened as a file:// path), because browsers block the fetch() calls that load the jurisdiction and playbook data when a page is opened directly from disk.

#Step
1If you are using the hosted version, just open the app page — typically /app/index.html — from the site's navigation ("Open app").
2If you are running it yourself from the repository, start any static web server in the project folder. A simple one ships with Python: python3 -m http.server 8000
3Open the app at http://localhost:8000/app/index.html. The standalone deadline calculator is at /engine.html; the marketing home is /index.html.
4You should see the console with six tabs across the top. If you instead see "Failed to load content packs," you opened it over file:// — see Troubleshooting.

The six tabs at a glance

TabWhat it does
IncidentsThe war-room. Declare incidents, set facts, see the live obligation clock and reminder cascade, the append-only timeline, roles, tasks, evidence, comms log, and the "what-changed" law-update feed.
PlaybooksA library of eight curated runbooks mapped to the NIST incident-response lifecycle, with built-in notification-trigger checks.
TabletopRun one of six timed exercise scenarios, release injects, score against a rubric, and generate an after-action report.
Notification EngineA standalone calculator: toggle states and flags, compute obligations, see substitute-notice and credit-monitoring helpers, and export the deadline calendar.
LettersThe jurisdiction-correct letter generator (individual, state AG, HHS, DFARS, GDPR, media, OPC, Québec CAI, substitute notice).
AI CopilotOptional, off by default. A bring-your-own-key, client-direct AI assistant for prose only (summaries, drafts) — it never sets legal deadlines.

Declaring an incident

  1. Open the Incidents tab.
  2. Click Declare incident.
  3. Enter a short title, for example "Ransomware — front office", and confirm.
  4. Klaxon creates the incident with a unique case ID (like INC-...), severity SEV2, status Open, and a discovery timestamp set to "now." It immediately seeds the append-only timeline with a "Incident declared" event.
  5. You are dropped into the incident detail view, where you'll set facts, assign roles, and work the response.

The discovery time is the legal clock anchor for most obligations. It defaults to the moment you declare, but you should correct it on the facts form to the actual moment of discovery — see how the clock anchor works.

A worked sample incident

Follow this end-to-end to see every core feature. It uses a realistic multi-state health-data breach.

#Do thisWhat you'll see
1Incidents → Declare incident, title it "Sample — clinic data breach."A new incident opens with a live timeline and empty obligation table.
2In Incident facts, set Discovered at to a recent date/time.This anchors the deadline clocks.
3Check the data types Name, SSN, and PHI/health.SSN drives credit-monitoring analysis; PHI triggers HIPAA.
4Check the regulated-data flag HIPAA / PHI.Turns on the HIPAA framework obligations.
5In Affected individuals by state, enter CA:600, FL:200, WA:150.Total affected becomes 950.
6Click Update facts & recompute.The Obligations & deadline clock table fills in.
7Read the obligation table.You should see: HIPAA Notify affected individuals (60 days) and Notify HHS OCR (500+, 60 days); per-state individual notices — Florida 30 days, Washington 30 days, California 30 days (SB 446); and a California AG notice because 600 ≥ the 500 threshold. Each row has a live mono countdown colored red / amber / green.
8Notice the California AG row carries an amber "fallback — record notice date" pill.California's AG clock runs 15 days after you notify residents. Until you record the real notice date, Klaxon anchors to the conservative latest lawful date. See post-individual AG clocks.
9In Individual-notice date sent, per state, enter CA:2026-06-10 and recompute.The California AG deadline re-anchors to 2026-06-25 (notice + 15 days), and the pill turns green: "from actual notice date."
10On the right, fill in Roles and click Save roles.The Incident Commander shows on the incident; a timeline event records the change.
11Under Launch playbook, pick "Data Breach (PII/PHI Exfiltration)" and click Launch.The playbook's steps become tracked tasks; notification-trigger steps are flagged.
12Attach a file under Evidence.The file is SHA-256 hashed in your browser; only the filename and hash are stored — the file itself is never uploaded.
13Look at the badge next to the incident ID.A green "timeline verified" badge — the timeline is sealed with a hash chain. See Timeline integrity.
14Go to the Letters tab and pick "Notice to Affected Individuals."The letter prefills from the incident facts and flags any missing required fields. Because SSN is involved in mandating states, the credit-monitoring clause is available.
15Back on the incident, click PIR and Auditor bundle.You get a Markdown Post-Incident Report and a JSON bundle for auditors / cyber-insurers.

That is the whole core loop. Each step is documented in depth on its own page:

← Back to the Help Center  ·  Next: The incident workflow →