You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We've received ask from Mozilla's Add-Ons website to add explicit opt-in for using local IPFS node for DNSLink lookups:
All data sent to any services outside the add-on itself is considered as remote, localhost or not.
We will ask you to consider the opt-in function.
Solutions
So far I see two ways of addressing this.
Option A
We could add opt-in for DNSLink lookup feature, and display balloon the first time DNSLink resolution is requested:
Option B
Right now, when a local IPFS node is detected we show "success" and start using it without any consent:
We could tweak onboarding process a little. Change text on Welcome screen, or even start entire extension in "disabled mode" by default and add a global opt-in to Welcome Screen:
It would inform user that they need to agree for sending some information to local/remote IPFS node in exchange for specific functionality (node being able to resolve DNSLink, redirect to local gateway etc)
This may be better in the long run, solving consent globally, not just for DNSLink, and in a way that does not degrade overall UX.
If user closes Welcome page, extension remains in "disabled" state, and if user enables it via browser menu action without prior consent, Welcome/consent page is displayed again.
key here is that the consent needs to happen on a page that explains what data is sent where and why
Option C
Please write down in comments below, if you see other way of solving this, ideally without compromising UX too much :)
Copy of AMO Review
Below is full exchange published for transparency, and also to show how detailed Mozilla's review and feedback is, especially when compared to other browser vendors.
This is a chore for me as a developer, 😬
but I really appreciate this level of care as a Firefox user! ❤️
AMO:
We found out that you were sending current tab URL to remote servers.
Is there any consent from the user about this personal data sent?
Are you able to clarify, point specific code lines that raised your concern?
current Tab should not be sent to remote servers:
our browser extension redirects IPFS resources to IPFS node of user's choice, by default it is localhost
(URL endpoints can be changed in Preferences)
AMO:
This is only one of examples we found:
From add-on\src\lib\dnslink.js - L.126 - readDnslinkFromTxtRecord function: You are inserting fqdn attribute into the URL attributes.
Previous function is used in add-on\src\lib\dnslink.js - L.70 - readAndCacheDnslink function: fqdn in attribute of the function
Previous function is used in add-on\src\lib\dnslink.js - L.206 - findDNSLinkHostname function: hostname is coming from "url" attribute of the function
Previous function used in add-on\src\lib\ipfs-companion.js - L.230 - sendStatusUpdateToBrowserAction function: url variable is initialized with info.currentTab.url which is initialized with browser.tabs.query({ active: true, currentWindow: true }).then(tabs => tabs[0])
So in conclusion current tab URL is sent to a remote service of the add-on. Tab URL is considered as personal data. Please be aware of other cases.
This requires affirmative consent from the user (i.e., explicit opt-in from the user). It must be clear to the user that they give consent to the collection of personal and ancillary data.
The consent page should be shown at install time and contain choices accompanied by the data collection summary, choices, which should be disabled by default.
This means by default the current tab URL never leaves user's machine, all we do is checking if DNS TXT record exists for entire domain using regular DNS lookup
We are very careful about keeping the default settings limited to localhost.
The only time hostnames could be sent to a remote server is when user made an EXPLICIT OPT-IN via Preferences: changing HTTP Gateway/API URLs or enabling one of experiments.
Update: AMO revisited our case, and seems that our welcome screen and the need for explicit install of ipfs-desktop or go-ipfs is enough barrier for now 👍
Reviewer Reply by Hubert about 3 hours ago
After some talk we decided that for this specific case opt-in was not a necessity.
We've received ask from Mozilla's Add-Ons website to add explicit opt-in for using local IPFS node for DNSLink lookups:
Solutions
So far I see two ways of addressing this.
Option A
We could add opt-in for DNSLink lookup feature, and display balloon the first time DNSLink resolution is requested:
Option B
Right now, when a local IPFS node is detected we show "success" and start using it without any consent:
We could tweak onboarding process a little. Change text on Welcome screen, or even start entire extension in "disabled mode" by default and add a global opt-in to Welcome Screen:
Option C
Please write down in comments below, if you see other way of solving this, ideally without compromising UX too much :)
Copy of AMO Review
Below is full exchange published for transparency, and also to show how detailed Mozilla's review and feedback is, especially when compared to other browser vendors.
This is a chore for me as a developer, 😬
but I really appreciate this level of care as a Firefox user! ❤️
AMO:
Click to expand
@lidel:
AMO:
@lidel
AMO
The text was updated successfully, but these errors were encountered: