Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new scriptlet — 'no-protected-audience' #395

Closed
ameshkov opened this issue Jan 4, 2024 · 0 comments
Closed

Add new scriptlet — 'no-protected-audience' #395

ameshkov opened this issue Jan 4, 2024 · 0 comments

Comments

@ameshkov
Copy link
Member

ameshkov commented Jan 4, 2024

Why do we need this?

The rationale behind this rule is to provide an option that safely disables "Protected Audience API". Disabling it may be required by privacy filter lists.

Protected Audience API is supposed to be a "private" alternative to third-party cookies tracking for showing targeted ads. While this is indeed a more private alternative, the downside is that it transforms the browser itself into an ad auction tool.

Moreover, the browser will in the background (without user knowing about it) contact configured URLs to update the "interest group" or reload the bidding logic: https://developers.google.com/privacy-sandbox/relevance/protected-audience-api/interest-groups

I honestly cannot see how this design is more private.

What should be implemented

This scriptlet is similar to #214 and the purpose is to suppress "Protected Audience API" functions.

The scriptlet should work in a similar fashion to no-topics: check if the specified properties exist and replace them with noop stubs.

The full list of functions can be found here: https://wicg.github.io/turtledove/
Please check the functions signature and replace it with a stub that has the same signature.

Here's a list of functions that we need to override:

  • Navigator.prototype.joinAdInterestGroup
  • Navigator.prototype.runAdAuction
  • Navigator.prototype.leaveAdInterestGroup
  • Navigator.prototype.clearOriginJoinedAdInterestGroups
  • Navigator.prototype.createAuctionNonce
  • Navigator.prototype.updateAdInterestGroups
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants