@aral @strypey I don't begrudge you for using the expedient tools of today, but I must request stand in the way of developments that NEED to happen to ensure all the software we run is libre. So we can do better than the whack-a-mole efforts like your Better (which I really appreciate, btw, thank you!).
Apple and Microsoft already learnt their lesson about auto-executing CD software, but that vulnerability only moved to The Web.
I disagree that The Web is a good tool for that. It has it's place, but we really need to pushing for libre native apps following open standards.
And browsers should assist with that be pointing people towards the apps they need to use those standards securely. I've implemented that for Odysseus.
@alcinnz @strypey Agree. But we need untrusted relay nodes to guarantee findability and availability to match expectations of the levels possible in centralised systems if we want to build a bridge from here to there. We can shed those training wheels once there are enough nodes. But without them we won’t get adoption.
@aral @strypey I do not see how these untrusted relay nodes (which yes, we do need), but I do not see how that relates to the argument we are having. Why can't we be distributing native apps for each platform?
A website that is acting as a Matrix client? That's acting as an *app*, and I'm more inclined to enable JS. Of course it can run code, just as I would allow a native app to do.
(My *ideal* would be sandboxed native apps shipped with a standard package manager.)
2. Check its hash how, exactly? The developer doesn’t even know it.
With a client-side-only JS app:
1. Include a single script file using subresource integrity.
2. Publish the hash of the HTML file for independent verification.
3. Use a browser extension to verify the hash of the HTML.
You’ve verified the app.
Not yet enough to be safe, @aral, but a good starting point: https://bugzilla.mozilla.org/show_bug.cgi?id=1487081#c6
If the application is completely client side (never does any network connection) it might be enough.
Otherwise further restrictions should be in place and they require changes to the browsers: https://bugzilla.mozilla.org/show_bug.cgi?id=1487081#c12
As for the App Store, I'm pretty sure the installer already check the hash transparently for the user.
But I was thinking about applications that are manually installed by users by downloading them.
The fact that the server that provide the file cannot identify the user (hopefully, if they don't use #GAFAM #cloud services or #Cloudflare's #MitM) is a protection to the downloader: an attacker cannot easily target a specific person or a minority.
Sandboxing, in the way I'm thinking of, can go beyond what browsers normally do. There's no reason you'd have to allow sideloading of random scripts and resources.
@varx I sometimes contact the webmasters / editors of activist and independent media websites to ask if they knew about all the scripts from third-party domains that #NoScript has to block for me when I visit their sites. Often they have no idea. I suspect that often scripts are being called by off-the-shelf JS modules built into #WordPress themes and the like.
@Shamar @alcinnz @aral
This is my personal Mastodon.