Local user access audit dashboard built with Python and Streamlit.
Modern sysadmin-style tooling for CSV-based account reviews, risk detection and audit reporting.
Access Audit is a lightweight local dashboard designed to help review CSV-based user/account lists and identify potential access risks.
The application helps analyze uploaded account data, detect inactive or risky accounts, identify duplicate users, validate missing fields, and generate audit reports โ all inside a clean modern dashboard interface.
This project was created as part of my learning journey during my Ausbildung as a Fachinformatiker fรผr Systemintegration.
The application runs fully locally and does not require:
- cloud services
- paid APIs
- databases
- Docker
- external infrastructure
- Active Directory access
All analysis is performed locally on uploaded CSV files only.
- Modern overview page
- Quick audit workflow explanation
- Professional internal-tool style UI
- Clean metric cards and navigation
- Upload CSV account lists
- Preview imported data
- Detect available columns
- Load included sample CSV
- Friendly validation messages
- Duplicate username detection
- Duplicate email detection
- Missing department detection
- Missing email detection
- Inactive account detection
- Admin account review
- Guest/external account detection
- Stale login analysis
-
Simple risk scoring system
-
Risk classification:
- Low
- Medium
- High
- Critical
-
Top risky account overview
-
Risk distribution summary
- Generate local audit reports
- TXT report export
- CSV export for risk tables
- Audit summaries and findings
| Technology | Purpose |
|---|---|
| Python | Core language |
| Streamlit | Dashboard UI |
| pandas | CSV analysis |
| datetime | Login age checks |
| io | Export handling |
The interface is inspired by:
- internal IT dashboards
- access review systems
- IAM/security audit tooling
- enterprise admin panels
- Dark mode only
- Modern enterprise dashboard layout
- Soft cards and spacing
- Status badges
- Responsive tables
- Professional typography
- Subtle cyber-inspired accents
- Clean sidebar navigation
- Python 3.10 or newer recommended
- Local laptop or desktop
- Internet access only for installing Python packages
git clone https://github.com/mrachcore/access-audit.gitcd access-auditpython -m venv .venv.venv\Scripts\activatesource .venv/bin/activatepip install -r requirements.txtstreamlit run app.pyStreamlit will print a local URL, usually:
http://localhost:8501
Open that URL in your browser.
access-audit/
โ
โโโ app.py
โโโ requirements.txt
โโโ README.md
โ
โโโ assets/
โ โโโ logo.png
โ
โโโ sample_data/
โ โโโ users_sample.csv
โ
โโโ screenshots/
โ โโโ dashboard.png
โ โโโ upload-data.png
โ โโโ audit-checks.png
โ โโโ risk-overview.png
โ โโโ reports.png
โ
โโโ utils/
โโโ audit_tools.py
โโโ report_generator.py
The project includes a sample CSV file:
sample_data/users_sample.csv
The file contains fictional example account data for testing and demonstration purposes.
Example columns:
- username
- department
- role
- status
- last_login
- created_at
This allows the application to be tested immediately without real production data.
This project was built to:
- improve Python skills
- learn CSV and data analysis workflows
- practice audit-style logic
- understand access review concepts
- build realistic sysadmin tooling
- create a professional portfolio project
- CSV analysis with pandas
- Data validation
- Risk scoring systems
- Streamlit dashboard development
- Report generation
- Error handling
- Working with user/account datasets
- Building beginner-friendly tooling
Possible future additions:
- Excel (.xlsx) support
- JSON export
- More advanced risk scoring
- Account activity visualization
- Department-based filtering
- Search & filtering improvements
- Role permission templates
- PDF report export
- All analysis is performed locally.
- No uploaded data leaves the machine.
- The application does not connect to Active Directory or production systems.
- Invalid or missing CSV columns are handled gracefully where possible.
- Example data is fictional and intended only for testing.
Code. Connect. Control.
Repository:
https://github.com/mrachcore/access-audit
This tool was created for educational and portfolio purposes.
Use responsibly and only with account data you are authorized to analyze.





