Session is an open-source, public-key-based secure messaging application which uses a set of decentralised storage servers and an onion routing protocol to send end-to-end encrypted messages with minimal exposure of user metadata. Session does this while also providing common features of mainstream messaging applications.
For a more in depth look at Session, you can read the Session Whitepaper.