Operator-side case database

Your local case knowledge base.

Drop in case files. The runtime classifies each one, extracts entities, builds a graph, and writes a local SQLite file. Detector-class PII is redacted from summaries and entity names are salted hashes. Nothing leaves the machine until you click "share aggregates" and walk through the anonymization preview.

01 · Local KB stats

What is in your local KB right now.

Counts come from the SQLite file on this machine. Nothing here travels to the public hub.

Cases
ingested locally
Entities
extracted across cases
Edges
co-occurrence + relationship
Corridors
distinct corridors seen
02 · Ingest a file

Drop in case content. The runtime processes it locally.

Demo path: paste a file's text below. Production path (folder upload + folder watch) is documented in BULK_INGEST_PLAN.md; this page handles single-text intake today.

Local-only. Nothing is sent to the hub.
03 · Browse cases

Most recent first.

Click a case ID to fetch the full record (entities + edges + summary) from the local API.

Case IDSourceCorridorStatusIngested
Loading…
04 · Share aggregates (optional)

One click; preview before send.

When you choose to share aggregates from the local KB, only trend counts and anonymized pattern summaries are eligible. The payload runs through the same three-stage anonymization pipeline as the contribute form. You see the exact JSON before anything leaves the machine.

Open anonymization preview →

05 · Privacy + erasure

Operator-controlled. Always.

What gets stored locally

The local KB stores a redacted summary excerpt, detector labels, source metadata, relationship edges, and hashed entity names in the operator-side SQLite file. Entity names are hashed with a per-deployment salt; the raw name never lands in the entity table. The salt is in your environment (DUECARE_LOCAL_KB_SALT). Lose the salt and the names are unrecoverable even with the file.

When you want to wipe everything, click below. There is no "soft delete"; the rows are gone.