Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

Repository files navigation

PassLock

A secure desktop password manager built with Python and CustomTkinter. Store, manage, and retrieve your passwords locally with encrypted storage and a master password protecting everything.

Features

  • Master Password Protection — One password to rule them all, with strength indicator and lockout after failed attempts
  • Encrypted Storage — Passwords are encrypted locally using Fernet (AES-128-CBC) via the cryptography library
  • Password Strength Checker — Real-time strength feedback when creating or adding passwords
  • Favourites — Star your most-used passwords for quick access
  • Search — Find saved passwords instantly by service name
  • Copy to Clipboard — Click any password to copy it directly
  • View/Hide Toggle — Show or hide passwords with a single click
  • Collapsible Sidebar — Clean navigation between Home, Add Password, Favourites, Settings, About, and Support
  • Password Hints — Set a hint during setup to help recover your master password

Getting Started

Prerequisites

  • Python 3.10+

Installation

  1. Clone the repository:

    git clone https://github.com/MerlinTheWhiz/password-manager.git
    cd password-manager
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate   # Linux/macOS
    venv\Scripts\activate      # Windows
  3. Install dependencies:

    pip install -r requirements.txt
  4. Run the app:

    python password_manager.py

Usage

  1. On first launch, set a master password — this is the only password you need to remember
  2. Optionally set a password hint in case you forget it
  3. Use the sidebar to add new passwords — enter a service name and password, and PassLock checks its strength before saving
  4. View, edit, delete, or favourite any saved password from the Home screen
  5. Search for a specific password using the search bar in the sidebar
  6. Click any password to copy it to your clipboard

Tech Stack

  • Python — Core language
  • CustomTkinter — Modern UI framework built on Tkinter
  • Cryptography (Fernet) — AES encryption for password storage
  • Pillow — Image handling for UI assets
  • Pyperclip — Cross-platform clipboard access

Data Storage

All data is stored locally as JSON files in the project directory:

File Purpose
masterpassword.json Hashed master password
service_passwords.json Encrypted saved passwords
favourites.json Favourited services
hint.json Password hint
key.key Encryption key

None of these files are tracked in version control.


Demo on X

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages