Security Principles | TZUR Wallet
Non-Custodial Design
TZUR Wallet is fully non-custodial. Your private keys are never stored on our servers, and TZUR has no ability to access, freeze, or move your funds. There are no accounts to create, no cloud storage of wallet data, and no server-side record of your Bitcoin holdings. Your keys exist only on your iPhone, protected by the device's hardware security. If TZUR's servers disappeared tomorrow, your Bitcoin would remain fully accessible -you can recover your wallet using your seed phrase and any BIP-39 compatible wallet application. This is self-custody in its truest form: you hold the keys, you own the Bitcoin.
Key Generation & Derivation
Private keys are generated locally on your device using iOS secure randomness (SecRandomCopyBytes), the cryptographically secure random number generator provided by Apple's Security framework. TZUR follows BIP-32 for hierarchical deterministic (HD) key derivation, meaning your entire wallet -every address, every key pair -is derived from a single master seed. For address generation, TZUR implements BIP-84 to produce Native SegWit (bech32) addresses using the standard derivation path m/84'/0'/0'. This is fully deterministic: the same seed will always produce the same sequence of addresses, making wallet recovery reliable and verifiable. No key material is ever generated on or transmitted to a remote server.
Seed Phrase Security
Your 12-word seed phrase is generated locally on your device according to the BIP-39 standard. This seed phrase is the sole recovery mechanism for your wallet -it is the master key from which all private keys are derived. TZUR does not store, transmit, or have any access to your seed phrase. The phrase is displayed once during wallet creation and can be re-viewed in the app's Settings for backup purposes. It is never sent over the network, never written to server logs, and never included in analytics data. If you lose your seed phrase and your device, your Bitcoin cannot be recovered by anyone -including TZUR. We strongly recommend writing your seed phrase on paper and storing it in a secure, offline location.
Memory Handling
Private key material is treated as toxic data within TZUR's architecture. Keys are loaded from the iOS Keychain only when needed for transaction signing -the brief moment when your wallet must prove ownership of Bitcoin being spent. Once the transaction is signed and broadcast, all key material is immediately cleared from memory. Private keys are never cached in application state, never written to temporary files, never logged to the console, and never persisted outside the Keychain. This minimize-exposure approach ensures that even in the event of a memory dump or crash report, no private key data would be present.
Secure Storage
Sensitive wallet data, including the encrypted seed, is stored exclusively in the iOS Keychain. The Keychain provides hardware-backed encryption on all devices equipped with Apple's Secure Enclave -a dedicated security coprocessor isolated from the main processor. Keychain items are protected by the device passcode and, when enabled, biometric authentication (Face ID or Touch ID). TZUR does not store any sensitive data in UserDefaults, plain files, Core Data, or any other unprotected storage mechanism. Even wallet metadata such as address labels is kept separate from cryptographic material. The Keychain's access control policies ensure that wallet data cannot be extracted even if the device filesystem is compromised.
Network & Electrum Trust Model
TZUR communicates with public Electrum servers to retrieve blockchain data such as balances, transaction history, and fee estimates. Critically, Electrum servers are NOT trusted. They serve as data providers only -all transaction construction and signing happens locally on your device. TZUR never sends private keys, seed phrases, or any personal data over the network. The only information transmitted consists of standard Bitcoin protocol queries: address balance lookups and the broadcast of fully-signed transactions. Because Electrum servers could theoretically return false data, TZUR validates transaction structure and script types locally before presenting information to the user. Your wallet's security does not depend on the honesty of any server.
Privacy-Respecting Analytics
TZUR Wallet may collect anonymous usage analytics to improve the application. These analytics help us understand how features are used and where the user experience can be improved. Analytics collection is entirely optional and can be disabled at any time in the app's Settings. When enabled, data is aggregated and anonymized -it is never linked to your wallet, your identity, or your Bitcoin activity.
Analytics never include:
- Wallet addresses or public keys
- Account balances or UTXO data
- Transaction amounts, destinations, or history
- Seed phrases or any key material
- Private keys or derivation paths
- Personal identity, name, or location
TZUR Wallet does not include advertising SDKs, third-party tracking technologies, or fingerprinting libraries. We do not sell, share, or monetize any user data.
Responsible Disclosure
If you discover a security vulnerability in TZUR Wallet, please report it to contact@tzur.live. We take all reports seriously and will respond promptly. Please do not publicly disclose vulnerabilities before they have been addressed. We are committed to fixing confirmed security issues as quickly as possible and will credit researchers who report valid findings, if desired.
Last updated: April 2026