Signal is bound to a phone number, no? I think I would go with OTR via XMPP, or whatever is a modern protocol. Or maybe Matrix is now a good alternative?
I didn’t use OTR since a long time now, so not sure if that’s still a good choice, but it’s quite versatile and easy to setup.
Edit: OTR doesn’t seem to be recommended anymore, OMEMO seems to be the modern alternative https://en.wikipedia.org/wiki/OMEMO