Hey everyone! :)
I am currently looking to replace Obsidian with a self-hostable alternative (that preferably also uses Markdown - but it’s not a must) but instead of storing the files directly on disk has a way to have all the files within in an encrypted vault / binary format.
Reason being I have very very sensitive data that needs to be stored (employee & medically related).
I read that Logseq used to support this feature but it has since been deprecated, some light googling didn’t surface any results other than that so I would be delighted if anyone had any suggestions!
Thanks so much in advance for any and all help! :)
edit: Forgot to mention that it needs to support Linux as well as Android
Joplin can encrypt and it is selfhostable and uses Markdown
Benefit: apps for every platform
After some more research it seems that Joplin only E2E encrypts notes at transport and not at rest[1]? e.g. it only stores plain text files on the harddrive just like Obsidian does? This sadly makes it not viable for my use case :/
No it is fully encrypted, even on the server. This topic was years old. You can read a good explanation here
If you are dealing with compliance seek help from a professional
This needs to be reiterated. If you need to comply with ANY laws at all do not perform this service yourself. Consult professionals and allow them to assume that risk.
If all you are doing is trying to encrypt notes you are taking then maybe that’s a different story. Please just make sure you are not at a legal risk.
if you’re encrypting at rest you also have to consider where there encryption key is being stored.
if you’re storing the encryption key plaintext on the same drive as the data, there’s not much of a point in encrypting.
a TPM/HSM could solve the issue, depending on how far down the rabbit hole you need to go.
EDIT: You could also encrypt the disk of the VM/Server hosting the app. similar situation.
In my mind at least this would be solved by the “vault” needing to be decrypted with a password every time notes are accessed/saved with the password acting as the key? I’m not terribly well educated on encryption though.
The problem is how many random characters can you remember in your head?
A good encryption key would be around 32 characters to form a 256 bit encryption key.
You can do a fun game of encrypt the encryption key with a password but that’s just another vulnerability in the chain.
I recommend getting a PGP key stored on a yubikey and then encrypt all your notes with it since it’s all in markdown, I store my notes on Google drive and keep them decrypted in memory so that I can still use Obsidian.
Or just use a password manager like keepass where the problem of storing passwords has been solved already…
You can selfhost Standard Notes. The notes are encrypted client side before they reach the server.