Skip to content

fix(webapp,redis-worker): stop logging raw metadata, alert payloads, and job items - #4403

Merged
carderne merged 6 commits into
mainfrom
fix/redact-run-metadata-alert-worker-logs-sec-395
Jul 29, 2026
Merged

fix(webapp,redis-worker): stop logging raw metadata, alert payloads, and job items#4403
carderne merged 6 commits into
mainfrom
fix/redact-run-metadata-alert-worker-logs-sec-395

Conversation

@carderne

@carderne carderne commented Jul 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

Debug logging around run metadata writes previously included the full,
unfiltered metadata object on every flush, so credentials and other
sensitive customer-controlled data could end up in application logs. It now
logs key/operation counts and byte sizes instead, and skips the log
entirely when there is nothing buffered. The webapp logger's redaction list
also now covers metadata and seedMetadata as a backstop.

Alert webhook delivery failures no longer log the outgoing request body or
the (useless, non-serializable) HMAC signature; they log the response
status, the webhook URL host, and the relevant ids instead.

The redis-worker's failure, retry, and dead-letter logs no longer include
the raw job item. The item is still retrievable by id when needed, and the
default worker logger now filters the item key as a backstop.

Design

Each call site was already computing everything needed to reproduce or
triage a failure without the raw payload (ids, counts, sizes, statuses), so
this trades verbose-by-default logging for those cheaper, non-sensitive
signals.

Performance

Improves hot path performance relative to baseline.

…and job items

Debug logging around run metadata writes previously included the full,
unfiltered metadata object on every flush. It now logs key/operation counts
and byte sizes instead, and skips the log entirely when there is nothing
buffered. The webapp logger's redaction list also now covers `metadata` and
`seedMetadata` as a backstop.

Alert webhook delivery failures no longer log the outgoing request body or
the (useless, non-serializable) HMAC signature; they log the response
status, the webhook URL host, and the relevant ids instead.

The redis-worker's failure, retry, and dead-letter logs no longer include
the raw job item. The item is still retrievable by id when needed, and the
default worker logger now filters the `item` key as a backstop.
@changeset-bot

changeset-bot Bot commented Jul 28, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: bcec492

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@coderabbitai

coderabbitai Bot commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Logging configuration now includes metadata fields. Metadata packet handling exposes byte lengths, and metadata update logs use aggregate counts and byte sizes instead of raw objects. Webhook delivery logs include webhook/run identifiers and a sanitized URL host while excluding request payloads and signatures. Redis worker error and retry logs use job identifiers without emitting raw queue items or payloads.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description covers summary and design, but it omits most required template sections and the issue reference. Add the Closes #issue line, checklist, testing steps, changelog, and screenshots sections required by the template.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main change: reducing raw sensitive logging in webapp and redis-worker.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/redact-run-metadata-alert-worker-logs-sec-395

Warning

Review ran into problems

🔥 Problems

Git: Failed to clone repository. Please run the @coderabbitai full review command to re-trigger a full review. If the issue persists, set path_filters to include or exclude specific files.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

coderabbitai[bot]

This comment was marked as resolved.

@carderne
carderne marked this pull request as ready for review July 28, 2026 09:59
devin-ai-integration[bot]

This comment was marked as resolved.

Comment thread .changeset/redact-worker-logs.md Outdated
@carderne
carderne merged commit 8ebc8a4 into main Jul 29, 2026
38 checks passed
@carderne
carderne deleted the fix/redact-run-metadata-alert-worker-logs-sec-395 branch July 29, 2026 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants