The problem is that signal is not running as a federated service. This makes you dependend on services like AWS and the like.
And there's another AWS/(any evil hosting service): As I understood #signal hashes phone numbers before uploading them to let accounts discover each other. The number space of phone numbers is not really big and having computing power and storage space at hand it shouldn't be too complicated to make a database to quickly access any phone number by its hash.
This information - using default signal settings - is exposed to super computing companies. This information allows to recreate the topology of the social network that is made of the millions of signal accounts.