Data synchronization across devices is the present-day standard for most apps, and most users couldn’t imagine life without it. It is, however, hard to find a more vulnerable process from the point of view of data security. Metaphorically speaking, it is the Achilles heel of the entire security system.
So, for Aegees, we made it our goal to find a way to make synchronization as secure as possible. (We do hope by now you understand that at Aegees, we are seriously obsessed with security, right? Hint, hint!). Each message is only sent once, while identical copies are sent to the user and sender’s synchronized devices. Once the transfer is complete, the message only continues to exist on the users’ end devices, and nowhere in between.
The synchronization wait time is relatively short for low-volume data exchanges over good quality network connections. We have achieved stable performance rates for synchronization thanks to implementing a single C++ core across all versions of the client portion of the app. For the user interface, we used languages depending on the operating system, such as Java for Android, Objective-C for iOS, and so on.
Synchronizing high-volume data exchanges, such as picture, video or audio recording transfers, however, requires a different approach. Full synchronization is now possible when all devices are connected to one network, such as for example, a wi-fi network. It will take time too, but this method is much faster than any other way we know for handling large bodies of data.
One more thing you need to know about the Aegees approach to synchronization is that text message history will not be stored on servers forever. In fact, it won’t be stored there for any significant amount of time at all. Once the transfer to all synchronized devices is complete, the message is deleted from the server — puff!
This is a brief description of how we implemented a fairly quick and secure data synchronization workflow, minimizing all the potential vulnerabilities. One more synchronization-related topic we will look at further on is connecting new devices.