# NousResearch/hermes-agent · Prevent redacted secret placeholders from being persisted

## Open now

- 2 issues, 3 PRs open on GitHub.
- #30962: Patch tool can fail or corrupt secrets when old_string is copied from redacted file output
- #42727: \[Bug\]: agent-led self-configuration can persist redacted credentials and break gateway connectivity
- PR #31003: fix(tools): reject redacted-secret placeholders in write_file / patch input (#30962)
- PR #42748: fix(config): refuse to persist redacted secret placeholders via config set
- PR #70454: fix(config): reject redacted credential placeholders

These issues and fixes address a shared problem: redacted credential placeholders (e.g. masked secret values) could be accidentally written to files or saved to config, potentially corrupting secrets or breaking connectivity. The work focuses on adding validation to reject such placeholders at input boundaries.

## TL;DR

- 6 member(s): 2 open issue(s), 0 closed issue(s), 3 open PR(s), 0 merged PR(s), 1 PR(s) closed without merging.
- No fix has been merged to main; one or more PRs were attempted (see below).
- **Recommended:** review the prior/competing PR(s) below. A fix was attempted but not merged; your case may extend or revive that work.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `unresolved`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_PARTIAL`): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
- Members outside that structural core may belong to a different underlying problem.
- Pairwise link density `0.29`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Open related issues

- #30962: Patch tool can fail or corrupt secrets when old_string is copied from redacted file output
- #42727: \[Bug\]: agent-led self-configuration can persist redacted credentials and break gateway connectivity

## Prior & competing PRs

- **#31003: fix(tools): reject redacted-secret placeholders in write_file / patch input (#30962)**. open
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `de928bccd`, `#35519`
  - files: `agent/redact.py`, `tests/agent/test_redact.py`, `tests/tools/test_file_operations.py`, `tools/file_operations.py`
- **#42746: fix(config): reject redacted credential placeholders**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`
- **#42748: fix(config): refuse to persist redacted secret placeholders via config set**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`; refs `#42746`
  - files: `hermes_cli/config.py`, `tests/hermes_cli/test_set_config_value.py`
- **#70454: fix(config): reject redacted credential placeholders**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `hermes_cli/config.py`, `tests/cli/test_cli_save_config_value.py`

## Fix status

- No merged fix on record.
- Subsystem: `agent`
