A secure BIP39 seed phrase viewer with enterprise-grade security features, designed for safe interaction with cryptocurrency seed phrases. SeedShield emphasizes security and usability while maintaining zero data persistence.
- Zero data persistence - all operations occur in volatile memory
- Secure memory handling with automatic cleanup and sanitization
- Advanced masking system with consistent pattern length
- Timed reveal system with 3-second auto-mask
- Intelligent clipboard management with automatic clearing
- Comprehensive input validation and sanitization
- Anti-keylogging protection via mouse-based interaction
- Secure error handling with proper cleanup
- TTY/non-TTY mode handling for secure input
- Adaptive timeout mechanisms
- Interactive word reveal with hover functionality
- Sequential phrase revelation mode
- Multi-source input support (file/clipboard)
- Responsive terminal interface
- Cross-platform support (Windows/Linux/MacOS)
- Dynamic scrolling for long word lists
- Clear command feedback
- Use an air-gapped computer whenever possible
- Run on a secure, clean operating system
- Recommended: Live Linux distribution
- Avoid shared or public computers
- Maintain physical security awareness
- Check for surveillance devices
- Use privacy screens when necessary
- Implement proper memory management
- Clear system RAM after usage
- Utilize secure memory wiping tools
- Prefer clipboard input for multiple words (use 'v' command)
- Clipboard contents are automatically cleared after use
- Double-check word positions before revelation
- All input is automatically validated and sanitized
- Invalid inputs are safely rejected
- Use sequential reveal mode ('s' command) for systematic checking
- Utilize mouse hover for temporary word exposure
- Allow auto-masking timer to complete
- One word visible at a time for maximum security
- Use scroll navigation for longer lists
# Install via pip
pip install seedshield
# Install with development dependencies
pip install -e ".[test]"
# Using Docker
docker run -it --rm seedshield
docker run -it --rm -v $(pwd)/input.txt:/input.txt seedshield -i /input.txt# Start interactive mode
seedshield
# Use custom wordlist
seedshield -w custom_words.txt
# Load from positions file
seedshield -i positions.txtv- Import and validate clipboard datan- New input modes- Sequential reveal moder- Reset current sequenceq- Safe exit with cleanup- Mouse hover - Temporary reveal (3s timeout)
- ↑↓ Arrow keys - Scroll through lists
# Clone repository
git clone https://github.com/Barlog951/SeedShield.git
# Setup development environment
cd seedshield
pip install -e ".[test]"
# Run test suite
pytest# Clone the repository
git clone https://github.com/Barlog951/SeedShield.git
cd SeedShield
# Build local image
chmod +x build.sh
./build.sh
# Test run
docker run -it --rm seedshield --help
# Run with mounted input file
docker run -it --rm -v $(pwd)/input.txt:/input.txt seedshield -i /input.txt
# Run interactive mode
docker run -it --rm seedshieldNote: Built image contains minimal dependencies and runs as non-root user for security.
- Python 3.6+ with type hints throughout the codebase
- Comprehensive test suite (73% coverage) with security-focused tests
- Platform-agnostic clipboard handling for cross-platform compatibility
- Curses-based terminal interface with proper initialization and cleanup
- Fully modular design with clean component separation
- Adaptive handling for TTY and non-TTY environments
- Secure memory operations with explicit cleanup
main.py- Entry point and argument handlingsecure_word_interface.py- Core interface coordinationinput_handler.py- Secure input processing and validationdisplay_handler.py- UI rendering and maskingstate_handler.py- State management and security timeoutsui_manager.py- Terminal UI abstraction layersecure_memory.py- Secure memory handling functionsconfig.py- Configuration settings and constantstests/- Comprehensive test suitedata/- Default wordlists
SeedShield implements a defense-in-depth approach:
- Multiple independent security layers
- Fail-secure design principles
- Memory-safe operations
- Input validation at all levels
- Automatic security timeout mechanisms
- No data persistence
- Secure error handling
SeedShield provides secure seed phrase verification capabilities but should be used as part of a comprehensive security strategy. Users are responsible for implementing appropriate system-level security measures. While SeedShield incorporates robust security features, it should not be relied upon as a sole security measure.
Released under the MIT License. See the LICENSE file for complete terms.