# SeedPass: Secure Password Manager

SeedPass is a secure password generator and manager built on Bitcoin's BIP-85 standard. It uses deterministic key derivation to generate passwords that are never stored but can be easily regenerated when needed.

By integrating with the Nostr network, SeedPass ensures that your passwords are safe and accessible across devices.

Get Started

## Features

- Deterministic password generation using BIP-85
- Encrypted local storage for seeds and sensitive data
- Nostr relay integration for secure backup and retrieval
- Seed/Fingerprint switching for managing multiple profiles
- Bring your own seed or generate one on demand
- User-friendly command-line interface

## How SeedPass Works

SeedPass uses Bitcoin's BIP-85 standard for deterministic password generation. This means your passwords are not stored but can be regenerated using your master seed and specific indices.

### BIP-85 Derivation Tree

The BIP-85 standard allows you to derive multiple child seeds from a single master seed. Each child seed can then be used to generate secure passwords. Here's a simplified illustration:

    Master_Seed
    ├── Child_Seed_0
    │   └── Password_A
    ├── Child_Seed_1
    │   └── Password_B
    ├── Child_Seed_2
    │   └── Password_C
    └── ...

### Seed/Fingerprint Switching

SeedPass allows you to manage multiple seed profiles (fingerprints). You can switch between different seeds to compartmentalize your passwords.

### Nostr Relay Integration

By integrating with the Nostr network, SeedPass securely backs up your encrypted password index to Nostr relays, allowing you to retrieve your index on multiple devices without compromising security.

### Bring Your Own Seed

You can bring your own BIP-39 seed or generate a new one within SeedPass. This gives you flexibility and control over your master seed.

### Command-Line Interface

Interact with SeedPass using a user-friendly CLI. Here's an example of the current interface:

    (venv) user@debian:~/SeedPass/src$ python main.py

    Available Fingerprints:
    1. 31DD880A523B9759
    2. Add a new fingerprint
    Select a fingerprint by number: 1
    Enter your master password:
    Fingerprint 31DD880A523B9759 selected and managers initialized.

        Select an option:
        1. Add Entry
        2. Retrieve Entry
        3. Modify an Existing Entry
        4. Backup to Nostr
        5. Restore from Nostr
        6. Switch Fingerprint
        7. Add a New Fingerprint
        8. Remove an Existing Fingerprint
        9. List All Fingerprints
        10. Settings
        11. Exit

    Enter your choice (1-11): 1
    Enter the website name: newsitename
    Enter the username (optional):
    Enter the URL (optional):
    Enter desired password length (default 16):
    [+] Entry added successfully at index 0.
    [+] Password generated and indexed with ID 0.

    Password for newsitename: 06~8Eo(~D8t+G7D}

## Roadmap

### Phase 1: Core Functionality and Security Enhancements

Goal: Establish a robust foundation with individual entry management, secure seed handling, and seamless Nostr integration.

- Configuration File Management
- Individual JSON File Management
- Enhanced JSON Schema Integration
- Nostr Integration Enhancements
- Backup and Restore Index Option
- Security Enhancements
- Comprehensive Testing and Security Auditing
- Managed Users’ Data Loading

### Phase 2: Enhanced Security and Data Management

Goal: Strengthen security features and improve data management capabilities with the new individual entry system.

- Advanced Data Fields and New Kinds
- Family Password Management
- Easy BIP39 Seed Generation for Various Use Cases
- Nostr Public/Private Key Pair Generation

### Phase 3: Advanced CLI Functionalities

Goal: Develop a sophisticated Command-Line Interface (CLI) tailored for the individual entry system, enhancing automation and customization.

- Advanced CLI Commands for Entry Management
- Custom Relays Configuration via CLI
- Secure Clipboard Operations

### Phase 4: Data Management Enhancements and Integrations

Goal: Further improve data management capabilities and integrate with other platforms using the individual entry system.

- Additional Integrations
- Scalability Enhancements

### Phase 5: Documentation, Testing, and Finalization

Goal: Ensure comprehensive documentation, robust testing, and finalize the application for release with the new entry management system.

- Provide Comprehensive Documentation
- Enhance Logging and Monitoring
- Ensure Comprehensive Testing
- Prioritize Security Best Practices

### Future Phases (Beyond Initial Roadmap)

Goal: Continuous improvement and feature expansion based on user feedback and emerging needs.

- Continuous Improvement and Feature Expansion
- Scalability and Performance Optimization

## Disclaimer

⚠️ Use with Caution: Please read the following terms carefully.

- No Guarantees: SeedPass is provided "as is" without any warranties, express or implied. We do not guarantee that the software is free from errors, bugs, or vulnerabilities.
- Security Risks: While SeedPass employs robust security measures, no system can be completely secure. Use it at your own risk, and ensure you have proper backups of your data.
- Not Professional Advice: SeedPass is not a substitute for professional security or cryptographic advice. Consult with a security expert before using it in critical or sensitive environments.
- Liability Limitation: We are not liable for any damages, losses, or other liabilities arising from the use or inability to use SeedPass.
- Regular Backups: Always maintain regular backups of your seeds and sensitive data to prevent loss in case of unforeseen issues.
- User Responsibility: Users are responsible for the secure storage and management of their master seeds and any derived seeds. Unauthorized access to these seeds can compromise all associated passwords and accounts.
- Updates and Maintenance: While we strive to keep SeedPass updated and secure, we cannot promise timely updates or maintenance. Users should stay informed about the latest security practices and updates.

Please ensure you understand the risks involved and take appropriate measures to secure your data. By using SeedPass, you acknowledge and agree to these terms.