Skip to content

Shadi-az/PM-RS

Repository files navigation

Password Manager & Recommender System

Hey ! Here is a quick over-view and a step-by-step guide on how to use all of the features effectively if needed (Expand details below). Please consult the requirements.txt file for all necessary libraries to run this application.

This app allows you to store passwords, generate strong random passwords, and use the recommender system built using machine learning to generate strong inteliigent passwords OR a memorable password generation (Less secure)

⚠️ Important Notice:
This project was built after relative research to implement secure and modern techniques.
However, this software is provided as-is and is not intended for public or production use. You may use it at your own risk.

The code has not undergone a deep detailed code review.


project-pm

📘 Quick Overview

  • ✅ Set up a master password and backup key
  • 🔐 Log in securely with your credentials
  • 🗄 Manage and store your passwords in a secure vault
  • 🔑 Generate strong passwords
  • 🤖 Use AI to suggest secure or memorable passwords
  • 🔁 Recover your account with a backup key

📄 User Manual

📖 Click to expand full user manual

🛠 First-Time Setup

If this is your first time using the application, you will be guided through a setup process:

  1. Read the Terms
    You will be presented with terms that address privacy concerns. Consent is required to proceed.

  2. Set Master Password
    Choose a strong, memorable password. This will protect your vault and grant access to all features.

  3. Confirm Password
    Re-enter your master password for confirmation.

  4. Submit
    Save your master password.

  5. Backup Key
    A unique key will be generated. Save this key in a secure location — it's required for account recovery.

  6. Copy to Clipboard
    Click to copy your backup key.

  7. Continue to Home
    Click to proceed to the main home screen.


🖥 User Interface Interactions

  • Theme Toggle (🌞 / 🌙 / ⚙️): Top-right corner. Switch between light and dark mode.
  • Logout (❌): Top-left corner. Logs you out.
  • Back to Home (←): Returns to the home screen.

🔐 Login Screen

Displayed after setup or subsequent launches:

  • Master Password: Input your master password.
  • Show Password: Reveals typed password.
  • Login: Access the application.
  • Forgot Password?: Recover your master password using your backup key.

🏠 Home Screen

The home screen provides access to core features:

  • Password Vault: Manage saved credentials.
  • Password Generator: Generate strong random passwords using the secrets library.
  • Recommender System: Use AI-powered recommendations for secure or memorable passwords.

🗄 Password Vault

Securely store and retrieve site passwords:

  • Site: Name of the website or service.
  • Password: Associated password.
  • Last Updated: Manually select or use the current time.
  • Add Password: Save the new entry.
  • Password List: View saved entries (columns: ID, Site, Password, Last Updated, Status).
  • Selecting an Entry: Click a row to select it. The selected ID is shown below.
  • Delete Entry: Remove the selected password.

🔑 Password Generator

Create secure passwords with customization options:

  • Password Length: Desired character length.
  • Character Options: Include uppercase, lowercase, numbers, and special characters.
  • Generate: Create the password.
  • Copy: Copy to clipboard.

🤖 Recommender System

Generate passwords using machine learning:

  • AI-Generated Passwords: Secure, ML-based generation. May take time to load initially.
  • Memorable Passwords: Easier to recall, but less secure.
  • Generate Password: Display the new password.
  • Copy: Copy to clipboard.

🔄 Recovery Screen

Use this if you've forgotten your master password:

  1. Enter Backup Key
  2. New Master Password
  3. Confirm New Password
  4. Show Password
  5. Reset Password
    • A new backup key will be generated.
  6. Back to Login

🔐 Backup Key Screen

Appears after setup or password reset:

  • Your Backup Key: Displayed for you to save.
  • Copy to Clipboard: Save the key.
  • Continue to Home

⚠️ Important Security Notes

  • Keep your master password and backup key safe.
  • Losing both will result in loss of access to your vault.

🛠️ Prerequisites

To install, follow these steps:

Linux and macOS:

sudo git clone https://github.com/Shadi-az/PM-RS.git

Windows:

git clone https://github.com/Shadi-az/PM-RS.git

This software was built using python, tensorflow, sqlite.
Additionally, Here is a list of python libraries used:

Python Libraries
SQLite3
Customtkinter
tkcalendar
pyperclip
Pillow
Cryptography

⚖️ License

MIT

Feel free to contribute or report issues by forking or cloning the repo then opening an issue or pull request on this repository. You are more than free to use this to practice any of the tech used in it.


Sponsor this project

Contributors

Languages