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
You can selfhost Standard Notes. The notes are encrypted client side before they reach the server.
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…
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 like the command line you could consider jrnl
If you are storing manly on one device and are looking for a relatively “simple” solution for encryption at rest I would suggest to just encrypt the folder/directory/image the data are living in.
Of course, this way you have to decrypt the data while you are using it. However, it separates the responsibility from the note taking app.
This may or may not be a good solution for your use case, but it should be fast and easy to implement.
I used to do this with some mildly sensitive data using a mac encrypted disk image with plain markdowns files inside. I accessed the files with vscode, but I don’t see why it wouldn’t work with Obsidian. It may just be a bit of a hassle to open the vault each time.
This is a security risk! Some note taking apps store data outside of the notes directory (e.g. Logseq)
Good to know, but this is a security risk of the note taking app, not of the encryption method itself.
I wanted to write the same thing. have the notes app do the notes thing and handle encryption elsewhere.
as to apps, I suggest QOwnNotes. it’s markdown, highly configurable so you can make it minimalistic AF, stores notes in invidual files and folders. it also has a bunch functionality like syncing to nexctcolud and such, but I’d advise against it, just use it as a notes editor. you don’t have to selfhost anything, make it use the e.g. Documents/Notes folder and you can use syncthing to securely replicate it to other devices.