Menu

1 / 8

I Built an End-to-End Encrypted Messenger with Spring Boot and WebCrypto

DEV Community·Evgeny·6 months ago
#fEiaXJnI
#privacy#java#react#message#device
Reading 0:00
15s threshold

Most chat pet projects follow the same path: authentication, user search, a messages table, WebSocket delivery, and a React UI.

That is a good way to learn realtime development, but it has one architectural problem:

the server knows everything.

It knows the message text.

It can read the history.

It can return the last message in a chat list.

It can log private conversations by accident.

It can expose message content through an admin panel, a SQL query, a bug, or a compromised backend.

I wanted to build something different.

Not just another WebSocket chat, but a messenger where the backend is not a trusted party.

The rule was simple:

the browser encrypts, the server routes, the database stores ciphertext.

That project became Chaos Messenger — a full-stack end-to-end encrypted messenger built with Spring Boot 3, React, WebSocket/STOMP, PostgreSQL, Redis, and WebCrypto API.

Repository: github.com/vaazhen/chaos-messenger

Tech stack: Spring Boot 3, React 18, WebCrypto API, PostgreSQL, Redis,…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.