I wanted to implement the Signal protocol for a series of secure messaging apps I’m working on, so I built this project to test and use in my own work. It’s still far from finished, but I think it’s at a stage where it’s worth sharing with the community.

IMPORTANT DISCLAIMER: This project is not professionally audited and is not production-ready. I do not recommend anyone use this in their own code yet. It is provided strictly for testing, experimentation, and demo purposes. I used AI as an assistant to help build this, so double-check everything before taking it seriously.

Project Links:

Current Status & Development:

  • Spec Alignment: The goal is to fully align with the official Signal protocol spec.
  • Testing: It includes unit tests, but due to WASM testing limitations, I also added a Storybook-like UI to run and test it directly within a browser environment.
  • vas@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    ·
    18 days ago

    Isn’t Signal’s protocol already implemented in Rust? I thought it is, and they use FFI on Android and iOS.

    • xoron@programming.devOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      18 days ago

      There are a few nuances to my approach, but the key detail is that I wanted it to also work in a browser so I needed the ability to build to a wasm to be used in js.

      Signal doesnt offer browser based capabilities and so I created this to target web aswell as native.