Signing model
The first time you pair or take a signed action, your device generates its own Ed25519 keypair. The private key is kept in the phone's secure storage (iOS Keychain / Android Keystore) and is never sent to the server. Key actions on a receipt — including the approval that seals it — are signed by the device with its private key, and the server checks each signature against the public key registered for your account. The server stores only public keys: it can check a signature but cannot produce one. It does decide which key belongs to which account: if you move to a new phone, you verify your number over WhatsApp and the new phone's key replaces the old one.