Skip to main content

WalletPress Security Model ๐ŸŸข

Watch-only (default)โ€‹

  • No private keys touch the server. Ever.
  • Reads are public chain state via RPC/explorer endpoints.
  • Your address list is the only sensitive data โ€” stored in Postgres, encrypted at rest if you enable column encryption.

Key custody (beta, opt-in)โ€‹

If you enable custody mode:

  1. Keys are encrypted with libsodium secretbox (XSalsa20-Poly1305).
  2. The encryption key is derived from a passphrase you provide โ€” it is never stored.
  3. Signing happens inside the WalletPress process; keys never leave memory unencrypted.
  4. Full audit trail of every signing request.
Read before enabling custody
  • Run custody mode only behind TLS + strong auth.
  • Keep the WalletPress host patched; it becomes key material.
  • Prefer hardware wallets for anything you can't afford to lose.

Disclosureโ€‹

Security issues: see Operations โ†’ Security. Do not open public issues for vulnerabilities.