Every wallet signs the same EIP-712 message. If ECDSA signing is deterministic (RFC 6979),
the same key must produce the same 65-byte signature every time, in every wallet. That signature is
what a privacy key would be derived from, so nothing needs to be stored.
1. The fixed message
Domain has no chainId, so the signature is the same on every network.
EIP-712 digest:
2. Injected wallets (EIP-6963 + window.ethereum)
Import the same secret into several wallets, then sign with each. Serve this page over http; extensions do not inject into file://.
Looking for wallets…
3. In-browser wallet (ethers.js, kept in localStorage)
or import one:
Mnemonic (BIP-39, path m/44'/60'/0'/0/0, the first account MetaMask would show):