I like to use private and censorship-resistant alternatives to various traditional web2 tools - Akash for cloud, Fileverse for Docs, Akash and Venice for AI etc.
But I got really sad and angry and frustrated yesterday - I lost slides I was working on in ddocs.new. I love Filverse folks and they jumped in to help recover the content (unsuccessfully:)). The problem with Fileverse had 2 parts - some websocket failed (hence my concent was not backed up) and my browser wiped a lot of IndexedDBs (no clue why).
Now, this is bad - not only because I lost the slides, but because I also lost
- Venice AI chat history
- All cached Qaku Q&As
- All notes stored in Lope
- …
So this basically tells me one thing - all apps need reliable, encrypted, censorship-resistance off-device back up - especially browser apps, it seems, but then other app might suffer this.
We touched upon this topic in OpenADP topic, but there the focus was more on “how do we encrypt stuff in uncensorable, private and decentralized way”, but that is only a part of the story.
Here I’d like to propose a step further - a general backup solution with good API, which could be easily ran and integrated by any project.
It feels like we have all the important pieces - TACo (@taco hello:)), Codex (@MastermindSS), StatusL2 (I don’t see Cyp…) and Waku
Now, I imagine there is a node I can run, or someone else can run a bigger service and just expose API (yeah, not fully decentralized, but we also need to make this easily adoptable and as long as there is an option to be completely self-soveregin, I am good)
The node:
- Runs Codex
- Uses TACo for encryption
- Uses StatusL2 for book keeping
- May or may not use Waku for signalling (I am not 100% sure about how Waku fits)
- Exposes REST API that I can configure for my (web)apps
My naive flow is that an SDK basically simply accepts a binary blob (e.g. fileverse document, exported notes, Venice AI chat), encrypts and pushes to teh REST API to get it stored in Codex. Then it can store the CID in a contract on StatusL2, so that I can retreive it later (in case I need to restore).
There are probably some metadata involved, so that I know which CIDs belong to which app (ideally only I know that)
There should also be some payments involved - because I want this to be stored durably on Codex.
I am not sure about how the authentication will work - but I imagine something like what Fileverse is doing with abstract accounts, privvy, safes etc.
Every single local-first app would benefit from this - Venice does not back up anything, Filverse uses IPFS and custom contracts, my apps do not back up anything. This could also be used by desktop/mobile app (Status?)
What am I missing? Does a solution to this problem exist? Is this something we (IFT) should prioritize and partner with popular projects like Fileverse and Venice in building/pushing it?