I'd say those
are legal barriers, rather than technical barriers.
For example, suppose the government demands constant access to your core database. You don't need to invent any new algorithms for that, you might just make an SQL user and a firewall exception and call it a day.
Similarly, If you have a messaging client, you don't need complex R&D to steal the "end-to-end" keys.