Not that I can think of, no. This is the public key based way of doing things.
I mean the value gets encrypted or signed with a private key.
Not really applicable here. If you want to create an alternative design, I recommend first looking at src/protocol.rs to see what the current design constraints are. (Or the README.md for the overall workflow.)