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.
It's actually by design. First of all they shot themselves in the foot by choosing Electron as platform to build desktop applications as Electron has no integration with the rest of the system, at least not as deep as native application has. Both Linux and, I believe, MacOS have secure storage programs for keys and passwords. Windows however does not, at least it didn't back when we got screwed. So this is another reason why they chose to store in clear text, you have to cater to largest audience no matter how dumb the solution is.
In its truest sense this is what a technical debt is. Shitty choice costing you increasingly more as the time goes on and now they are simply too deep to pull out. They are committed to this approach and simply switching would require too much money and effort.
And you are right, it's 100% security hole and a juicy attack vector. FileZilla did the same thing and there's malware out there specifically targeting this software and is using user's servers for propagation. Our systems got infected the same way long time ago because one of employees was retarded enough to use FileZilla and save password in config file even though I said not to. Since password was saved in clear text format and FTP is not terribly hard protocol to implement we got screwed. After that incident when our servers were almost taken down from internet, FTP was banned and any form of password login without two factors.
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.