I think Liana can just add a "sign by endpoint" feature, meaning that there is a webserver somewhere that expects your PSBTs and returns then signed (if they respect whichever conditions you it's programmed for) for one of the xpubs in the wallet policy.
The cosigner could be a third-party service, or a simple webservice running in your umbrel node (or your friend's node), etc.