Skip to content

fix(analytics): redact dynamic route values - #672

Merged
sjungwon03 merged 3 commits into
devfrom
fix/671-anonymous-route-analytics
Oct 24, 2026
Merged

sjungwon03 merged 3 commits into
devfrom
fix/671-anonymous-route-analytics

Conversation

@sjungwon03

@sjungwon03 sjungwon03 commented Oct 24, 2026 •

Copy link
Copy Markdown
Member

Summary

The 0.1.10 release review found that visiting release, container-tag, and protection-detail routes can send private names to screen-view analytics. The regression test failed on the previous sanitizer: customer-secret appeared in the reported route. The fix uses the matched go_router route template and fails closed when no safe template is available. Root and bundled privacy notices now describe this behavior.

Closes #671

Validation

  • git diff --check passes.
  • The pre-fix CI run failed the new analytics regression test: expected /:unknown, got /projects/:id/releases/customer-secret.
  • The fixed-head CI run passed formatting, analysis, app and package tests, generated-code verification, language policy, and iOS SDK validation.

Flutter and Dart are unavailable in this local environment, so the red and green test runs will be verified by CI.

The release review identified route values that can reach screen-view analytics. Pin the leak before changing route tracking.

Signed-off-by: sjungwon03 <sjungwon03@gmail.com>
@github-actions github-actions Bot added the fix Bug fix label Oct 24, 2026
Numeric-only sanitization allowed release tags and protection names into screen-view events. Use the matched router template and fail closed when it is absent or mismatched so analytics never receives a private path value.

Signed-off-by: sjungwon03 <sjungwon03@gmail.com>
@github-actions github-actions Bot added area:ui Screens and feature UI area:docs AGENTS.md, .agents/, README and friends labels Oct 24, 2026
Match the Dart formatter so the privacy regression suite can reach analysis and tests in CI.

Signed-off-by: sjungwon03 <sjungwon03@gmail.com>
@sjungwon03
sjungwon03 marked this pull request as ready for review October 24, 2026 10:17
@sjungwon03 sjungwon03 mentioned this pull request Oct 24, 2026

@sjungwon03-ai sjungwon03-ai left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review summary

Verdict: Approved

  • Reviewed: Complete diff, router integration, fail-closed route sanitization, privacy notices, and analytics regression coverage for dynamic names, encoded slashes, query values, and unmatched routes.
  • Checks: Current-head CI passed formatting, analysis, tests, generated-code verification, language policy, and iOS SDK validation; triage passed with the unrelated issue job skipped.

No blocking issues found. Flutter and Dart are unavailable locally, so test execution was verified through the current-head CI run.

@sjungwon03
sjungwon03 merged commit 953ea82 into dev Oct 24, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:docs AGENTS.md, .agents/, README and friends area:ui Screens and feature UI fix Bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Prevent private route values from reaching analytics

2 participants