Remove roadmap sections

This commit is contained in:
thePR0M3TH3AN
2025-07-06 11:24:40 -04:00
parent 0d0b123ae8
commit adb852040d
2 changed files with 0 additions and 307 deletions

208
README.md
View File

@@ -36,7 +36,6 @@ SeedPass now uses the `portalocker` library for cross-platform file locking. No
- [Contributing](#contributing) - [Contributing](#contributing)
- [License](#license) - [License](#license)
- [Contact](#contact) - [Contact](#contact)
- [Roadmap](#roadmap)
## Features ## Features
@@ -436,210 +435,3 @@ For any questions, suggestions, or support, please open an issue on the [GitHub
*Stay secure and keep your passwords safe with SeedPass!* *Stay secure and keep your passwords safe with SeedPass!*
--- ---
## Roadmap
### Overview
The SeedPass roadmap outlines a structured development plan divided into distinct phases. Each phase focuses on specific areas, prioritizing core functionalities and security before expanding into advanced CLI features and integrations. This approach ensures that SeedPass remains a secure, reliable, and user-friendly CLI-based password management tool while accommodating the new method of individual entry management.
---
### Phase 1: Core Functionality and Security Enhancements
**Goal:** Establish a robust foundation with individual entry management, secure seed handling, and seamless Nostr integration.
[see the docs](https://github.com/PR0M3TH3AN/SeedPass/blob/main/docs/json_entries.md)
1. **Configuration File Management** *(implemented)*
- **Description:** Implement a configuration file to store user-specific settings, starting with user-determined Nostr relays.
- **Implementation Steps:**
- Create a `config.yaml` or `config.json` file in the SeedPass data directory.
- Define a structure to store user configurations, starting with a list of Nostr relay URLs.
- Allow users to add, remove, and manage an unlimited number of Nostr relays through the CLI or configuration file.
- Ensure the configuration file is securely stored and encrypted if necessary.
- The Nostr client loads its relay list from this encrypted file. New accounts start with the default relays until you update the settings.
2. **Individual JSON File Management**
- **Separate Entry Files:**
- **Description:** Modify the application to create and manage each entry as a separate JSON file within a designated directory.
- **Implementation Steps:**
- Define a standardized naming convention for entry files (e.g., `entry_<entry_num>.json`).
- Update CRUD (Create, Read, Update, Delete) operations to handle individual files.
- **Backup Directory Structure:**
- **Description:** Implement a backup system that saves previous versions of each entry in a separate backup folder.
- **Implementation Steps:**
- Create a `backups/` directory within the SeedPass data folder.
- Upon modifying an entry, save the previous version in `backups/entry_<entry_num>_v<version>.json`.
- Implement rollback functionality to restore from backups if needed.
3. **Enhanced JSON Schema Integration** *(implemented)*
- **Description:** Adopt the new JSON schema for all entry types, ensuring consistency and flexibility.
- **Implementation Steps:**
- Update existing entries to conform to the new schema.
- Ensure that new kinds adhere to the defined structure, facilitating future expansions.
4. **Nostr Integration Enhancements** *(implemented)*
- **Description:** Improve Nostr integration by changing the posting mechanism and enabling efficient synchronization.
- **Implementation Steps:**
- **Selective Posting:**
- Modify the Nostr posting mechanism to only post new or updated entries instead of the entire index.
- **Index Reconstruction:**
- On the first run, build the index from Nostr posts based on timestamps to ensure the correct and complete database retrieval.
- Implement logic to check for existing posts on the specified `npub` account and synchronize accordingly.
- **Configuration Integration:**
- Utilize the newly added configuration file to manage Nostr relays and synchronization settings.
5. **Backup and Restore Index Option** *(implemented)*
- **Description:** Provide users with the ability to backup and restore the index, offering flexibility in backup locations.
- **Implementation Steps:**
- Introduce CLI commands such as `backup-index` and `restore-index`.
- Allow users to choose the backup location via CLI prompts or by specifying a path in the configuration file.
- Ensure backups can be saved to external drives, remote folders, or other user-defined locations.
- Validate the integrity of backups during the restore process.
6. **Security Enhancements**
- **"Secret" Mode (Clipboard-Only Password Retrieval)** *(implemented)*
- **Description:** Introduce a "secret" mode where passwords are copied directly to the clipboard rather than displayed on the screen upon retrieval.
- **Features:**
- **Toggle Setting:** Allow users to enable or disable "secret" mode.
- **Clipboard Integration:** Ensure passwords are copied securely to the clipboard when "secret" mode is active.
- **User Feedback:** Notify users that the password has been copied to the clipboard.
- **Settings Menu:** Toggle this mode under `Settings -> Toggle Secret Mode` and set how long the clipboard is retained.
- **Two-Factor Security Model with Random Index Generation**
- **Description:** Create a robust two-factor security system using a master seed and master password combination, enhanced with random index generation for additional security.
- **Key Features:**
- **Random Index Generation:** Generate cryptographically secure random numbers for each new password index.
- **Master Seed Management:** Keep the master seed in cold storage/offline, acting as the primary key for password generation.
- **Master Password System:** Store the master password in memory/brain only, required to decrypt indices and access accounts.
- **Protection Layers:** Ensure seed and password compromise protection through encrypted indices and secure storage.
- **Security Verification:** Implement checks to ensure neither factor can be bypassed and verify the randomness quality of index generation.
7. **Comprehensive Testing and Security Auditing**
- **Unit Tests:** Develop tests for individual functions and modules to ensure they work as intended.
- **Integration Tests:** Test the interaction between different modules, especially for features like automatic Nostr posting and seed recovery.
- **Security Audits:** Conduct regular code reviews and security assessments to identify and mitigate vulnerabilities.
8. **Managed Users Data Loading**
- **Summary:** Enable the master seed holder to load and manage the seeds, passwords, and Nostr accounts of dependent users. This allows centralized management of multiple accounts, ensuring secure synchronization and control over multiple users' data.
---
### Phase 2: Enhanced Security and Data Management
**Goal:** Strengthen security features and improve data management capabilities with the new individual entry system.
1. **Advanced Data Fields and New Kinds**
- **Description:** Utilize the flexible JSON schema to introduce advanced data fields and new kinds.
- **Implementation Steps:**
- Define additional fields for existing kinds as needed.
- Introduce new kinds (e.g., `cryptocurrency_wallet`) following the established schema.
2. **Family Password Management**
- **Description:** Enable management of multiple password sets for family members using individual entry files.
- **Features:**
- **Segregated Access:** Allow users to create and manage separate password sets for different family members.
- **Additional Security Layers:** Implement MFA or role-based access for managing family members' accounts.
- **User-Friendly CLI Commands:** Develop intuitive CLI commands to handle family member password sets efficiently.
3. **Easy BIP39 Seed Generation for Various Use Cases** *(implemented)*
- **Description:** Provide an easy method for generating new BIP39 seeds for different purposes, such as cryptocurrency wallets.
- **Features:**
- **Seed Generation:** Ensure seeds are generated securely and comply with BIP39 standards.
- **User Guidance:** Offer CLI instructions on securely handling and storing generated seeds.
4. **Nostr Public/Private Key Pair Generation** *(implemented)*
- **Description:** Allow users to generate new Nostr public/private key pairs within the application.
- **Features:**
- **Secure Key Generation:** Ensure key pairs are generated securely and tied to specific index entries.
- **Seamless Integration:** Integrate key pair management with existing Nostr functionalities.
- **Security Advisories:** Inform users about best practices for managing multiple Nostr identities and the risks of using the same seed across different identities.
---
### Phase 3: Advanced CLI Functionalities
**Goal:** Develop a sophisticated Command-Line Interface (CLI) tailored for the individual entry system, enhancing automation and customization.
[see the docs](https://github.com/PR0M3TH3AN/SeedPass/blob/main/docs/advanced_cli.md)
1. **Advanced CLI Commands for Entry Management**
- **Description:** Introduce CLI commands to create, read, update, delete, and backup individual entries.
- **Implementation Steps:**
- Implement commands such as `add-entry`, `view-entry`, `update-entry`, `delete-entry`, and `backup-entry`.
- Ensure commands support specifying entry kinds and associated data fields.
2. **Custom Relays Configuration via CLI**
- **Description:** Allow users to specify custom Nostr relays for each entry or globally.
- **Implementation Steps:**
- Introduce CLI options to add, remove, or list relays.
- Ensure entries are posted to the specified relays upon creation or update.
3. **Secure Clipboard Operations**
- **Description:** Ensure clipboard operations are secure and temporary.
- **Features:**
- **Clear Clipboard After Duration:** Automatically clear the clipboard after a set duration (e.g., 30 seconds) to prevent unauthorized access.
- **User Notifications:** Inform users when the clipboard is cleared.
- **Graceful Failure Handling:** Manage cases where clipboard operations fail without disrupting the user experience.
---
### Phase 4: Data Management Enhancements and Integrations
**Goal:** Further improve data management capabilities and integrate with other platforms using the individual entry system.
1. **Additional Integrations**
- **Description:** Expand integrations with other platforms and services, leveraging individual entry management.
- **Implementation Steps:**
- Integrate with cryptocurrency wallets, productivity tools, and other services.
- Ensure each integration corresponds to separate entries, maintaining modularity.
2. **Scalability Enhancements**
- **Description:** Optimize the application to handle a growing number of individual entries without performance degradation.
- **Features:**
- **Indexing Mechanisms:** Implement indexing for quick retrieval of entries.
- **Optimized File Storage:** Improve file storage and access patterns for efficiency.
---
### Phase 5: Documentation, Testing, and Finalization
**Goal:** Ensure comprehensive documentation, robust testing, and finalize the application for release with the new entry management system.
1. **Provide Comprehensive Documentation**
- **User Guide:** Create detailed documentation covering installation, setup, usage, and troubleshooting via CLI help commands and external documentation files.
- **CLI Help:** Ensure that each CLI command includes descriptive help messages accessible via commands like `--help`.
- **Developer Documentation:** Document the codebase to assist future development and maintenance efforts, including contribution guidelines and code structure explanations.
- **Guidelines for Adding New Kinds:** Document the process and standards for introducing new `kind` types.
2. **Enhance Logging and Monitoring**
- **Granular Logging:** Implement detailed logs for successful operations and warnings/errors for issues, including timestamps, action types, and relevant metadata.
- **Log Rotation:** Use Python's `logging.handlers` module or external libraries to manage log rotation and prevent log files from growing indefinitely.
- **Log Unknown Kinds:** Ensure logs capture instances of unknown `kind` types for future handling.
3. **Ensure Comprehensive Testing**
- **Unit Tests:** Write tests for individual functions and modules to ensure they work as intended.
- **Integration Tests:** Test the interaction between different modules, especially for features like automatic Nostr posting and seed recovery.
- **User Acceptance Testing (UAT):** Engage a group of users to test the CLI tool and provide feedback on usability and functionality.
- **Automate Extensibility Tests:** Incorporate tests that verify the application's behavior with both known and unknown `kind` types.
4. **Prioritize Security Best Practices**
- **Sensitive Data Handling:** Ensure that all sensitive data (e.g., seed phrases, encryption keys) are handled securely in memory and during storage.
- **Encryption Standards:** Use industry-standard encryption algorithms and key derivation functions.
- **Regular Audits:** Periodically review and audit the codebase for potential security vulnerabilities.
- **Secure Handling of All Kinds:** Ensure that security measures are uniformly applied across all `kind` types.
---
### Future Phases (Beyond Initial Roadmap)
1. **Continuous Improvement and Feature Expansion**
- **Description:** Respond to user feedback and implement additional features based on emerging needs.
- **Examples:** Integrate biometric authentication, expand to mobile platforms, or introduce collaborative password management features.
2. **Scalability and Performance Optimization**
- **Description:** Optimize application performance for large datasets and enhance scalability for a growing user base.
- **Features:**
- **Performance Tuning:** Improve response times and resource usage.
- **Scalability Enhancements:** Ensure the application can handle an increasing number of users and data entries without degradation in performance.

View File

@@ -38,8 +38,6 @@
</li> </li>
<li role="none"><a href="#how-it-works" role="menuitem">How It Works</a> <li role="none"><a href="#how-it-works" role="menuitem">How It Works</a>
</li> </li>
<li role="none"><a href="#roadmap" role="menuitem">Roadmap</a>
</li>
<li role="none"><a href="#disclaimer" role="menuitem">Disclaimer</a> <li role="none"><a href="#disclaimer" role="menuitem">Disclaimer</a>
</li> </li>
</ul> </ul>
@@ -117,103 +115,6 @@ Enter your choice (1-7) or press Enter to exit:
<p>When Secret Mode is enabled, retrieved passwords are copied directly to your clipboard instead of displayed. The clipboard clears automatically after a delay you set.</p> <p>When Secret Mode is enabled, retrieved passwords are copied directly to your clipboard instead of displayed. The clipboard clears automatically after a delay you set.</p>
</div> </div>
</section> </section>
<!-- Roadmap Section -->
<section class="roadmap" id="roadmap" aria-labelledby="roadmap-heading">
<div class="container">
<h2 class="section-title" id="roadmap-heading">Roadmap</h2>
<div class="timeline">
<!-- Phase 1 -->
<div class="timeline-item">
<div class="timeline-icon" aria-hidden="true"><i class="fas fa-rocket"></i>
</div>
<div class="timeline-content">
<h3>Phase 1: Core Functionality and Security Enhancements</h3>
<p><strong>Goal:</strong> Establish a robust foundation with individual entry management, secure seed handling, and seamless Nostr integration.</p>
<ul>
<li class="completed">Configuration File Management</li>
<li>Individual JSON File Management</li>
<li class="completed">Enhanced JSON Schema Integration</li>
<li class="completed">Nostr Integration Enhancements</li>
<li class="completed">Backup and Restore Index Option</li>
<li>Security Enhancements</li>
<li>Comprehensive Testing and Security Auditing</li>
<li>Managed Users Data Loading</li>
</ul>
</div>
</div>
<!-- Phase 2 -->
<div class="timeline-item">
<div class="timeline-icon" aria-hidden="true"><i class="fas fa-shield-alt"></i>
</div>
<div class="timeline-content">
<h3>Phase 2: Enhanced Security and Data Management</h3>
<p><strong>Goal:</strong> Strengthen security features and improve data management capabilities with the new individual entry system.</p>
<ul>
<li>Advanced Data Fields and New Kinds</li>
<li>Family Password Management</li>
<li class="completed">Easy BIP39 Seed Generation for Various Use Cases</li>
<li class="completed">Nostr Public/Private Key Pair Generation</li>
</ul>
</div>
</div>
<!-- Phase 3 -->
<div class="timeline-item">
<div class="timeline-icon" aria-hidden="true"><i class="fas fa-terminal"></i>
</div>
<div class="timeline-content">
<h3>Phase 3: Advanced CLI Functionalities</h3>
<p><strong>Goal:</strong> Develop a sophisticated Command-Line Interface (CLI) tailored for the individual entry system, enhancing automation and customization.</p>
<ul>
<li>Advanced CLI Commands for Entry Management</li>
<li>Custom Relays Configuration via CLI</li>
<li>Secure Clipboard Operations</li>
</ul>
</div>
</div>
<!-- Phase 4 -->
<div class="timeline-item">
<div class="timeline-icon" aria-hidden="true"><i class="fas fa-sync-alt"></i>
</div>
<div class="timeline-content">
<h3>Phase 4: Data Management Enhancements and Integrations</h3>
<p><strong>Goal:</strong> Further improve data management capabilities and integrate with other platforms using the individual entry system.</p>
<ul>
<li>Additional Integrations</li>
<li>Scalability Enhancements</li>
</ul>
</div>
</div>
<!-- Phase 5 -->
<div class="timeline-item">
<div class="timeline-icon" aria-hidden="true"><i class="fas fa-book"></i>
</div>
<div class="timeline-content">
<h3>Phase 5: Documentation, Testing, and Finalization</h3>
<p><strong>Goal:</strong> Ensure comprehensive documentation, robust testing, and finalize the application for release with the new entry management system.</p>
<ul>
<li>Provide Comprehensive Documentation</li>
<li>Enhance Logging and Monitoring</li>
<li>Ensure Comprehensive Testing</li>
<li>Prioritize Security Best Practices</li>
</ul>
</div>
</div>
<!-- Future Phases -->
<div class="timeline-item">
<div class="timeline-icon" aria-hidden="true"><i class="fas fa-forward"></i>
</div>
<div class="timeline-content">
<h3>Future Phases (Beyond Initial Roadmap)</h3>
<p><strong>Goal:</strong> Continuous improvement and feature expansion based on user feedback and emerging needs.</p>
<ul>
<li>Continuous Improvement and Feature Expansion</li>
<li>Scalability and Performance Optimization</li>
</ul>
</div>
</div>
</div>
</div>
</section>
<!-- Disclaimer Section --> <!-- Disclaimer Section -->
<section class="disclaimer" id="disclaimer" aria-labelledby="disclaimer-heading"> <section class="disclaimer" id="disclaimer" aria-labelledby="disclaimer-heading">
<div class="container"> <div class="container">