3 ms·
Totally agree. This is as simply as discarding non-identity (even all) cookies on closing the browser by default. But the thing is that all mainstream browsers
by mrjin 4y ago
Totally agree. This is as simply as discarding non-identity (even all) cookies on closing the browser by default. But the thing is that all mainstream browsers are controlled by giants and unfortunately all of which have huge interests in advertisement industry. So unless we can create a browser ourselves or we are going to have such scratching the boot solutions again and again.
- onion2k 4y agoDiscarding cookies wouldn't work. Browsers have many ways to store data locally - cookies is the simplest, but there's localstorage, IndexDB, and webdb too. It's trivial to put a tracking ID in any of them, and send it to a third party when a user loads a page. It's one line of JS code. To solve this problem in the browser you'd need to discard all locally stored information when the user closes it. Thia comes with two prpblems - first, users rarely close their browsers. They may close a tab, or a window, but the app is still running. I'm pretty sure Chrome has been running on my Macbook for months. - second, this mechanism would break every app that actually respects user privacy. Apps that don't upload data or track people need the users content and prefs to be held locally between sessions. By wiping it you'd force app developers to implement mechanisms to put that data in the cloud, which is the opposite of your intent.
- KronisLV 4y agoI feel like we should probably have the concept of an "intent" for any bit of data that we'd like to store in a browser and partition the storage by that: Intents: - REQUIRED_FOR_SITE_FUNCTIONALITY (translation "Required For Site Functionality") - FIRST_PARTY_ANALYTICS (translation "First Party Analytics") - THIRD_PARTY_ANALYTICS (translation "Third Party Analytics") - FIRST_PARTY_MARKETING (translation "First Party Marketing") - THIRD_PARTY_MARKETING (translation "Third Party Marketing") Let the browsers themselves provide UI for accepting or denying these (maybe the users should be able to choose their own defaults per intent): Message: https://some.site would like to use your browser to store data for these intents: Required For Site Functionality [X] Yes [ ] No First Party Analytics [X] Yes [ ] No Third Party Analytics [ ] Yes [X] No Unspecified [ ] Yes [X] No [ Submit ] Which could then correspond to how everything is stored in the browser: Storage: https://some.site REQUIRED_FOR_SITE_FUNCTIONALITY (accepted) Cookies - ... LocalStorage - ... IndexDB - ... FIRST_PARTY_ANALYTICS (accepted) Cookies - ... LocalStorage - ... THIRD_PARTY_ANALYTICS (rejected) FIRST_PARTY_MARKETING (rejected) THIRD_PARTY_MARKETING (rejected) UNSPECIFIED (rejected automatically after 01.01.2030) And extend the JavaScript API for cookies (and also all other mechanisms for storage, this is an example): document.cookie = "user_id=1234"; // this would go under Unspecified document.cookie = "intent=REQUIRED_FOR_SITE_FUNCTIONALITY; user_id=1234"; // this would go in the proper group document.cookie = "intent=THIRD_PARTY_MARKETING; uid=1234"; // this would throw something like an IntentViolationError And ideally something for checking these intents as well: let canUseRequired = document.intents["REQUIRED_FOR_SITE_FUNCTIONALITY"].accepted; // true let canUseTPAnalytics = document.intents["THIRD_PARTY_ANALYTICS"].accepted; // false Who would define these types? Well, i think that there are two ways: - have some international body decide on these types - allow custom types per site, maybe with different UI for that And then just prosecute those who don't follow the convention and abuse the mechanisms. Of course, that will never be done.
- salawat 4y agoWhy are you making Apps instead of a program that runs locally? Oh... Right. Can't charge people for things running on their own hardware! Gotta shovel some cloud BS in there!