salty.im - secure, easy, self-hosted messaging
salty.im is an open specification for a new
Saltpack based e2e encrypted messaging protocol
and platform for secure communications with a focus on privacy, security
and being self-hosted.
🏃 Quick Start
- Create and register an account
- Start chatting!
1$ go install go.salty.im/saltyim/cmd/salty-chat@latest 2$ salty-chat register <nick>@mills.io 3$ salty-chat chat firstname.lastname@example.org
<nick> with a nickname / alias you’d like.
To test that everything is working you can talk to our echo bot, for example by
starting a chat with
email@example.com it will echo anything you message it:
1$ salty-chat chat firstname.lastname@example.org
Note: This quick start installs our reference command-line client
salty-chat and registers an account on the broker running at
Security Warning: Please note that your IP address is logged and that
salty.mills.io is the personal infrastructure of
For full documentation onw how to setup your own broker, with own domain on
your own infrastructure (preferred), please read on…
The following is more details documentation on setting up your Domain Name (DNS)
records (optional) and running our reference broker
saltyd on your own server
and configuring our reference client
- Make sure you have a Domain Name Choosing a Registrar
- Read the full instructions and start chatting!
🌏 Choosing a Registrar
There are numerous Domain Name Registrars
you can choose from to register a domain name. It really doesn’t matter which
one you use, but you do need a domain name to use Salty IM. Salty IM will also
work with a sub-domain (a name under someone else’s domain).
Some reputable registrars include:
Once you have a domain name you will also need to run a small Web Server on it
so that Salty Addresses can be looked up automatically by the Discovery process.
As Salty IM is decentralised this is an important step. If you cannot for some
reason obtain a domain name and run a small web server, there are other options
⁉ Help! What?!
Okay if you don’t understand anything about Domains and Web Servers don’t worry!
We’ve got you covered! Currently you can skip these steps and just install
Salty straight away and just following the setup process. Although we highly
encourage you to setup your own domain and server as Salty IM is designed to
be decentralised, we realize this is not for everyone. By default Salty IM
will use publicly available free servers so you don’t need to worry about this.
The project is managed by a self-hosted Gitea instance
saltyim is the Go library and reference client and broker implementation for
Salty IM it contains a command-line client (cli),
a terminal user interface(tui), builtin server/broker
and a Mobile / Desktop App PWA (progressive web app)
This website’s source files and the Salty specification.
The cryptography library tools used by Salty IM utilising
Saltpack and keys.pub.
We have an IRC channel
#salty.im on the Libera.Chat
IRC network. You are welcome to come chat to us, hang out and get involved!
For your convenience you may use the Web Chat.
Salty.IM is a decentralised instant messaging protocol inspired by
IndieWeb and Twtxt
and accompanying project of Yarn.social.
Like Yarn.social there is a reference broker (server) and client(s) such as the
salty-chat and a mobile app.
clients (including the mobile app) built and provided by the Salty.Im developers.
Salty IM and Salty Chat are licensed under the terms of the MIT License.