Time flies. It has already been three and a half years since EteSync was first released. It started out as a simple end-to-end encrypted sync solution for Android. We have since added support for sharing data with other users, and we now have clients for the desktop (DAV bridge), the web, and iOS, built-in support in vdirsyncer and Tasks.org, and there add-ons being built for GNOME, KDE and Thunderbird.

All of the above was made possible thanks to the EteSync protocol, which remained mostly unchanged during this whole period. However, while the existing protocol has served us well, it limited our progress and prevented us from achieving some of the things we would like to achieve for EteSync, so after three and a half years, it's finally time for a major protocol upgrade.

What does it mean for you?

It means we will finally be able to offer some long awaited and often requested features such as notes synchronization and secure location sharing. It means that your sync will be faster. It means the EteSync applications will be simpler to develop, which means they will be easier to improve.

We will also change the EteSync usernames to be actual usernames instead of based on the email addresses. This will make it easier to support changing the email addresses you use with EteSync.

The above improvements are just the tip of the iceberg. We have a lot more coming, so expect a few more announcements in the coming month or two which will make EteSync a more complete solution for your data syncing needs!

In addition, the new version of the protocol will be formally verified using Verifpal and will be based on the widely used and audited libsodium, which together will provide very high confidence that everything is as secure as it should be. We also plan on releasing a formal spec of the protocol to make it easier for other developers to build implementations in other languages.

What's next?

The new version of the protocol is essentially ready, and the server side is fully implemented. We now need to upgrade all of the existing applications to use it. We have already made quite a bit of progress on this front, and we hope to have the web, Android, iOS and DAV bridge all ready for testing within the next few weeks.

After we are certain everything works as expected, we will add migration tools to each of the clients that will easily upgrade your EteSync accounts to EteSync v2.

Until then, we would love to get some help with making sure everything works as expected, if you are interested in helping out please reach out to us at the community chat (IRC/Matrix/Web), or email us at v2-testing@etesync.com. Edit: testing is now open for everyone! More information at the new blogpost.

Using the EteSync protocol in your app

Over the years many developers have reached out to us about adding end-to-end encryption to their applications. Building end-to-end encrypted applications is both hard to get right, and very time consuming, so using an existing solution makes a lot of sense, especially since EteSync is versatile and isn't limited to contacts, calendars and tasks.

With this new version of the protocol, the client libraries have been designed with 3rd party developers in mind, making it easier than ever to use the EteSync libraries in your apps. If you are interested, please let us know by emailing us at contact@etesync.com.

Thank you NLnet and NGI0

The work on EteSync 2.0 is made possible with financial support from NLnet Foundation, courtesy of NGI0 Discovery and the European Commission DG CNECT's Next Generation Internet programme.

The NLnet foundation in general and the NGI0-PET in particular is funding projects to protect everyone's digital privacy, especially in the context of the "next generation" of the internet. It's an extremely important cause which we at EteSync are very much aligned with. Please help by spreading the word about them.

If you are working on such a project and think you can make a big difference with some financial help, I suggest you apply here.

More specifically, if you have any cool project ideas related to EteSync please apply, or reach out to discuss it. We will be happy to help you with the application, and do our best to help with your actual project.

As usual, we would like to remind you that we rely on your feedback and contributions to make EteSync better. Do you have any suggestions or  are experiencing any issues? Please send patches, report issues or just contact us.

Come chat with us on IRC/Matrix, or follow us on Mastodon, Twitter, Facebook, reddit or RSS for the latest updates and privacy-related content!