this post was submitted on 03 Jul 2024
1036 points (98.2% liked)

Technology

59080 readers
3959 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Gestrid@lemmy.ca 2 points 4 months ago* (last edited 4 months ago) (1 children)

I admittedly should've done more research before my first comment, but it does actually turn out that everything I said is true. Proton's technology was previously audited by Mozilla and is currently audited by SEC Consult and other companies regularly, and the audits are available for everyone to view. Additionally, they do have a bug bounty program. Also (and this is something I didn't mention), the ProtonVPN and Proton Mail apps are all open source.

[–] Excrubulent 1 points 4 months ago (2 children)

Is that the backend code? It seems like they're talking about the apps, not backend code. The thing being discussed here is backend code.

[–] lastweakness@lemmy.world 1 points 4 months ago (1 children)

Nearly all of Proton's stuff uses publicly verifiable client side encryption, so idk what all this is about

[–] Excrubulent 1 points 4 months ago (1 children)

It's about the server-side code. If that's not an issue then someone needs to make the argument, not throw up smokescreens about the apps and frontend code.

You're right that the encryption needs to be verifiable on the client side, but then why not share the server side code?

I mean if they did, anyone could theoretically spin up an instance, which would be good, actually.

[–] lastweakness@lemmy.world 1 points 4 months ago (1 children)

would be good, actually.

Good for us. Bad for business. I explained this in another comment too but Proton's idea of "open source" is simply to build trust in the security and privacy offered by the service. At least, as much as you can trust any SaaS.

but then why not share the server side code?

And to answer this... Well, business and practicality... One more than the other ofc unfortunately... Why would they take on the additional burden of making it self-hostable, make the backend fully open source, etc just to make competition for themselves? And that maintenance burden is huge btw, especially when the backend was probably never intended for self-hosting in the first place.

If Proton, as a company or foundation, didn't keep making the right decisions in terms of privacy and security, we might have had a reason to doubt their backend. But so far, there's been nothing. And steps like turning to a foundation-based model just inspires more trust. By using client-side encryption, even within the browser, they're trying to eliminate the need for trusting the closed source backend. Open sourcing the backend wouldn't improve trust in the service itself anyway since you can't verify that the code running in the backend is the same as the open sourced code. If you're concerned about data, they also offer exports in open formats for every service they offer.

Why wouldn't you trust them just because their backend is closed source? Ideologically, yeah I'd like them to open source absolutely everything. But as a service, whose income source is exclusively the service itself, how can it make sense for them to open source the backend when it cannot tangibly benefit their model of trust?

My other comment regarding proton and trust: https://lemmy.world/comment/11003650

[–] Excrubulent 1 points 4 months ago* (last edited 4 months ago) (1 children)

These are all good points and I have nothing to argue about with this comment. I really just wanted someone to answer the issue raised instead of changing the subject, and you've done that.

As for the linked comment, there are ways to verify that backend code is the same as open source. Not on a software level of course, but if you trust audits for logging practices presumably you can trust them for checking that the code base is the same.

Also you can verify that a web client is running the same code as open sourced, especially if it's a scripted client, since it would deliver code uncompiled. You can also check the signatures of binaries. Most people won't do this, but it only takes one security expert to check and discover that there's a discrepancy. If they then decompile it and find malware, that's the ballgame. Trust gone. There's a strong incentive for a premium service whose main selling point is privacy and transparency to never even flirt with that.

I agree that Proton has made themselves about as trustworthy as any private company can be, and maybe with the shift to foundation they can alter their model to not rely on being the singular operator. However, when you say "good for us, bad for business", that's the issue. The reason the fediverse works is that nobody can develop a monopoly on it. I mean, you've already said that ideally it should all be open source, so we agree on that too.

I understand that a closed backend isn't a deal breaker for a lot of people and that makes sense given the client side encryption. It's just that it is a potential problem in the longer term. It's an artefact of them having to exist in a capitalist context. Maybe they'll find a way through without succumbing to capitalist logic. I certainly hope they can.

[–] lastweakness@lemmy.world 1 points 4 months ago

In general, I agree with you. I would very much prefer if they did more open sourcing too. Just want to address some additional stuff.

especially if it's a scripted client, since it would deliver code uncompiled.

Unfortunately, this isn't really true anymore because of the necessity of minification. It introduces obscurity but is necessary for performance. But yes, the rest is correct, which is why I specified "web clients". You can verify the native clients, which is why native clients are so important imo. The concern of a hacked server serving a keylogging web client is unfortunately very real. Kind of makes it impossible to fully trust any SaaS at all.

if you trust audits for logging practices presumably you can trust them for checking that the code base is the same

The thing is, they already do public third party audits already. You can view their audit reports on their site. This is unlike companies like Google and Microsoft who conduct audits and keep the reports private. If you end up having to trust third party audits anyway, it doesn't help their model of trust since they do already do that in a transparent manner.

But yeah... stuff like the monopoly is kind of intentional. The exports are a mitigation, a huge one at that. Proton Mail exports are supported by services like FastMail, Proton Pass exports are supported by Bitwarden, etc. But in the end, the best case scenario would be some level of open sourcing. It's just that this "monopoly" is by design. For better or for worse, the fact that there is only one Proton is also good for Proton's model of trust tbh since the user doesn't have to wonder if the "instance" they're using is a good one for example. The fediverse model will not work for something that is so heavily based on trust. Proton wants to appeal to the general user, more than us folks... for better or for worse...

I hope they succeed too. I don't trust many companies. Proton has been one of the exceptions and I hope it stays that way...

[–] Gestrid@lemmy.ca 1 points 4 months ago

The way I read it, they already (in the third paragraph of the blog post) had companies auditing their backend technology and (in the fourth paragraph) were starting to have companies audit their apps, too.