Source: https://reclaimllm.com/news/local-redaction-of-sensitive-information
← Back to News feature Apr 27, 2026Local Redaction of Sensitive Information
RCLM hooks can now apply cached substitution rules, local-only redactions, and folder exclusions before session uploads leave the machine. RCLM hooks now support local redaction before captured sessions are uploaded. When configured, hook uploads apply substitution rules on the machine first, so matched strings in session messages, tool calls, and file diffs are replaced before the payload is sent to ReclaimLLM. This change addresses a privacy gap in hook-based capture. Hooks run close to the developer workflow, and they can see raw context before server-side processing happens. If a team has configured substitutions for secrets, identifiers, internal names, or other sensitive strings, those rules should be able to run before ingestion, not only after data reaches the backend.How it works
Hook redaction is enabled by default. During hook installation and duringrclm-update, RCLM fetches the account’s remote substitution rules and stores a local cached copy in the machine’s RCLM config.
The local redaction config includes:
redaction.enabledredaction.remote_substitutionsredaction.local_substitutionsredaction.exclude_foldersredaction.last_sync
Updating local rules
Shared substitution rules are managed in the ReclaimLLM app. After adding, editing, or removing shared substitutions, run:redaction.local_substitutions in the local RCLM config as a string-to-string map.
Folder exclusions are also local. Add project or directory paths under redaction.exclude_folders. When a captured session has a working directory or transcript path inside one of those folders, the hook skips upload entirely. This is stricter than substitution: nothing from that captured record is sent.
A typical workflow is:
- Configure shared substitutions in the app.
- Run
rclm-updateon machines that have hooks installed. - Add local-only substitutions for machine-specific values.
- Add excluded folders for repositories that should never be uploaded.
- Let hooks redact locally during normal session capture.
Tradeoffs and limitations
This implementation intentionally does not fetch remote substitutions on every upload. Doing so would keep settings fresher, but it would add network latency and another failure path to every hook upload. The current design keeps the upload path local and predictable. The tradeoff is staleness. If you change substitutions in the app, already-installed hooks will not see those changes untilrclm-update runs again. The app should remind users to run rclm-update after substitution changes.
This is also string replacement, not semantic sensitive-data detection. It only replaces strings that match configured substitution keys. If a key is too broad, it may over-redact. If a sensitive value is not configured, local hook redaction will not infer it automatically.
Future direction
The next direction is to make substitution updates closer to real time, so local hook caches can update after remote substitution changes without relying only on manualrclm-update. The goal is to keep the upload path fast while reducing the chance of stale local rules.
We also plan to add server-side redaction as defense in depth. Local redaction should prevent sensitive values from leaving the machine in normal hook uploads, but the server should still apply redaction when local clients are old, disabled, misconfigured, or miss a value.
What we are watching
The main question is whether manual sync is enough for the first version. If users often forget to runrclm-update, real-time or conditional sync becomes more important.
We are also watching edge cases around malformed local config, folder exclusion matching, and overly broad substitution keys. Feedback is especially useful if you rely on hook capture in repositories with stricter privacy boundaries or machine-specific secrets.
ShareShare on X Share on LinkedIn Share on Facebook