Map-bounded rehydration
RuneLM reverses only the placeholders it minted for that session. If a compromised or injected model reply synthesizes a placeholder of its own, a naive rehydrator would fill it in and leak the real value. RuneLM leaves it masked. We did not find this behaviour documented in the six tools we surveyed.
BoundaryThat is our own qualitative assessment of publicly documented behaviour, current as of 2026, not a funded head-to-head benchmark.
runelm.com comparison table · classifier rehydration path
Fail-closed by architecture, not by flag
Any error in classification, pseudonymization, routing or audit blocks the request. There is no configuration that turns this off, because it is not a configuration.
BoundaryFail-closed protects the outbound path. It does not defend a compromised host, a compromised local model, or the semantic inference an attacker can still do on pseudonymized text.
docs/THREAT-MODEL.md §2
HIGH content physically cannot leave the box
Content classified HIGH routes to a local L1 model only. There is no --allow-l3-for-high flag, and the system does not ask. Data residency as code rather than as a policy document.
BoundaryOnly the HIGH path provides full data isolation. The MEDIUM path is probabilistic risk reduction under contract, and it does leave, in pseudonymized form.
router policy · docs/THREAT-MODEL.md
It understands security-tool output
Stage 5 parses JSON, XML, CSV, Nmap and Burp output and sanitizes per field, so a SOC analyst can send scan results to a model without handing over the network they describe.
BoundaryStructured parsing covers the formats it implements. An unrecognised format falls back to text classification, which is broader but blunter.
classifier/structured.py