DocsPrivacy and security

Docs/How it works

Privacy and security

What is public, what the contracts guarantee, and the known limitations.

What is public#

  • Your address, username and public key.
  • Who you message, when, and any payment amounts.
  • The text of every message, and the IPFS links of every file.

What is guaranteed#

  • Only your signature can send a message as you. A relayer can't forge, change or replay it.
  • Payments move in the same transaction as the message, straight to the recipient.
  • Sends are protected by a reentrancy guard and can be paused by the owner in an emergency.

Known limitations#

  • Group messages are delivered to the first other member only (see Chats and groups).
  • Deleting a message isn't available in the app yet, and on-chain history can never be erased.
  • clearStorage() resets your storage counter without removing files, so the 1 GB limit can be reset by the user.
  • Anyone can call Paymaster.relay() with their own signed requests and claim up to maxReimbursementPerTx each time. Keep the Paymaster balance and the cap small.
  • Pinata keys use the NEXT_PUBLIC_ prefix, so they are visible in the browser. Use a scoped key that can only pin files.