Lusito / forget-me-not

Make the browser forget website data, except for the data you want to keep.
zlib License
226 stars 25 forks source link

Support question: how does FMN handle or block cookies from sites with no rules? #105

Closed bendover22 closed 5 years ago

bendover22 commented 5 years ago

Exactly how does the red forget me rule actually work? On AMO, the red rule is explained, "Red: Override the above rules to explicitly forget them." Explicitly forget them how, by what API process? If sites default to red rule (no other rule set), does it actually block cookies from entering your device?

The Help file could use some detailed clarification on how the red rule works & the differences in red & black rules.

The AMO description says java script set files can't be blocked (java script cookies - how nice of Mozilla- smoochie!) That they will be deleted "as soon as possible," which may not be fast enough to prevent tracking. That sort of, rather, does leave users hanging on what to expect.

Some web ext cookie manager devs say cookies (any) CAN'T be blocked; only deleted ASAP, which might no be soon enough. FMN seems to indicate they CAN be blocked, unless they are set using java script.

Is there written documentation saying non-java script cookies can't be blocked from users' devices and a reason why, other than Mozilla hasn't added a feature to the cookie API to do that?

Other than a busy local CPU or limited free RAM, what determines how fast java script set cookies can be deleted?

Can a red rule block JS set cookies?

Lusito commented 5 years ago

I'll try to incorporate some examples to clarify how the rules work.

Some web ext cookie manager devs say cookies (any) CAN'T be blocked;

Well, these may be the reasons why they say it:

When you request data from a server, the response contains cookies and other HTTP headers. You can filter that.. if you do, these cookies will never reach the firefox cookie stores. I guess most developers only read the documentation for the cookies API, which in itself doesn't allow to prevent cookies from being set. You need the webRequest API and an understanding of how HTTP headers work for that.

I hope this answers all of your questions.. if not, feel free to keep asking in more detail.

bendover22 commented 5 years ago

Thank you for the details. I really think that exactly how the (default) red rules work, should be added to the short Help page - included in the FMN addon; and on Github & FMN's AMO.mozilla features page or section. Or maybe on a linked page or file, more detailed "How Forget Me Not Works / "How to Use FMN" page or file. I could submit a draft (similar to this ) or feel free. :)

Also, in settings (Help page) or somewhere explain actual differences & similarities between Red & Black rules. In Firefox's Addon Mgr, in FMN's "more info," says,

"Override the above rules to explicitly forget them"

Lusito commented 5 years ago

I'm gonna try and explain this differently:

For Gray and Red to work, the respective checkboxes must be enabled.

How domain leave works: Say you have two tabs: A (google.com) and B (bing.com). You change the url in A to yahoo.com. This will be detected as a leave for google.com and it will be cleaned accordingly.

How domain leave cleanup delay works: Say you configured a 1 minute delay for domain leave cleanup. You start with the same scenario as stated above, but after going to yahoo.com, you press the back button of the browser to go back to google.com. Then google.com will not be cleaned. But yahoo.com will be cleaned after 1 minute.

Container Tabs: Domain leave detection works per cookie-store.. a cookie store is like a shared container for your cookies. Firefox default has one cookie-store, firefox-private has another cookie-store and each container you created has its own cookie store. So once a domain is no longer active in any of the tabs of a cookie store, it will be cleaned for that specific cookie store. Example: You have 4 tabs: A (google.com), B (bing.com), which are both in firefox-default and C (google.com), D (yahoo.com), which are both in a container "work". You navigate away from google.com in tab C (either by changing the URL or by closing the tab), then after the specified delay, google.com will be cleaned in the "work" container environment (cookie-store), while tab A will not be cleared.

I hope this clears it up for you.

bendover22 commented 5 years ago

Thanks, but my example questions or pointing out certain things that aren't clear or not mentioned in the tutorial or on AMO, weren't about me, personally, not understanding. Any improved / clarified instructions need to go in the included tutorial file.

I was trying to point out that the tutorial / AMO description isn't worded clearly enough & left out some "steps," that average or non-technical users likely won't understand. They often don't have skills or the desire to play around till they figure things out (possibly from lack of said skills or just different backgrounds) .

Non-technical users often won't take time to ask & questions or offer suggestions, as many users on on forums like this are happy to do. Non-technical or inexperienced users often move on or live with not understanding some features or not knowing they exist. Experienced or technical users are just the opposite.

Kind of like many non-math inclined students often can't or won't try to figure out example problems in math books that leave out very trivial steps. Those users could get some engineering degree. :D Re-writing parts of the tutorial is probably easier.

If advanced users waited until every software had totally complete, easy to follow help files before using paid software or FOSS, we'd never use over a few % of all software. :)

Some users could submit suggestions how to reword or add to the tutorial. I'd be happy to make some suggestions (if you want) to lighten your load a bit.

Lusito commented 5 years ago

I am well aware that the explanations need to be adapted, but I first need to establish (with you) what level of explanation detail is necessary, because I don't want to write walls of text, as that drives users away as well.

So once you have reached an understanding of what's going on, I will change the explanations accordingly and get feedback if the new ones are alright. You are, of course, very welcome to rewrite the explanations yourself. Just keep in mind, that the UI will change a bit in the next version and thus some things might not be necessary anymore or explained in a different part of the UI.

Lusito commented 5 years ago

@bendover22 please take a look at the screenshots from the new UI here: https://github.com/Lusito/forget-me-not/issues/67#issuecomment-431952843

I have high hopes, that this should make it a lot easier to understand. Of course, the tutorial will also include an improved detailed explanation.

Lusito commented 5 years ago

The new translations for english are online: https://lusito.github.io/web-ext-translator/?gh=https://github.com/lusito/forget-me-not/tree/develop

I'm going to close this ticket for now. Feel free to suggest changes to make it easier to understand.