Cryptee Docs allows you to selectively make offline copies of your documents on your devices, and access / edit them without internet connection.
Due to Cryptee's strong security and threat model, this process is slightly more different than other note-taking / document authoring applications you may have used. So let's take a look at how this works.
How does the Offline Mode work?
Cryptee Docs has a selective offline mode. This means that you need to individually select the files you wish to access offline. (Kind of like Spotify on your phone)
Once you select a document and make it available offline, these documents are stored in encrypted format on your device.
To make a document offline,
Click on the "⋮" button to open the dropdown for the document, and select "Make Doc Available Offline". This will make that document available offline on that device only.
[ Make the actively open document offline ]
[ Make a document offline from the folders view ]
To remove an offline document,
similarly, click on the "⋮" button to open the dropdown for the document, and select "Make Doc Online Only". This will remove the document from your offline storage.
How do I know which Documents are available Offline?
Your Offline Documents have a blue dot or line next to them to indicate they are available offline.
How do Offline Documents sync?
When your internet connection is restored, next time you launch Cryptee:
First, Cryptee will prepare a list of online and offline document versions, based on when these documents were last saved.
- If the Offline Document is saved after the Online version,
Cryptee will upload the Offline Document, and update the online copy.
- If the Online Document is saved after the Offline version,
Cryptee will download the online version and update the offline copy.
- If both the online and offline documents are the same,
Cryptee will skip sync'ing this document.
Shortly, when you've made some documents offline, Cryptee Docs will run this check and sync your offline-marked documents automatically in the background, every time you launch the app.
How about multiple devices? How does that work?
If you have multiple devices, say a laptop and a smartphone:
You need to select, for each device, which documents you wish to make offline. So your devices can have different documents offline.
How does Cryptee handle sync conflicts?
Simply put, it doesn't, and the latest version saved online is what Cryptee will use.
In detail :
Unencrypted note-taking / document authoring applications have access to your notes and documents in plaintext on the server. This means that when you make changes on one device, their servers can read through your documents, find the change, and update their servers + all your other devices.
Whereas with Cryptee, since all your documents are encrypted on your device, using your key, Cryptee's servers can't see/read/access your documents, nor can detect these changes the same way other unencrypted note-taking / document authoring applications can.
So instead Cryptee has to rely on time-of-save / time-of-change to detect the latest versions of documents. This has one known downside.
Say for example, you made changes to an offline document, while your smartphone is offline. Then an hour later, while your smartphone is still offline, using your online laptop, you made changes to the old version of the same document.
While sync'ing, Cryptee will check which version of the document (smartphone or laptop version) was saved the latest, and only use the latest one. So in this case, it will be your laptop version, since it saved 1 hour after the smartphone. And when your smartphone goes online, all the offline changes you made will be lost.
There is no easy one-size-fits-all solution for this problem, especially with on-device encryption. Each approach has its own downside, and Cryptee currently uses the most common and easiest solution to address this problem.