Openmsg: The spam free, open messaging protocol
Openmsg was built as an alternative to email by someone who was fed up of spam. It is an open, cross-platform, decentralized messaging protocol that anyone can implement. All you need is a domain name and a database. Developers can build their own clients and servers in any programming language.
See:
Overview
Setup
Roadmap
Guides
References
See:
Overview
Setup
Roadmap
Guides
References
Key Features
Spam-free
The Openmsg protocol is designed from the ground up to be spam-free. One user cannot message another without explicit permission. For example, if user A wants to contact user B, they need to know not only user B's Openmsg address but also possess a one-time passcode that was issued by user B. Without a valid passcode, any connection attempt will silently fail—user B won’t even be notified. That means: no spam messages, no spam requests, no noise.
Open Protocol
Openmsg is an open protocol — anyone is free to implement it. While most examples on this site use PHP and MySQL for simplicity, the protocol itself is platform-independent and can be implemented in any programming language of your choice.
Decentralized
The protocol is fully decentralized — there’s no central server or authority. Anyone with a domain name and a database can run their own instance, giving them complete control over their messaging system while still being able to communicate with others using the same protocol.
Encryption Built-in
A key feature of the protocol is built-in end-to-end encryption. When two users first connect, they securely exchange both encryption keys and authorization keys for ongoing communication.
- Authorization keys verify permission to exchange messages between the users.
- Encryption keys ensure that all messages are encrypted end-to-end, keeping content private.
Easy to Implement
Setting up a server is simple—all you need is a database and a few files. You can setup the protocol on any domain in just a few steps:
If you're not using PHP, the provided code can be used as a reference and easily adapted to any programming language.
- Set up the database tables (we provide PHP code to create the necessary tables in just a few clicks)
- Download the PHP files and upload to your server
- Tweak the configuration to match your server settings.
If you're not using PHP, the provided code can be used as a reference and easily adapted to any programming language.
Get Started
Take a look at the Overview and then the Setup guide
See Next: Overview
See Next: Overview