| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
|
Sorry, something went wrong.
📲 Install BuildsAndroid
|
Sorry, something went wrong.
Keep the internal resolver and its tests aligned with the canonical public Data Collection option name. Refs #5666 Co-Authored-By: Claude <noreply@anthropic.com>
…-database-query-data
…a-collection-incoming-request-body
…ata-collection-incoming-response-body
…data-collection-outgoing-request-body
…ata-collection-outgoing-response-body
…data-collection-http-request-headers
…fo-options fix(android): [Data Collection 15] Scope device info cache to SDK options
🚨 Detected changes in high risk code 🚨High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
|
Sorry, something went wrong.
…replay-network-options test(replay): [Data Collection 16] Keep Replay independent
🚨 Detected changes in high risk code 🚨High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
|
Sorry, something went wrong.
🚨 Detected changes in high risk code 🚨High-risk code has higher potential to break the SDK and may be hard to test. To prevent severe bugs, apply the rollout process for releasing such changes and be extra careful when changing and reviewing these files:
|
Sorry, something went wrong.
…nding fix(spring): [Data Collection 18] Bind key-value policies
…installation-id fix(android): [Data Collection 19] Preserve installation ID
…-description fix(ktor): [Data Collection 20] Exclude query parameters from span descriptions
…-options feat(core): [Data Collection 21] Add external configuration
…manifest feat(android): [Data Collection 22] Add manifest configuration
…-urls fix(core): [Data Collection 23] Support WebSocket URL parsing
…tches fix(core): [Data Collection 24] Narrow utility exception handling
Describe Data Collection defaults, migration from sendDefaultPii, and the supported configuration mechanisms. Include examples for key-value filtering and HTTP body selection so users can adopt the new controls safely. Refs #5666 Co-Authored-By: Claude <noreply@anthropic.com>
Add the specification-defined filePaths option across programmatic, external, Spring Boot, and Android manifest configuration. Gate automatically captured File I/O paths through the resolved policy while preserving sendDefaultPii when Data Collection is absent.\n\nRefs #5666
Allow encoder-equipped Logback appenders to include original message templates and parameters without relying on sendDefaultPii. Keep sendDefaultPii as a temporary compatibility exception while Data Collection replaces its other behavior. Co-Authored-By: Claude <noreply@anthropic.com>
feat(core): [Data Collection 25] Apply file path policy
Describe how encoder use, the integration opt-in, and the legacy PII option control original message data. Refs #5666 Co-Authored-By: Claude <noreply@anthropic.com>
Align the includeUnencodedMessage getter and setter names so Kotlin exposes the option as a mutable synthetic property. Refs #5666 Co-Authored-By: Claude <noreply@anthropic.com>
…unencoded-message feat(logback): [Data Collection 26] Add unencoded message opt-in
Align nullable Boolean getters and setters so Kotlin exposes mutable synthetic properties. Allow callers to clear an explicit override by assigning null. Co-Authored-By: Claude <noreply@anthropic.com>
Stop treating DataCollection construction as an implicit opt-in. Add an explicit forceDataCollection method so callers can select the new defaults without replacing manifest or external configuration. Co-Authored-By: Claude <noreply@anthropic.com>
# Conflicts: # CHANGELOG.md # sentry/api/sentry.api
…opt-in fix(core): [Data Collection 27] Make opt-in explicit
| public static @NotNull Map<String, String> filterHeaders( | ||
| final @NotNull Map<String, String> headers, | ||
| final @NotNull KeyValueCollectionBehavior behavior) { | ||
| final @NotNull Map<String, String> filteredHeaders = new LinkedHashMap<>(); | ||
| if (behavior.getMode() == KeyValueCollectionBehavior.Mode.OFF) { | ||
| return filteredHeaders; | ||
| } | ||
|
|
||
| final @NotNull ArrayList<String> filteredHeaders = new ArrayList<>(); | ||
|
|
||
| for (final String header : headers) { | ||
| filteredHeaders.add( | ||
| HttpUtils.filterOutSecurityCookies(header, additionalCookieNamesToFilter)); | ||
| for (final Map.Entry<String, String> header : headers.entrySet()) { | ||
| final @NotNull String name = header.getKey(); | ||
| final boolean sensitive = | ||
| containsTerm(name, SENSITIVE_DATA_KEYS) | ||
| || "Cookie".equalsIgnoreCase(name) | ||
| || "Set-Cookie".equalsIgnoreCase(name); | ||
| if (sensitive) { | ||
| filteredHeaders.put(name, SENSITIVE_DATA_SUBSTITUTE); | ||
| } else { | ||
| final boolean matchesTerm = containsTerm(name, behavior.getTerms()); | ||
| final boolean shouldFilter = | ||
| behavior.getMode() == KeyValueCollectionBehavior.Mode.DENY_LIST | ||
| ? matchesTerm | ||
| : !matchesTerm; | ||
| filteredHeaders.put(name, shouldFilter ? SENSITIVE_DATA_SUBSTITUTE : header.getValue()); | ||
| } | ||
| } | ||
|
|
||
| return filteredHeaders; |
There was a problem hiding this comment.
filterHeaders drops IP/proxy sensitive-header denylist
When Data Collection is enabled, filterHeaders no longer treats X-Forwarded-For, X-Real-IP, Remote-Addr, and Forwarded as always-sensitive, so client IP/proxy chain values can be sent to Sentry under the default deny-list. Reuse containsSensitiveHeader (or equivalent) in the always-sensitive check.
EvidenceIdentified by Warden · security-review · GSK-27Q
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
PR Stack (Data Collection)
📜 Description
Collection PR for the Data Collection stack. The individual PRs add the configuration model, resolution and compatibility bridge, external configuration, filtering, and integration enforcement.
Squash-merge this PR into main only after every stack PR has been merged into this branch using merge commits.
💡 Motivation and Context
Introduce the specification-defined dataCollection configuration while preserving existing sendDefaultPii behavior for users who do not opt into the new namespace.
Refs #5666
💚 How did you test it?
This collection branch contains only an empty commit. Each stack PR carries its own tests.
📝 Checklist
🔮 Next steps
Merge the Data Collection stack into this branch in order, then squash-merge this PR into main.
#skip-changelog