u/MattHowlPro

How Howl encrypts your DMs and calls

How Howl encrypts your DMs and calls

A while back I posted Howl here and said I would get technical if people asked. I got a few messages and asks so I figured to make a post about it.

What is encrypted end to end

Your DMs, group DMs, file attachments, DM voice and video calls, voice channels, stages, and screen shares. For all of these, our server stores and relays data it cannot read. There is no toggle and no secure mode to remember. It is on for every DM, every time.

What is not encrypted:

Server text channels. Moderators cannot moderate what they cannot read, so community channels work the way they do everywhere else.

How it works:

DMs use MLS (RFC 9420), the IETF's open standard for encrypted group messaging. Discord uses MLS too, but only for voice calls. Their messages sit on their servers as plain text. We use it for the messages.

Who holds the keys

You do, by default. Your key vault is sealed with your password plus a recovery key we show you once. We keep nothing that can open it. Lose both the password and the recovery key and your history is gone. The app tells you so at setup.

If that scares you, you can opt into server recovery instead. Then we keep a copy of your keys and can rescue a forgotten password. The cost is that, that key for decryption is on our servers. The setting also mentions this directly so theres nothing misunderstood.

I have seen “fail closed” thrown around on this sub from AI and the normal person probably has no clue what that actually means, a quick run down is basically, if something fails to perform its function (in our case encryption) then the action fails rather than working in a way that the person is unaware of.

If encryption is not ready, the app blocks the send. It never falls back to plain text. A hacked server cannot downgrade an encrypted DM to a plain one, because the client refuses to go backward.

Reporting: if you report a DM, your own client decrypts that one message and sends it to our moderators. Reporting is something you trigger, not something we do.

Check my work

Again Howl is open source so all code is public, so you do not have to take my word for any sentence above.

Repo: https://github.com/Howl-LLC/Howl

Happy to answer technical questions in the comments, same as last time.

u/MattHowlPro — 10 days ago

Howl! Here is howl, it’s fun and easy to use and does what you want!

There have been countless alternatives in this sub, some have been really great, and others not so much. I would like to introduce Howl.

Howl, self hosting silos or use our centralized app for ease and convenience.

Federation is currently in progress as well.

More than anything this is a passion project and I want others to experience it.

If you want to get technical Id be happy to do that and answer specific questions. However I will not be going into technical detail for the post description as everything is in the repo.

https://github.com/Howl-LLC/Howl

Oh and its open source AGPL 3.0

We have very extensive client side customization and honestly since we are open source you can also make your own.

We offer self held and server held keys depending on your preferences and it defaults to self held.

Voice calls, DMs, group chats, servers, discovery, the whole nine yards.

Custom showcase cards to show off your personality, favorite in game achievements, real game stats and more.

Live activity sharing to keep up with whats going on.

Badges, custom fonts, server applications, custom video, self healing keys to keep things simple and easy, animated profile pictures, participant cards in calls, custom backgrounds and themes etc.

Calendars to track events and remind your server

Server activity from friends, custom codecs, choose your bit rate, upload your own sounds, make Howl yours!

On windows and linux right now, and we are looking into mobile apps for iPhone and Android.

app.howlpro.com
u/MattHowlPro — 1 month ago