We'll need to store various credentials to gain access to the servers we want to communicate with (mostly in Sink, but potentially also outside of it).
We therefore need a way to store those credentials in a somewhat secure manner.
Traditionally we'd be using the local wallets, which means we need to support multiple solutions. Recent developments move towards libaccounts/libsso to manage credentials and authentication centrally, but that approach seems entirely unportable.
Realistically we'll need to integrate with various solutions (platform specific keyrings).
As a first step we can build something that allows to request a password, that will in the first iteration simply request it from the user. We can then subsequently add support for other mechanisms.