Most identity stacks were built for clean data in a single script. The collection environment is none of those things. Three failure modes compound in practice.
A name in Arabic returns zero candidates against a Latin-script index. Translation at ingest time introduces ambiguity — عمر maps to "Umar" or "Amar" depending on the chosen convention — and that error propagates silently through every downstream stage.
Three sources mention the same subject across Latin, Arabic, and Cyrillic. The system is forced to emit a match or no-match before the evidence is complete. The genuine underdetermination collapses to a single bit. Analysts inherit false positives they cannot explain.
A screening tool returns 0.73. What produced it? Without per-component evidence, an analyst cannot override it, a regulator cannot audit it, and a false positive cannot be corrected without re-running the entire pipeline from scratch.
Names are stored in the script and language in which they arrive — no lossy index-time translation. Query in Arabic against a mixed-script index and receive candidates in Arabic, Cyrillic, and Latin, scored on coherence and confidence as two independent axes.
An investigation pins to a graph version. Every query inside the session resolves against that version — regardless of how many ingest events have arrived since. A migration report surfaces which clusters split, merged, or shifted when you choose to advance.
Every resolved claim traces to a citable mention: source document, passage, confidence, and the per-component scores that produced it. Nothing the engine decides is unprovenanced. Blocking evidence and resolving attributes are returned in the response envelope — not behind a second call.
RBAC, per-mission corpus partitioning, and an air-gap-deployable build for sovereign environments. Your collection environment, your perimeter. No phone-home, no vendor cloud dependency — integrator-controlled data flows throughout.
An investigation pins to a graph version. Every query inside the session resolves against that pinned version, no matter how many ingest events have arrived since it opened.
When the graph evolves, the session surfaces a migration report — which clusters split, merged, or shifted — and the analyst decides whether to adopt the new view. The evidence basis cited in the original decision is never silently overwritten.
"Reproducibility" usually means re-run the query and hope. Here it is a guarantee, expressed in the architecture.
Subject: "Tariq al-Rashid". Session pinned to graph v_20260301_0900. All subsequent queries inside this session resolve against this exact version — regardless of ingest.
New mentions in Arabic and Hebrew sources processed. Graph advances to v_20260313_1142. Alert delivered to session. The session continues to resolve against v_20260301_0900 — no disruption to the active investigation.
The "Tariq al-Rashid" cluster has split into two candidates in the live graph. Migration report surfaced: 1 split, 2 new resolving attributes. The session is unchanged. The analyst sees what diverged and why.
Analyst reviews the migration report and adopts the new graph version. Confidence on the primary candidate advances from 0.83 to 0.91 — the new evidence is qualifying. The original decision's evidence basis remains intact and replayable.
Identity work in national-security environments cannot be outsourced to a vendor's cloud. Kloom is a library you operate inside your own perimeter, with the data flows you define.
Kloom runs inside your perimeter with no network egress required. No phone-home, no vendor cloud dependency — data flows you define, from ingest through query.
Per-mission corpus partitioning and RBAC ensure that collection, evidence, and query results from one mission cannot bleed into another.
Every mutation is logged with the acting principal. A forensic stream with tamper-evidence sits alongside a lean operational stream — both configurable by the integrator.
Kloom ships as a library. The host process owns identity, access control, persistence, and operational concerns. The library owns entity resolution — nothing more.
Two-phase resolution: shortlist, then coherence-scored rerank. Multi-script, original-script storage, coherence and confidence on separate axes.
standalone libraryAppend-only record of every mention and attribute. Blocking evidence and resolving attributes returned in the response envelope.
Deterministic session pinning over the append-only evidence layer — reproducible without a snapshot copy.
The core entity layer. Continuous reshaping as evidence arrives — no destructive merges, splits are recomposition events.
A demo runs against representative data from your domain and returns resolved entities you can audit end to end. Thirty minutes, with engineering in the room.