Storing your entire seed phrase in one place can be risky. If it gets lost, stolen, or damaged, you could lose access to your wallet or important data forever.
SeedSafe solves this problem by using trusted, battle-tested cryptographic methods to split your seed phrase into smaller pieces, called shares. You can store these shares in different places or give them to trusted people. Here's how it works:
No single share can reveal your full seed phrase. You only need a certain number of shares (called the threshold) to rebuild the seed phrase. This gives you:
Better recovery: Even if some shares are lost, you can still recover your seed. Improved security: An attacker would need multiple shares to steal your seed. With SeedSafe, your seed phrase is more secure and easier to recover, even in the worst situations.
SeedSafe has not been independently audited yet. While it uses peer-reviewed secret sharing schemes, and peer-reviewed implementation including work published by the author (Ahmadvand et al., 2016), there may be risks due to potential bugs. Users use the app at their own risk, and no warranty or responsibility is provided.
Ahmadvand, M., Scemama, A., Ochoa, M., & Pretschner, A. (2016). Enhancing operation security using secret sharing. https://doi.org/10.5220/0005992104460451
SeedSafe is a secure and intuitive app for managing Web3 (BIP-39) seed phrases using Shamir's Secret Sharing. This Flutter-based application allows you to split your seed phrase into secure shares and reconstruct them when needed, ensuring robust recovery and secure decentralization.
The secret sharing core is based on the Bitz and Splitz repository.
- Split Seed Phrases into Shares: Divide your BIP-39 seed phrase into multiple parts (shares) for secure storage.
- Reconstruct Seed Phrase: Combine a predefined number of shares to recover the original seed phrase when needed.
- Secure: Implements Shamir's Secret Sharing for cryptographically secure seed management. Learn more about the underlying implementation here.
- Cross-Platform: Built with Flutter; currently supports macOS (High Sierra 10.13 and above). Future plans include extending support to other platforms.
- Supply Chain Attack Resistance: SeedSafe's secret sharing core uses NTL and GMP, two well-established and trusted libraries in the cryptographic space. No unnecessary dependencies are included, reducing the attack surface.
- Version Compatibility:
- macOS: High Sierra (10.13) and above.
- NTL Library: Version 11.5.1.
- GMP Library: Version 6.3.0.
- SeedSafe adheres to minimalistic dependency principles, ensuring robust security and reliability for critical applications.
- macOS High Sierra (10.13) and later.
You can either build the app from source or download the latest .dmg file from the releases.
-
Split a Seed Phrase:
- Enter your seed phrase into the "Seed Words" field.
- Specify the threshold (
k) and the total number of shares (n). - Press Generate Shares.
- The app will generate
nshares, requiring at leastkshares to reconstruct the seed.
-
Generate a Random Seed:
- Click Random to generate a 24-word random seed.
-
Reconstruct a Seed Phrase:
- Enter at least
kshares in the "Reconstruct Seed" tab. - Press Reconstruct Secret.
- The reconstructed seed phrase will appear.
- Enter at least
-
Copy Shares or Reconstructed Seed:
- Double-tap a share or the reconstructed seed to copy it to your clipboard.
- Flutter: Install Flutter Version 3.3.10 from the official site.
- Dependencies:
- Native shared library from Bitz and Splitz.
- Ensure
libsecret_sharing.dylibis built and placed in the appropriate directory.
- Clone the repository:
git clone https://github.com/mr-ma/SeedSafe.git cd SeedSafe - Fetch Flutter dependencies:
flutter pub get
- Build and run the app:
flutter build macos
flutter run