Day One / Blog

Encryption Update

“Next to doing the right thing, the most important thing is to let people know you are doing the right thing.” —John D. Rockefeller

It’s been a couple of months since our previous encryption blog post, so we wanted to give you another update.

TL;DR

We’re making great progress. It takes time to do it right. We don’t have a release date to announce right now.


Goals

We’ve been sweating the details of Day One encryption. The bottom line is our encryption service has to be architected and implemented with care. Paramount in this work are these goals: 1. Zero disruption in current sync services; 2. No data loss as entries are encrypted; and, 3. Deliver a solid and secure encryption solution.

Progress Update

During the past months, there’s been a lot of iterative development between the client and server. During this process, we’ve identified processes and systems that needed to be re-architected and re-implemented in order to provide the scale, performance, and security we expect in a final solution. The changes being made to our core sync services are significant and require careful consideration and testing. To date we have completed user key and journal key management along with some infrastructure upgrades required to support them. We are now working full tilt on the new entry save process that supports encrypted journals as well as the process that safely encrypts a journal when encryption is enabled while not requiring the client to re-send everything.

Remaining Milestones

Naturally, our internal milestones and progress are tracked at a much finer grain, but the following are important milestones:

  1. Internal beta for new journals.
  2. Internal beta for existing journals.
  3. External beta with limited release (tentative).
  4. Release.

As we reach these milestones we will announce them here or on our twitter account: @dayoneapp.

It just takes time…

Sharing delivery estimates in software development is the stereotypical bane of most developers’ existence. When the “unknown unknowns” become known, release estimates inevitably change. This is particularly true with a system-critical service like Day One encryption. While we can’t provide a specific release date at this point, we can say that we plan on being in beta in the next month or two (see milestone #3 above). After another month or two of beta testing, we should be ready for release. Of course, these estimates have this caveat: things may come up that will alter our course and require further time and effort to do it right. In the end, that’s what matters most to us. Thanks for your continued patience and support!

Comments and suggestions are welcome. Email security@dayoneapp.com.

About the Author

Jason Webb (@bigjasonwebb) is a senior engineer at Day One. He works on the server applications and generally obsesses over making the journal experience better for everyone. He has been engineering services for over 20 years and can’t imagine doing anything else. Jason loves spending time with his 4 children and wonderful wife and being the household handyman when he’s not working on Day One.