s5_messenger

A Flutter package for secure messaging using s5 and MLS (Messaging Layer Security) protocols. Enables easy-to-set-up, end-to-end encrypted messaging between clients.

Features ✨

  • End-to-end encryption via MLS protocol
  • Decentralized storage using S5 for message transportation
  • Cross-platform support (Android, iOS, Linux, macOS, Windows)
  • Rust-powered core via flutter_rust_bridge for performance
  • Minimal-config messaging between authenticated clients

Installation πŸ“¦

Add to your pubspec.yaml:

dependencies:
  s5_messenger: ^0.1.0

Basic Usage πŸš€

See example

Architecture πŸ—

  1. MLS Protocol: Handles key management and message encryption
  2. S5 Integration: Stores encrypted messages in a decentralized network
  3. Flutter Interface: Platform-agnostic UI components
  4. Rust Core: High-performance cryptographic operations

Contributing 🀝

See CONTRIBUTING.md for development setup using:

  • flutter_rust_bridge for FFI
  • cargokit for Rust-Flutter integration

License πŸ“„

MIT (See LICENSE)

Acknowledgement

This work is supported by a Sia Foundation grant

Libraries

s5_messenger