PassManagerWeb: A Password Manager Built with Django

Hey everyone! I’ve been slowly developing a personal project called PassManagerWeb–a password manager designed to securely manage your online account passwords. The project is hosted and open-sourced on GitHub, with detailed instructions in the README on how to set it up locally.

I’m excited about how it’s shaping up so far, but I’m eager to keep pushing it forward by adding more challenging and interesting features. I’d love to hear any feedback, suggestions for improvements (security, performance, UI/UX), or feature ideas that could help take it to the next level.

Key Features of PassManagerWeb

  • AES 256 Encryption: Securely store and manage passwords with AES 256-bit encryption, ensuring top-tier security for sensitive information.
  • Multi-Factor Authentication: Protect your account with your favorite authenticator app.
  • Password Generator Tool: Built-in tool to generate strong, random passwords, with customizable options (length, character types).
  • Password Health Monitoring: Built-in tool to check the strength and health of stored passwords, identifying weak, reused, or compromised passwords.
  • Automatic Logout: Enhanced security with automatic logout after 15 minutes of inactivity or on browser close.
  • Cloudflare CAPTCHA Verification: Protects against automated attacks by using CAPTCHA to verify human users.

Source code
Live demo
Screenshots
Purpose

For those interested, here’s a quick overview of what I’ve been working on lately:

  • Hide pagination when items fit on a single page
  • Enable users to export passwords as a CSV file
  • Add support for importing passwords from CSV files
  • Update layout & styling of items
  • Update button sizes & styles in templates
  • Make captcha flexible on registration form
  • Remove captcha from authentication form
  • Display created & last modified dates for items

Any feedback on features & fixes is welcome!

As you may have noticed, I will be adding comments on my implementations here going forward.

  • Adjust field lengths in Item model
  • Remove encryption from url field (Encryption in the url field doesn’t add significant value and actually outweighs the database storage efficiency.)
  • Add session timeout management for users in UserChangeForm
  • Fix warning in tests by using timezone-aware datetimes