Skip to content

Remove tracking query parameters by default - #1267

Merged
Ndpnt merged 5 commits into
OpenTermsArchive:mainfrom
be-student:fix/1263-default-tracking-params
Sep 9, 2026
Merged

Ndpnt merged 5 commits into
OpenTermsArchive:mainfrom
be-student:fix/1263-default-tracking-params

Conversation

@be-student

Copy link
Copy Markdown
Contributor

Summary

  • use the 23 current PrivacyTests tracking query parameters when removeQueryParams is enabled without configuration
  • preserve explicit string, array, and empty-array configurations
  • cover both direct filter behavior and the runtime filter-context path

Closes #1263

The default list is pinned to privacytests/privacytests@dda473a, so its provenance and update boundary are explicit.

Validation

  • Baseline: the new default-list regression failed because all 23 tracking parameters remained in the URL
  • npm run test:only -- src/archivist/fetcher/index.test.js src/archivist/extract/filter.test.js src/archivist/extract/exposedFilters.test.js (65 passing)
  • npx eslint src/archivist/extract/exposedFilters.js src/archivist/extract/exposedFilters.test.js src/archivist/extract/filter.test.js
  • git diff --check

@Ndpnt

Ndpnt commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Thank you @be-student for this contribution.

I pushed two adjustments on top of your commit:

  • The loader now wraps built-in filters even when they are declared without parameters, so they always receive (webPageDOM, params, context). This lets removeQueryParams keep a plain default parameter instead of guessing from the type of its second argument, and future built-in filters with parameters get the same guarantee for free.

  • The default list now also includes the five utm_* campaign parameters. PrivacyTests inherits Brave's list, which deliberately excludes them because they don't identify individual users. Our goal is different as we want stable versions of documents, and utm_* is a common source of noise in terms links.

I also bumped the release to [minor] since declarations that already list removeQueryParams without parameters will start producing new versions.

@Ndpnt

Ndpnt commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Related PR for documentation OpenTermsArchive/docs#223

@Ndpnt
Ndpnt merged commit 0d313b9 into OpenTermsArchive:main Sep 9, 2026
8 checks passed
@MattiSG

MattiSG commented Sep 14, 2026

Copy link
Copy Markdown
Member

Thank you @be-student for these contributions and thank you @Ndpnt for handling and finalising them!

@be-student we'll be happy to mention you as a contributor to the project. Please make sure to review and add details such as name as you'd like in the associated PR 🙂 → @allcontributors add @be-student as a contributor for code.

If you'd like to contribute further to Open Terms Archive, we'd love to have you join our next community call and our chat!

@allcontributors

Copy link
Copy Markdown
Contributor

@MattiSG

I've put up a pull request to add @contributor! 🎉

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.

Remove tracking query parameters by default

3 participants