Moonchild wrote: ↑2025-03-31, 21:49
Please enlighten us what these multiple
security issues are. Because security is most definitely priority here and as far as I am aware none of the APIs involved (and we're not talking experimental, here, by the way -- these specs have been peer reviewed and adopted) have fundamental security issues in them.
It's too much to go over here, lol.
My problem with this is that a lot of these api's are audited in isolation, by peers that don't care and will often just LGTM, and not in the context of what else the execution engine supports. I'm fully aware of the difference between somebody doing "it looks good to me" and somebody doing an actual formal validation of the system using a truth table. The problem is when somebody is given these Apis they are often asked to test them in isolation, not the implementation, which is what the issue with fingerprinting a canvas comes from in that the API's themselves are standardized cross platform and they should interact and work with the same outputs and inputs exactly the same way, but because of architectural differences they do not, and that is where we get the variance that they're using for fingerprinting. The the ability to fill text in a canvas div and then use deserialization via toDataString/to-string or something to get back part of the DOM as a blob that you can then base64 or extract a hash from for fingerprinting as explained by
https://en.wikipedia.org/wiki/Canvas_fingerprinting is still a security issue that limits peoples privacy, And is still considered a security issue even though the API calls seem benign. It's exactly these boring and benign looking things that ultimately end up being the greatest part of a exploit chain, even if the exploit chain is simply to validate that the Person is using a browser brand/version on a very short list in order to Intentionally cheat browsers not on that list from accessing the resource.
I also have professional experience as a security auditor, did that for the first time at MS Research many years ago before returning for other roles, so I know there is a process and I know that you may not consider the issues that I'm finding to be security issues but I do believe that you'll find them to be privacy issues. I consider every privacy issue to be a security issue. The problem here is communication (its lack, more specifically, As even if I use emails that have been made public I get bounce backs that show that my email is not getting sent to the right people.). And from a pure QA perspective, I envision a lot of these as poorly defined API's that could have benefited from more use of
https://datatracker.ietf.org/doc/html/rfc2119 as without that these API's have lead to platform specific differences that can then be fingerprinted or create issues per the above.
I also see a lot of the newer standards enforced by Google (via them just checking it into the code with no user ability to say no or push back) as bad. The extra headers they want you to send everywhere leads to a lot of bad assumptions about user devices or users themselves, and one of my biggest pet peeves is that they seem to not care if the user is disabled or not, and seem to like to think that if somebody is using an accessibility tool, then it has to be a bot user, which is generally not the case, and ends up outright discriminating against the disabled or the blind like myself. I'm technically deafblind so I care about this. I want people who can't fully see or can't fully hear to be equals on the Internet. The problem is that this bias against people who use accessibility tools is so systemic that there's no way to push back, Especially with companies like Google and Cloud Flare refusing to acknowledge the harm they're doing.
Why is a browser telling you that I'm a desktop with multiple monitors at different resolutions if in reality I can't see because I'm blind and I actually just care about making sure I get all the text so I can have it read to me, and use a virtual space in my reader to do that? Why do you need to know its a desktop and not a laptop? What if it's a laptop that just doesn't move? Why does the remote website need to know that I have 32 cpu cores (JAWS can be slow), 6 UHD screens (for zoomtext), or 128 gigs of RAM (See JAWS and ZOOMTEXT), or track my battery charge in real time? It doesn't. The browser should work fine if I want to disable any of these. I have honestly do feel like most browser vendors have forgotten that their software runs on other people's systems. Other people own those systems, not them.
I've also seen advertising technology used to explicitly stalk, harass, or dox individually specific people, so I don't feel like ads are benign, either. Malvertisments can still kill just like they used to (Remember when an advertisement could kill you with a pop up that flashed too much? It still happens, giving people Seizures. Loud audio is also an issue. Others just install stuff that you don't really want on your system anyway.) Advertisements are a real security risk and even chromium decided to try to sandbox them, because of that. Advertisements are a very deep rabbit hole that goes into some very dark places.
Needless to say, There are multiple privacy and security issues involved.
Moonchild wrote: ↑2025-03-31, 21:49
Pale Moon isn't going to cripple user experience to cater to an extremist privacy view of the web. The web is a public place; attempting to be fully private while traversing it is folly, IMNSHO. Yes, that means that out-of-the-box, Pale Moon may allow some fingerprinting to succeed, and it's not our task or goal to prevent that at all costs. The mere fact that someone uses Pale Moon to begin with will make them more identifiable than, say, a Chrome user.
Respectfully, and I hope I'm misunderstanding you, I don't think the opinion that people have the right not to be tracked or spied on is an extremist view of privacy on the web; I effectively have the same view of the web as the EFF (EFF.org) and support
https://www.eff.org/pages/surveillance-self-defense - I can only hope that we are in violent agreement that a browser should be useful to users and have its own identity it seeks to protect while doing its best to take care of users who trust it. In this case I saw CF making a request of you that I didn't think you fully understood, and I was trying to be helpful out of good will. Apologies if that was taken some other way.
Moonchild wrote: ↑2025-03-31, 21:49
Pale Moon does attempt to keep its users safe, and provide some effective tools to make fingerprinting more difficult without reducing usability or interrupting users with prompts that would inevitably lead to confirmation fatigue. And, aside from that, our platform is fully open and extensible to "hammer shut" whatever users perceive as being "too much of a privacy risk".
I'm glad about this. Congratulations.
Moonchild wrote: ↑2025-03-31, 21:49
But, that does not include declining essential APIs and features from the browser core just because they
might be abused by fingerprinting.
Respectfully, I think we have a different perspective of individual Api's and what they do in the greater scope, And I hope that irony is not lost on you as we are actually two different browser development engineers working on different browser engines that still have to implement these same apis. If you think about it, it's actually kind of funny and ironic. I'm happy to continue a deeper discussion on the overall scope and how each jigsaw puzzle fits, if you're up for it. I'm even happy to submit a pull request or two if it's not against my current employers wishes (They are ok with my posting here, I asked). That stated, respectfully, I don't consider api's that track people without their consent to be essential. I fully support the EFF's absolute privacy goals as I recognize that privacy keeps people from being victimized or targeted. And your browser worked fine without these before, So clearly they were not essential until CF demanded them of you, right? Either way, I really do respect the position you're in, and what you want to do for your users, but I also wonder. It's clear CF is throwing their weight around, and from my perspective they are forcing you into something that seems suboptimal for everybody. To be honest it was my hope that you would get CF to consider that. I'm disappointed and saddened by CF's actions here. They should have treated you and the community better, And I had hoped that they would because I had hoped that they could be the sort of company that could actively help and promote humans using non-chrome browsers.
Moonchild wrote: ↑2025-03-31, 21:49
As you may not yet have realised, providing a unique fingerprint by Pale Moon users is intentional and desired. This will likely fly into the face of the approach you think works. I have previously posted several times explaining how this works in practice. You may want to do a forum search and read up about our canvas poisoning, to name one thing.
Yeah canvas poisoning is often used to mitigate this threat, but I'm glad that you're already doing it as I had not had the opportunity to check that part of your code yet. Thank you for the recommendation.
Moonchild wrote: ↑2025-03-31, 21:49
honestduane wrote: ↑2025-03-31, 21:27
Cloudflare is impossible to contact, and that makes them impossible to work with, or collaborate with
I suggest you take the opportunity to reach out to Michael via e-mail to be included in the proposed browser developer program they are drafting, then. He has posted his address publicly on this forum. If you are a browser developer yourself as you say, then it would serve you well to make use of the communications channel offered as result of our month and a half long struggle to get a response from CF.
I have tried. Every email I send them gives me a bounce that that the email doesn't exist.