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

Create a fallback if no ADPC is available #24

Open
jucktnich opened this issue Dec 28, 2021 · 2 comments
Open

Create a fallback if no ADPC is available #24

jucktnich opened this issue Dec 28, 2021 · 2 comments

Comments

@jucktnich
Copy link

Problem and Motivation

For an website project I chose to use ADPC, but since its not supported by most browsers and few people use the Add-on you still need a classic banner. This is extra work needed.
So I thought it was cool if there was a JS module which took care of it all and the developer only needed to import the module and make requests like with native ADPC, so I developed the banner for my site and made a module from it.

Benefits

Many devs (hopefully) would opt for this module and therefor if ADPC becomes more widespread, many sites will support it.

My implementation: jucktnich/adpc-compatibility-mode

@coolharsh55
Copy link
Contributor

Hi, you raise a valid point regarding 'fallback' in case ADPC is not implemented. And you're correct that in such scenarios a 'classic' banner would be used. That being said, IMHO the case where 'ADPC is unavailable' is the same as today's existing situation. So while it seems like a 'solution', it isn't one since it comes with all the issues and tricks that ADPC was created to resolve.

I suggest generalising this issue by instead asking/stating:

  1. (how to detect) If server/provider/controller doesn't support ADPC, then what should the user(-agent) do? --> I think there is no recourse here except for hoping there is some industry/community/legal nudge to support ADPC. This is the more important use-case to tackle IMO.

  2. (how to detect) If user(-agent) does not support ADPC, then what should the server/provider/controller do? --> Here, the server can show a 'classic' banner, but IMO in order to avoid pitfalls related to such banner, we could discuss how to make such banners 'ADPC compatible'. E.g. by embedding ADPC's info within the banner. This is nice for cases where browsers refuse to support ADPC, and extensions reading all HTTP requests (to look for ADPC) is not desirable because of privacy.

@gb-noyb
Copy link
Collaborator

gb-noyb commented Jan 5, 2022

Fantastic, thank you for sharing this work @jucktnich! I will try have a closer look; we were thinking of creating something like this. Perhaps it could even work as a polyfill, i.e. modifying the DOM such that the website can use the ADPC Javascript API as if the browser supported it. This is roughly what our browser extension does too. The main differences would be how it is displayed (of course the page cannot access to browser UI, but that seems acceptable), and how to store the responses between visits; I see you set a cookie (line 266) named adpc-compatibility-mode; which seems a logical solution.

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

No branches or pull requests

3 participants