All messages are encrypted by the bridge before being sent to the matrix homeserver. Homeserver cannot read or see any message contents. If you want to self host everything, including the homeserver, you can do this: https://github.com/beeper/self-host
Thanks! Appreciate the responses. I'll forward things to the interested parties. They're already all atwitter about the potential for a direct Signal reimplementation like the imessage one. That might just be the ticket!