DEV Community

Cover image for A Minimalist Privacy-Email Service Website
Shutbox
Shutbox

Posted on

A Minimalist Privacy-Email Service Website

Introduction

I used to be a paying customer of Skiff Mail, and part of what made me use it was not only that it was a privacy-focused email service, but also its beautiful UI.

However, on February 9, 2024, Notion acquired it, and the company pulled the plug on the Skiff projects entirely. A few years passed, and I had yet to find a service that offered the same balance between privacy and Aesthetic UI/UX.

That is not to say that privacy-focused email services themself weren't available; but that the UI of existing services was not to my taste.

Some examples of such services are:

  • Proton Mail: The most famous privacy-first email service provider. The UI itself is simple but is not to my taste.
  • Tuta Mail: The UI feels clunky for me personally

Not to say that these services have bad UI; it's just that my comparison standard for them is Skiff.

During 2024, I was still in my 2nd year of college. Ever since Skiff pulled its plug, I really wanted to create my own privacy-first email service. Now, I am a graduate with a job, which gives me money to work with. So, I finally decided to create my service.

https://shutbox.im

Shutbox Banner Image

Now, I know it's not the greatest UI out there, and it could feel worse than Proton Mail or Tuta Mail in terms of appearance, but this is just my base UI as I try to perfect it more and more until I reach a desirable UI that truly makes me feel the same way that Skiff's UI made me feel.

Internals

For my architecture, I chose the following:

  • SMTP Backend: Elixir (gen_smtp and Phoenix)
  • Website Backend: Golang
  • Website Frontend: Next.js (SEO Friendly)
  • Job Queuing: OBan
  • Database: PostgreSQL

I chose Elixir due to my limitation with my server's memory limitations and how efficient the BEAM VM is when it comes to multiple processes.

For password authentication, I chose to use OPAQUE (Strong Asymmetric/Augmented PAKE). It's a bit difficult to explain, but if you are curious, you can read more about it here. Basically, it allows a client and server to authenticate a password without ever exchanging the password (in either Cleartext or Encrypted) directly.

This service was not designed for regular email use, but for a permanent throwaway account of sorts. Where you can just use the email when you don't want to use your real email, but also keep the throwaway email just in case you ever need something from those signed-up accounts in the future.

By default, I provide 5GB of storage; however, for normal use, you will never find yourself using that much amount of storage.

While the website features a "Payments" page to upgrade plans, it's non-functional. Crypto payments are set up but largely untested.

Issues

It goes without saying that if a service can be abused, then it will be. Not scanning anything also creates issues. It makes it harder to segregate bad actors from regular users. Yes, behavioral anomalies can be looked out for, but it is not a sure-fire method of dealing with bad actors.

Emails depend on two things:

  • IP Reputation
  • Domain Reputation

Each time a bad actor sends an email that someone else flags as spam, a scoring system slowly determines a Domain/IP to be spam, effectively causing emails to land in Trash instead of Inboxes.

Currently, my approach is to moderate manually. I have around 13 legitimate users who are using the service, with a total of 40 accounts registered (4 are mine), without ever advertising.

In the past few days, I suspended 6 accounts manually due to their names imitating famous brands.

Closing words

All in all, I had a lot of fun working on this project. I will continue making progress on the website. Until then, you are free to try out the website!

Top comments (1)

Collapse
 
aryanroy profile image
Aryan Roy

Looks great, would have been better if the project was open-sourced, though, to establish trust.