Thats what I ended up doing. I created a simple encrypted wrapper around localforage and then I let the user choose to encrypt with a password (use encryption wrapper) or no encryption (use localforage)
Not really secure, but a massive UX improvement since decryption with the users key is the bottleneck
https://github.com/hzrd149/nostrudel/blob/master/src/classes/encrypted-storage.tsx