The short version. Your recovery phrase is created on your phone and never leaves it. Every transaction is built and signed on your phone. Our servers only fetch public data and quotes; they hold no keys and nothing they return can move your funds. No assistant, server or automation in Hesperion can sign anything. The app's job is to show you what you are about to do, clearly, and then do only that.
- Your keys
- Signing
- What our servers can and cannot do
- Protections in the app today
- Protections being built
- The assistant
- Audits and open questions
- Report a vulnerability
- If someone asks for your phrase
1. Your keys
- Generated on the phone from the operating system's random number generator. There is no sign-up, no email, no server copy. If the phone's randomness isn't available, the app refuses to create a wallet rather than fall back to something weaker.
- Encrypted before storage with AES-256. The key is derived from your password with PBKDF2-SHA256 at 60,000 rounds or more, kept in the phone's secure storage (iOS Keychain or Android Keystore) and bound to that device.
- Face ID and fingerprint are handled by the operating system. The app asks your phone to confirm it's you and receives a yes or no; it never sees biometric data.
- Screen capture is blocked on every screen that shows the phrase, and a step-up check runs before anything that touches your keys.
- One phrase, 26 networks. Addresses are derived the standard way for each network, so the same phrase restores the same accounts in other standard wallets.
- Lose the phrase and the funds are gone. That is the trade for real custody. Write it down, keep it offline, and never type it into a website or a message.
2. Signing
Every send, swap, stake, loan action and dApp request is built on your phone, shown to you, and signed on your phone. Before the app lets you sign, it checks what it can: the address format for that network, memos and destination tags where exchanges need them, look-alike addresses that copy the first and last characters of one you have used, the fee, and for cross-chain swaps the route, vault and expiry against the swap network's own nodes. For dApps over WalletConnect, each request is decoded and shown in plain terms, and batched calls get one review and one confirmation.
3. What our servers can and cannot do
| They can | They cannot |
|---|---|
| Fetch balances, prices, history and market data for public addresses | See, store or derive a private key or recovery phrase |
| Return swap quotes and routes from the providers | Sign or broadcast a transaction on your behalf |
| Deliver push alerts you have turned on | Move, freeze or redirect your funds |
| Relay a multisig proposal to a co-signer | Change what the app shows you before you sign |
The app verifies every quote and route it receives against the chain before it signs. A compromised server could show you a wrong price; it could not take your funds, because the signature happens on your phone and only after you have seen the real transaction.
4. Protections in the app today
- Address validation per network, with wrong-network addresses refused.
- Look-alike (address-poisoning) warning: only an address you have actually sent to, confirmed on-chain from this phone, counts as "used before".
- XRP destination tags, and memos for Stellar, Cosmos, Hedera, Algorand and Cardano, with a check for exchange addresses that require them.
- Cross-chain swaps verified on the phone against THORChain and Maya's nodes before signing.
- Aave borrowing refused when it would leave you near liquidation; approvals are permit-based, never unlimited.
- Security alerts by push: a new sign-in, a new device, a revealed phrase, a large outgoing transfer.
- Test-network mode that refuses to sign on a real network for any chain without a test network.
- Every server endpoint rate-limited; session tokens bound to the account they were issued to.
5. Protections being built
These are in development and will say so in the app until they ship. Nothing here is live yet; the roadmap has the order.
- Simulation before every signature: what the transaction will do to your balances, and whether the address, token or contract is on a known-scam list, shown as a plain risk card: safe, caution, danger, or can't verify.
- Sealed signing: the app decodes the exact bytes it is about to sign and shows a "Sealed" badge only when the display matches them. Blind signatures and unlimited approvals are called out.
- Approval review and revoke for Ethereum networks, TRON and Solana.
- dApp domain verification on every WalletConnect request, and known phishing domains blocked.
- Private transaction routing for Ethereum swaps, so bots can't front-run you.
- Device integrity checks for jailbroken or tampered phones, with signing off by default on a compromised device.
- Argus, an advisory guardian: explains what you're about to do in plain English, checks a pasted message or screenshot for scam patterns, and watches your addresses across chains. It informs; it never decides and never signs.
- Ask a Guardian: a trusted person gets the plain-English summary of a large or flagged transaction and can say "looks fine" or "stop" from their own phone. Advisory; you still decide.
- Cross-chain Rescue: one tap to prepare a sweep of everything to a safe wallet you set up in advance, each transaction still signed by you.
- Aegis Mode: optional delays on large sends, a cooling period for new addresses, daily limits and allowlists. Honest limit: these are enforced by the app, so they protect against coercion and mistakes, not against someone who holds your phrase.
6. The assistant
The in-app assistant runs on Claude, by Anthropic, and is off until you explicitly allow it; the consent screen names Anthropic and lists what is shared. It can read balances, prices and history and explain a transaction or contract call. It cannot sign, send or hold keys. When you ask it to send or swap, it opens the normal screen for you to review and confirm yourself. Recovery phrases and keys are stripped on the phone and again on the server before anything is sent, and your conversation stays on your phone, where you can delete it. Argus, above, will be built on the same rules.
7. Audits and open questions
We would rather tell you what hasn't been done than imply it has.
- Hesperion has not yet had an independent security audit. One is planned once Hesperion Labs Ltd is registered, and this page will link the report. A bug-bounty programme will follow it.
- Guardian (social) recovery exists in the code but is switched off until it has been reviewed externally.
- Bitcoin, Litecoin and Dogecoin use legacy address formats today; native SegWit (bc1q) is on the roadmap.
- The app is not open source yet. We intend to publish the wallet code; the timing follows the audit.
8. Report a vulnerability
Email security@hesperion.app with "Security" in the subject. Please include steps to reproduce and give us a reasonable time to fix before publishing. We will acknowledge within two business days, keep you informed, and credit you if you want. Never include a real recovery phrase or private key in a report; use a test wallet. A machine-readable version is at /.well-known/security.txt.
9. If someone asks for your phrase
It isn't us. Hesperion will never ask for your recovery phrase, private keys or password: not by email, not in a chat, not in the app, and not to "verify", "sync" or "restore" anything.
Our only channels are hesperion.app, support@hesperion.app and security@hesperion.app. Anything else that uses our name is a copy.