Skip to content

skygenesisenterprise/ump-protocol

Universal Messaging Protocol (UMP)

Version: 1.0.0
Date: 2025-08-26
Author: Sky Genesis Enterprise (SGE)


Overview

UMP (Universal Messaging Protocol) is a modern, secure, and extensible messaging protocol designed for end-to-end encrypted communication across multiple platforms, including desktop, mobile, web, and IoT devices.

The protocol prioritizes security, privacy, and interoperability, providing developers with a robust framework for building messaging applications or integrating secure messaging into existing systems.


Features

  • End-to-End Encryption (E2EE): AES-256 / ChaCha20 with digital signatures (ECDSA or post-quantum options).
  • Forward Secrecy: Ephemeral keys for each session to prevent retrospective decryption.
  • Authentication: Strong authentication using public/private keys, OAuth2, or token-based methods.
  • Multi-Transport Support: TCP, QUIC, WebSocket, and optional Tor support for anonymous messaging.
  • Message Types: Supports text, media, and system messages.
  • Extensible: Easily extendable for additional features such as file transfer, streaming, or ephemeral channels.
  • Open Standard: Fully documented and open-source for community contributions.

Getting Started

Prerequisites

  • Rust 1.75+ (for core libraries and client/server implementation)
  • Go 1.23+ (for API and microservices)
  • Node.js 20+ (optional, for prototyping or web client)

Installation

  1. Clone the repository:
git clone https://github.com/skygenesisenterprise/ump-protocol.git
cd ump-protocol
  1. Build the Rust core libraries:
cargo build --release
  1. Build Go microservices:
cd services
go build ./...

Usage

UMP messages are serialized using Protocol Buffers (protobuf) or FlatBuffers to ensure interoperability between Rust, Go, and other client languages.

Basic steps for sending a message:

  1. Generate ephemeral session keys.
  2. Encrypt the message payload using the recipient’s public key.
  3. Sign the message with the sender’s private key.
  4. Send the message through a UMP relay server or directly via supported transports.

Contributing

We welcome contributions from the community. Please follow these guidelines:

  • Fork the repository and create feature branches.
  • Write clean, well-documented code.
  • Ensure tests pass and maintain backward compatibility.
  • Open a pull request with detailed description and motivation.

Contact

Sky Genesis Enterprise (SGE) Website: https://skygenesisenterprise.com Email: support@skygenesisenterprise.com


UMP is designed to provide secure, private, and interoperable messaging for the next generation of communication platforms.

License

  • UMP Protocol Core & Libraries: MIT License (permissive, open-source)
  • Official Implementations / Certified Clients: “UMP™ Certified” License (commercial / dual-licensing)

About

The Universal Messaging Protocol Project (UMP)

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages