Decentralised • Self-hosted • End-to-end encrypted
Secure, self-hosted messaging built on Saltpack
salty.im is an open specification for a decentralised messaging protocol focused on privacy, security, and owning your own infrastructure.
Open specification MIT licensed Saltpack E2E
- Saltpack end-to-end encryption
- Decentralised discovery via your domain
- Self-hosted broker or public bootstrap server
Demo
Reference client in action. Salty IM keeps messages private from start to finish.
How it works
Three simple building blocks that keep your chats yours.
Create your Salty address
Pick a name and domain. Your identity is discoverable without central control.
Host a broker
Run `saltyd` on your infrastructure, or start with a public broker while you learn.
Chat securely
Messages are end-to-end encrypted with Saltpack across every client.
Quick start
Install the reference CLI client and start a secure chat in minutes.
$ go install go.salty.im/saltyim/cmd/salty-chat@v2
$ salty-chat register <nick>@mills.io
$ salty-chat chat prologic@mills.io
Replace <nick> with the nickname you want to use.
$ salty-chat chat echo@mills.io
Talk to the echo bot to verify your setup.
Security warning
The quick start uses the public broker at salty.mills.io. Your IP address is logged, and the infrastructure is personally operated by James Mills.
Documentation
Run your own broker and set up decentralised discovery.
Choosing a registrar
Any reputable registrar works. You can also use a subdomain if you already manage a domain elsewhere.
Prefer to start simple?
You can skip the domain setup and still use Salty IM with public brokers. Self-hosting is recommended for full decentralisation.
Specification
Read the protocol spec and build your own client or broker.
Sources
The Salty IM ecosystem is open-source and community-maintained.