Signing model
On first launch, every device generates its own Ed25519 keypair. The private key is held in Secure Enclave / Keystore on the device and is never sent to the server. When an action is taken on a receipt (create, send, seal), the device signs a message describing the action with its private key, and the server verifies that signature against the previously registered public key. Server-side impersonation is therefore impossible — only the device holding the private key can sign on behalf of the user.