If an app has end-to-end encryption and syncs this data to a server somewhere... what strategies can be used for syncing?
I'm thinking pretty conceptually here, I'm not talking in terms of a specific project but let's say it's a task list app, for example. When the app goes to sync with the server, the data gets encrypted and then spat out over the net to the server, where it's held in encrypted form. Now the user deletes a task from the list on the client and a sync is commenced back to the server. How does that one record get marked as completed, rather than just deleting what was on the server and uploading the entire thing each time, which is obviously not feasable?
I know that Things encrypts at rest on the server, but apps such as Day One do have proper end-to-end encryption. But how?