There might be a way to sign without directly supplying the key to your browser/client. Idk though, I’m a bad programmer so I wouldn’t try it.
Discussion
Actually I was wrong about NIP-46, it's about telling sites your public key, and then they ask you to approve/sign certain things. I'm guessing it's mostly focused on zaps (like everything else here).