I created the signal protocol for a related project. The implementation is in rust and compiles to WASM for browser-based usage.
- Github: https://github.com/positive-intentions/signal-protocol
- Demo: https://signal.positive-intentions.com/
Im not sure when its a good time to share it, but i think its reasonable now.
The aim is for it to align with the official implementation (https://github.com/signalapp/libsignal). That version was not used because my use case required client side browser-based functionality and i struggled to achieve that in the official one where javascript is used but is targeting nodejs.
There are other nuances to my approach like using module federation, which led to me moving away from the official version.
The implementation is now moving past the MVP stage. It is integrated into a p2p messaging app. See it in action from the link on my profile.
While i have made attempts to create things like audits and formal-proofs, it isnt enough. I hope by sharing it, it can serve as a starting point for feedback about the implementation and highlight outstanding issues i may be overlooking. Its open source so you can take a look, but i completely understand it isnt worth your free time. Feel free to reach out for clarity on any details.
Ultimately id like to gear it up towards getting a professional third-party audit. If a free audit isnt going to happen, its prohibitively expensive… Users ask me questions about how my app works. In particular, people often ask about the protocol when it comes to cryptography. I’ll have to share references to the AI audit, which id like to avoid.
Have a look here, they also did some free audits for Lemmy:
thanks for the tip. it seems nlnet seem to use radically open security. so i pinged them an email.


