Prevent sharing files with relay in a private network


I have a private network of two nodes running with swarm key from different networks on the internet. They cannot find each other unless I setup a relay, and since they are using swarm key, the relay must also have the key so that they can connect to it.

This means we cannot have untrusted relays, and relay can have access to files on those nodes.

Is there a way to make files hidden from relay and only use it for relaying the connection? (without encrypting files)

Or is there a way to tell the node not to require swarm key from the relay and connect to them to find peers?

Or is there a way to first create the connection between two nodes using the relay(maybe separately using libp2p?) and then use ipfs functionality?

Or run one public ipfs instance and one private instance and share the peers and dht table between two?