Password health + security assistant: strength checks, smart suggestions, reminders, and email alerts.
Project description
passguard-assistant
A privacy-friendly Password Health + Security Assistant library.
- Checks password strength
- Suggests strong passwords
- Rotation reminders (1, 3, 6 months) with "remembered or not" logic
- Failed-attempt logging with optional email alerts
- Simple CLI
No OS-level monitoring. Use the provided hooks inside your app/backend.
Local Install (dev)
pip install -U build twine
pip install .
Quickstart
from passguard_assistant import PassGuard
pg = PassGuard(admin_email="admin@example.com")
print(pg.check_strength("HelloWorld123!"))
print(pg.suggest_password(length=16, ensure_all_classes=True))
print(pg.reset_reminder(months=3, remember_flag=1))
pg.log_attempt(success=False, ip="203.0.113.42", user_agent="Mozilla/5.0", username="sathish")
pg.log_attempt(success=False, ip="203.0.113.42", user_agent="Mozilla/5.0", username="sathish")
pg.log_attempt(success=False, ip="203.0.113.42", user_agent="Mozilla/5.0", username="sathish") # should trigger alert
SMTP via environment variables
PASSGUARD_SMTP_HOST=smtp.example.com
PASSGUARD_SMTP_PORT=587
PASSGUARD_SMTP_USER=apikey
PASSGUARD_SMTP_PASS=yourpassword
PASSGUARD_FROM_EMAIL=alerts@example.com
CLI
passguard check "HelloWorld123!"
passguard suggest --length 20
passguard log --failed --ip 203.0.113.42 --username alice
Build & Publish (when ready)
python -m build
twine upload dist/*
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file passguard_assistant-0.1.0.tar.gz.
File metadata
- Download URL: passguard_assistant-0.1.0.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b05b30683242fde9625e5da6fe95bd09554b3b96d106cdb5784448ea4744d802
|
|
| MD5 |
9a481e5adb76824286ec484c4b6a5191
|
|
| BLAKE2b-256 |
35e7cd89a9b11891c621a6fef817db51cf803aeec668a3cc041733524efd9a9a
|
File details
Details for the file passguard_assistant-0.1.0-py3-none-any.whl.
File metadata
- Download URL: passguard_assistant-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff67b1a3d8e3de926c4ac74ad79a5e3f471d1aa5dc48814467b875b415c4a092
|
|
| MD5 |
cdbe27ced5e3cb700dc9c83d3d4c5007
|
|
| BLAKE2b-256 |
a4fde5501a6013f7e2d1e3dd98ea09cfa6ea75304e7718c1cbb796033f43b4cd
|