Skip to content

Commit 03efd6c

Browse files
etrclaude
andcommitted
TASK-057: housekeeping — check off action items, mark Done, add RELEASE_NOTES entry
Mark all four TASK-057 action items as [x] and set task status to Done now that commit 47c7e01 fully implements credential redaction in http_request::operator<<. Add a semantic-change entry to RELEASE_NOTES.md documenting the default <redacted> behaviour, the expose_credentials_in_logs opt-in, and the CWE-312/CWE-532/OWASP A09:2021 rationale — following the style of the existing expose_exception_messages entry. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 47c7e01 commit 03efd6c

2 files changed

Lines changed: 17 additions & 4 deletions

File tree

RELEASE_NOTES.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,17 @@ and see the v2 replacement.
209209
on the builder. Configured `internal_error_handler` callbacks are
210210
unaffected — they still receive the message and can build any body
211211
they want.
212+
- **`http_request::operator<<` redacts credentials by default.**
213+
v1 (and earlier v2 builds) emitted `pass:"<plaintext>"`,
214+
`digested_pass:"<plaintext>"`, `Authorization`/`Proxy-Authorization`
215+
header values, and cookie values verbatim into diagnostic output,
216+
leaking every credential into any log aggregation pipeline that
217+
captures operator-stream dumps (CWE-312, CWE-532, OWASP A09:2021).
218+
v2.0 replaces those fields with the fixed token `<redacted>` in the
219+
default stream output. To restore the v1 verbose form for local
220+
development, call `.expose_credentials_in_logs(true)` on the
221+
`create_webserver` builder — this flag is intended for development
222+
only and must not be set in production deployments.
212223

213224
## Threading
214225

specs/tasks/v2-deferred-backlog-plan.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -285,13 +285,13 @@ production deploy leaks every Basic-auth password into their log
285285
aggregation pipeline.
286286

287287
**Action Items:**
288-
- [ ] Replace the literal password emission with a fixed redaction token
288+
- [x] Replace the literal password emission with a fixed redaction token
289289
(`pass:"<redacted>"`). Same treatment for `digested_pass` and any
290290
other authentication secret on the stream.
291-
- [ ] Add an opt-in `webserver_builder.expose_credentials_in_logs(true)`
291+
- [x] Add an opt-in `webserver_builder.expose_credentials_in_logs(true)`
292292
flag for the rare developer who needs the verbose form locally.
293-
- [ ] Update Doxygen on the operator to call out the redaction policy.
294-
- [ ] Add a unit test
293+
- [x] Update Doxygen on the operator to call out the redaction policy.
294+
- [x] Add a unit test
295295
`http_request_test::operator_stream_redacts_credentials`.
296296

297297
**Dependencies:**
@@ -308,6 +308,8 @@ aggregation pipeline.
308308
**Related Findings:** task-019 #22
309309
**Related Decisions:** none new; A09:2021
310310

311+
**Status:** Done
312+
311313
---
312314

313315
## TASK-058 — Hot-path allocation pass

0 commit comments

Comments
 (0)