Signal should change this, but it’s typical of the traditional desktop OS security model in which applications running under the user’s account are considered trustworthy. Security-oriented software like Signal should take a more hardened approach, but this is not some glaring security hole.
Maybe its time to rethink desktop security. I realize that there is credential manager on windows, keychain on mac, and similar on gnu/linux; even with that it seems for a lot of services “all” you need to do is steal a cookie and all of a sudden you are someone else.
as Electron has no integration with the rest of the system,
You pretty much can use Electron to build an application and use native OS-specific features. It only requires thinking about it and a bit of work, but technically isn’t much harder to do than with anything else. And there are some things useful in windows for that, based on user login credentials.
But ultimately, if the developers didn’t care about doing that, it won’t happen, regardless of them using Electron or writing fully native apps.
Electron is capable of having just as good integration with the system as native applications. It’s just that a lot of people are not optimizing these cross platform apps to have optimal integration with them. Electron has the safeStorage API that allows you to use kwallet or GNOME Keyring to securely store information. I believe both Discord and Spotify use this on Linux.
Electron is capable of having just as good integration with the system as native applications
It will never have this since it’s incapable of using native widgets and theming, which are far more important than just looks, especially to people with disability. safeStorage is something I didn’t know about, but it seems it wasn’t used. Apart from huge RAM footprint, Electron also wakes CPU a lot which makes it absolute garbage on battery powered systems.
It will never have this since it’s incapable of using native widgets and theming
You can criticize Electron’s performance and memory footprint, but as long as there’s an API to access something, it can access the same features as a native app, it just depends on the company’s willingness to do it. HTML is also one of the best platforms in terms of accessibility.
The problem though, is that cross-platform apps are optimized for that: sharing the same code among systems, and using specific OS features complicate things, so the tendency is to use the same solution for all of them, even when it isn’t the correct one. Also, they make it possible for developers who don’t know a certain OS well to still build for it, making things potentially worse in the user experience.
it is true that they do not integrate with widgets and theming, but that’s not exclusive to electron. GTK apps don’t follow system widgets, nor will they follow theming on non-gtk desktops. I do also prefer desktop apps not be written in electron for the performance reasons you mentioned.
Signal should change this, but it’s typical of the traditional desktop OS security model in which applications running under the user’s account are considered trustworthy. Security-oriented software like Signal should take a more hardened approach, but this is not some glaring security hole.
That’s what I was thinking, my private keys are also chilling in plaintext on my filesystem.
With even email clients and web browsers running arbitrary and untrusted remote code on a regular basis, that model needs serious reconsideration.
This xkcd shouldn’t still be insightful. https://xkcd.com/1200/
Maybe its time to rethink desktop security. I realize that there is credential manager on windows, keychain on mac, and similar on gnu/linux; even with that it seems for a lot of services “all” you need to do is steal a cookie and all of a sudden you are someone else.
seems to be the way both apple and MS are going.
Idea of using a web browser for a platform was dumb enough and the reason why none of the keys were stored in appropriate services.
Removed by mod
You pretty much can use Electron to build an application and use native OS-specific features. It only requires thinking about it and a bit of work, but technically isn’t much harder to do than with anything else. And there are some things useful in windows for that, based on user login credentials.
But ultimately, if the developers didn’t care about doing that, it won’t happen, regardless of them using Electron or writing fully native apps.
Electron is capable of having just as good integration with the system as native applications. It’s just that a lot of people are not optimizing these cross platform apps to have optimal integration with them. Electron has the safeStorage API that allows you to use kwallet or GNOME Keyring to securely store information. I believe both Discord and Spotify use this on Linux.
It will never have this since it’s incapable of using native widgets and theming, which are far more important than just looks, especially to people with disability. safeStorage is something I didn’t know about, but it seems it wasn’t used. Apart from huge RAM footprint, Electron also wakes CPU a lot which makes it absolute garbage on battery powered systems.
You can criticize Electron’s performance and memory footprint, but as long as there’s an API to access something, it can access the same features as a native app, it just depends on the company’s willingness to do it. HTML is also one of the best platforms in terms of accessibility.
The problem though, is that cross-platform apps are optimized for that: sharing the same code among systems, and using specific OS features complicate things, so the tendency is to use the same solution for all of them, even when it isn’t the correct one. Also, they make it possible for developers who don’t know a certain OS well to still build for it, making things potentially worse in the user experience.
it is true that they do not integrate with widgets and theming, but that’s not exclusive to electron. GTK apps don’t follow system widgets, nor will they follow theming on non-gtk desktops. I do also prefer desktop apps not be written in electron for the performance reasons you mentioned.
I mean if somebody has physical access and is logged in they have your data anyways right?
For Linux not much of a problem since amount of malware is not that big. On Windows however a different story.