Skip to content

fix(flow-php/telemetry): redact secrets from HTTP URLs and stack traces - #2695

Merged
norberttech merged 2 commits into
1.xfrom
telemetry-url-redaction
Oct 20, 2026
Merged

norberttech merged 2 commits into
1.xfrom
telemetry-url-redaction

Conversation

@norberttech

Copy link
Copy Markdown
Member

Change Log


Added

  • flow-php/telemetry - UrlSanitizer with url_sanitizer() DSL
  • flow-php/telemetry - ClientUrlAttributes for HTTP client span attributes
  • flow-php/symfony-telemetry-bundle - instrumentation.sanitization.url.sensitive_query_parameters config

Fixed

  • flow-php/symfony-telemetry-bundle - HTTP client spans record the effective URL (base_uri, query option)

Changed

  • flow-php/psr18-telemetry-bridge - PSR18TraceableClient accepts a UrlSanitizer

Removed

Deprecated

Security

  • flow-php/telemetry - exception.stacktrace no longer carries function argument values
  • flow-php/psr18-telemetry-bridge - credentials and sensitive query values redacted in url.full and exception messages
  • flow-php/symfony-telemetry-bundle - credentials and sensitive query values redacted in url.full, url.query and exception messages

- redact userinfo and sensitive query values in url.full, url.query and exception messages
- extend semconv default list with OAuth, API key and credential params
- configurable list via url_sanitizer() and bundle sanitization config
- record Symfony HttpClient effective URL
- render exception.stacktrace without argument values
- fix mago 1.58 analysis issues
@codecov

codecov Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 99.15966% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 90.05%. Comparing base (3ffacfc) to head (4d857c7).
⚠️ Report is 1 commits behind head on 1.x.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@            Coverage Diff            @@
##                1.x    #2695   +/-   ##
=========================================
  Coverage     90.04%   90.05%           
- Complexity    29437    29453   +16     
=========================================
  Files          2209     2212    +3     
  Lines         85603    85683   +80     
=========================================
+ Hits          77081    77159   +78     
- Misses         8522     8524    +2     
Components Coverage Δ
etl 95.87% <ø> (ø)
cli 87.62% <ø> (ø)
lib-array-dot 96.52% <ø> (ø)
lib-azure-sdk 64.44% <ø> (ø)
lib-doctrine-dbal-bulk 94.24% <ø> (ø)
lib-filesystem 87.63% <ø> (ø)
lib-types 94.69% <ø> (ø)
lib-parquet 81.65% <ø> (-0.02%) ⬇️
lib-parquet-viewer 83.15% <ø> (ø)
lib-snappy 89.42% <ø> (ø)
lib-dremel 0.00% <ø> (ø)
lib-postgresql 89.39% <ø> (ø)
lib-telemetry 86.85% <100.00%> (+0.21%) ⬆️
bridge-filesystem-async-aws 92.76% <ø> (ø)
bridge-filesystem-azure 90.34% <ø> (ø)
bridge-filesystem-sftp 91.02% <ø> (ø)
bridge-monolog-http 96.84% <ø> (ø)
bridge-monolog-telemetry 94.79% <ø> (ø)
bridge-openapi-specification 91.45% <ø> (ø)
symfony-http-foundation 75.81% <ø> (ø)
bridge-psr18-telemetry 100.00% <100.00%> (ø)
bridge-psr3-telemetry 98.95% <ø> (ø)
bridge-psr7-telemetry 100.00% <ø> (ø)
bridge-telemetry-otlp 90.11% <ø> (ø)
bridge-symfony-http-foundation-telemetry 92.85% <ø> (ø)
bridge-symfony-filesystem-bundle 91.85% <ø> (ø)
bridge-symfony-filesystem-cache 98.18% <ø> (ø)
bridge-symfony-postgresql-bundle 93.62% <ø> (ø)
bridge-symfony-postgresql-cache 94.41% <ø> (ø)
bridge-symfony-postgresql-messenger 98.80% <ø> (ø)
bridge-symfony-postgresql-session 93.65% <ø> (ø)
bridge-symfony-telemetry-bundle 90.77% <97.91%> (+0.04%) ⬆️
adapter-chartjs 79.14% <ø> (ø)
adapter-csv 96.64% <ø> (ø)
adapter-doctrine 94.86% <ø> (ø)
adapter-google-sheet 99.18% <ø> (ø)
adapter-http 88.29% <ø> (ø)
adapter-json 89.90% <ø> (ø)
adapter-logger 44.44% <ø> (ø)
adapter-parquet 95.13% <ø> (ø)
adapter-text 96.94% <ø> (ø)
adapter-xml 94.19% <ø> (ø)
adapter-avro 7.14% <ø> (ø)
adapter-excel 97.27% <ø> (ø)
adapter-postgresql 97.48% <ø> (ø)
adapter-seal 90.86% <ø> (ø)
bridge-phpunit-postgresql 75.30% <ø> (ø)
bridge-phpunit-telemetry 87.36% <ø> (ø)
bridge-phpstan-types 0.00% <ø> (ø)
bridge-postgresql-valinor 100.00% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@datadog-official

This comment has been minimized.

@norberttech
norberttech merged commit 7764560 into 1.x Oct 20, 2026
50 of 52 checks passed
@norberttech
norberttech deleted the telemetry-url-redaction branch October 20, 2026 18:40
@github-project-automation github-project-automation Bot moved this from Todo to Done in Roadmap Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant