fix(phoenix): params scrubbing for LV#1048
Closed
solnic wants to merge 2 commits intorefa/extract-scrubberfrom
Closed
fix(phoenix): params scrubbing for LV#1048solnic wants to merge 2 commits intorefa/extract-scrubberfrom
solnic wants to merge 2 commits intorefa/extract-scrubberfrom
Conversation
feeb823 to
66d3319
Compare
66d3319 to
32c9ab8
Compare
c9388da to
ee7d131
Compare
Merged
32c9ab8 to
50014e0
Compare
* feat(scrubber): introduce shared Sentry.Scrubber module
Adds a framework-agnostic module that owns the canonical default sensitive
key lists, the redaction placeholder, the credit-card detection heuristic,
and the recursive map/list traversal used to scrub data before it is sent
to Sentry. Existing integrations duplicate these primitives today; this
module provides a single source of truth that follow-up commits will route
PlugContext, PlugCapture, and LiveViewHook through.
The default behavior matches the existing Sentry.PlugContext defaults
("*********" placeholder, ["password", "passwd", "secret"] for params,
["authorization", "authentication", "cookie"] for headers) so no
existing scrubbing output changes.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
* refactor(plug_context): delegate default scrubbers to Sentry.Scrubber
Removes the duplicated denylist constants, placeholder, credit-card
regex, and recursive scrub_map/scrub_list helpers from
Sentry.PlugContext in favor of the shared Sentry.Scrubber module.
Public function signatures and the documented default key sets are
unchanged.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sentry.LiveViewHook previously stored raw event params, handle_params
params, and URIs directly in breadcrumbs. Form submissions over the
LiveView WebSocket frequently contain passwords, tokens, and other
secrets, which were forwarded to Sentry unredacted.
The hook now passes breadcrumb data through Sentry.Scrubber.scrub_map/2
and URIs through Sentry.Scrubber.scrub_url/2 before adding them to the
breadcrumb trail. Users can override the scrubber by passing a
{module, function, args} tuple via on_mount opts, mirroring the
override mechanism already provided by Sentry.PlugCapture:
on_mount {Sentry.LiveViewHook, scrubber: {MyApp.Scrubber, :scrub, []}}
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
50014e0 to
9c47687
Compare
Collaborator
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

This extracts a scrubber API to a re-usable module and uses it in the live view too.