Custody
Zipr is non-custodial: your private keys are made in your browser, stay in your browser and sign there. This page doesn't ask you to take that on trust; the checks below run in your browser, right now.
What Zipr can't do
Read your keys. Zipr wallet keys are sealed in this browser with an AES-GCM-256 key the browser marks non-extractable. Zipr's servers never receive a key, a seed, a passphrase or a signed transaction to hold.
Sign for you. Nothing on Zipr's servers can produce a signature; there is nothing there to produce it with.
Take your keys quietly. A key is only shown after you open Export, and with two-factor on, after your code.
Recover your keys for you. There's no copy on a server. If this browser's storage is lost and you have no backup file, the keys are gone. That's the price of nobody else holding them.
What Zipr could do, and how you'd know
Change the code. Any hosted wallet's operator can ship different JavaScript. Check the Self-test after anything feels off, and keep trading wallets small.
Take the site down. Your keys aren't there. Back them up and use them in any wallet: EVM keys in MetaMask or Rabby, Solana keys in Phantom or Solflare.
Keeping your keys
Back up. Portfolio, Wallets, Back up writes one encrypted file for all your keys with a passphrase only you know (PBKDF2-SHA-256, 600,000 rounds, AES-GCM-256). Keep the file and the passphrase in different places.
Use dedicated trading wallets. Fund them with what you trade; keep the rest elsewhere.
Turn on two-factor in Security so keys and outside transfers need a code from your phone.
Found a way around any of this? Report it before anyone else does through the repository's SECURITY.md. Never include keys in a report. Full checks: Self-test.