Garvit Galgat

MAR 2022 · BROWSER EXTENSION

WhatsCrypt

An extra layer of encryption for messages

View source

JavaScript · TweetNaCl · Firebase · Webpack · Browser extension APIs

I remember people worrying about a privacy-policy update from WhatsApp’s parent company. It got me thinking about whether I could add another layer of encryption over the messages.

What if I encrypted the message before sending it?

The idea

I wanted the message to already be encrypted before it reached the messaging platform. The idea was that even Meta would only receive the encrypted text.

I built WhatsCrypt as a browser extension to try this out: encrypt a message before sending it, then decrypt it for the recipient.

Making it work

The extension used a public and private key pair. Someone could look up the recipient’s public key, while the private key stayed in the recipient’s browser.

That also meant keeping the private key was important. Removing it could leave old messages unreadable.