Encryption and Compression
The idea behind the safe transit of UMarks files between an offsite source, such as a cloud server, and a trusted system like a desktop PC is to only have the file in plain text on the local, trusted system. To this end we need to consider a standard for both encryption and compression.
The process should be invisible to the end user. So, any syncing function should be invisible. That is, the user-agent should encrypt and compress the file automatically before sending offsite.
In order for one UMarks implementation to be able to talk to any other implementation means we need to agree a standard form of encryption. This has to work on regular desktop computers, as well as low powered devices, such as mobiles.
We consider AES 128 bit to be ideal for this. You can find out more from Wikipedia:
We also recommend a simple password, known only to the user, is used as a key.
The compression standard we recommend is the standard gzip format. You can find out more here:
It is recommended that applications first compress the file, then encrypt it before sending offsite. And, obviously, the same process in reverse for syncing with an offsite file.