Port_Authority
Port_Authority copied to clipboard
[Feature Planning] Opt-in sync for settings and whitelist
Hoisted to a separate issue from #47.
Overview: Users with browsers signed in to a Firefox Account will be able to sync extension settings across their devices. This is a browser native feature that will not send data to any external servers (except Mozilla's, which was already happening due to being signed in). Settings sync will be off by default.
Seeking feedback: Specifics of sync behavior need clarifying:
- The simplest option is to read and write directly to
storage.syncwhen sync is enabled on a device. - uBlock Origin syncs by pushing and pulling changes from
storage.synctostorage.localinstead of directly using it. This might be the best approach, but it takes two actions to have a settings change on one device affect another (push change tosyncto share, then pull tolocalon other device to use)
Potential Foot-Guns: Care must be taken to not overwrite anyone's existing settings on extension updates or change/wipe settings without confirmation including information of what's going to be changed.
Stretch goals:
- [ ] Fine grained control over which settings are synced (only sync toggle settings not whitelists, more relevant as features are added)
- [ ] Stage settings changes for review (locally before syncing and when pulling settings synced by other devices) with highlighted differences (eg. added x,y,z to whitelist, disabled notifications)