Weekend downtime, mongo and few sweets

We moved some of our tables from database to mongoDB over this weekend. This is first move to optimize performance and important step to reopen free registration.

For now it's just user personal messages and we will slowly move some other stuff.
Whole process done on the background, and require no special action from your side. I would like to dive a little into details, what ultimately this means to end user.

  • all personal messages now have user id field, email size, and time it was created(mongoDB id has this information).
  • little redesign with added refresh/new email button
  • ability to see email header when received from third server

We used to store personal messages in fully anonymous manner, which means if database get handled over, nobody can even learn how many messages each user has in his or her mailbox.

From now one, numeric user id, will be added to each personal message. It still protected by random generated AES-256 key. But if we would be forced to give out our database it will leak information on how many emails particular user has.

This is extreme case, and I hope you will agree with our reasons behind this decision:

  • Limiting ourselves without knowing message origin, would force us to keep all messages in database forever, even if user not using SCRYPTmail anymore.
  • User id will help us to keep database size under control and allow us to store extra data for each email, such as raw email header.
  • Calculate emails size for user, and offer mailbox with standard size like 500Mb instead of 1000 emails.

In my opinion this little addition completely outweigh danger of knowing how many emails you have in your mailbox.

Our next step will be adding custom domain functionality. It will be available only to advanced and kickstarter+ accounts.