π Password Checkup
This GitHub Action automates password security reviews by scanning an Excel file for upcoming password review dates and old passwords that havenβt been updated in a while. It sends a styled HTML email summary to configured recipients every 24 hours ( 10:00 AM Romanian Hour ).
Table of Contents
- Features
- Project Structure
- Screenshots
- Setup Instructions
- GitHub Secrets Required
- SMTP Configuration
- Automation Schedule
- Email Preview
- Technologies Used
π Features
- β Automatically checks an Excel file daily ( data/data.xlsx )
- β
Categorizes passwords:
- Due within 1 day
- Due within 3 days
- Due within 1 week
- Old passwords that havenβt been updated in over 6 months
- β Sends a beautiful HTML email with all matching entries
- β Built with GitHub Actions, Python, and open-source tools
π Project Structure
.
βββ .github/workflows/
β βββ reminder.yml # GitHub Action: daily trigger
βββ assets/
β βββ email_preview.gif # An example of the email youβll receive
β βββ github_action_run.png # How it looks when the GitHub Action triggers
β βββ excel_data_preview.png # How data looks
βββ config/
β βββ email_recipients.yaml # Email list
βββ data/
β βββ data.xlsx # Main Excel file with password info
βββ scripts/
β βββ send_email.py # Main script that sends the email
βββ requirements.txt # Python dependencies
βββ README.md # This file that you are reading right now
πΌοΈ Screenshots
π¬ Email Preview
Hereβs an example of the email youβll receive:
βοΈ GitHub Action Run
This is how it looks when the GitHub Action triggers:
βοΈ Excel Data Preview
This is how data in excel looks:
βοΈ Setup Instructions
Reach out to Github Repo for Setup Instructions, link below:
Github Repo - https://github.com/axbecher/PasswordCheckup
π GitHub Secrets Required
Go to Settings > Secrets and variables > Actions and add:
Name | Description |
---|---|
EMAIL_USER |
The email used to send notifications (e.g., system@domain.com) |
EMAIL_PASSWORD |
The SMTP password or app password for that email address |
π‘ SMTP Configuration
This project allows you to configure the SMTP host.
Go to scripts/send_email.py and update:
Name | Description |
---|---|
%SMTP_HOST% |
SMTP server hostname (e.g., mail.domain.com , smtp.gmail.com ) |
π Automation Schedule
This project is set up to allow manual triggering by default via the "Run workflow" button in GitHub Actions.
If you'd like the workflow to run automatically every 24 hours at 08:00 UTC, you need to:
- Open the file:
/.github/workflows/reminder.yml
- Uncomment the
schedule
section:
on:
schedule:
- cron: '0 8 * * *' # runs daily at 08:00 UTC
workflow_dispatch:
π Email Preview
The email contains:
- Summary per time frame (1 day, 3 days, 1 week, old passwords ( 90 days / 3 months ))
- Clean table format
- Footer with a link to LastPass Vault
β Technologies Used
- Python 3.11
- Pandas
- openpyxl
- GitHub Actions
- SMTP