Skip to content

mrachcore/access-audit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

1 Commit
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Access Audit

by mrachcore

Local user access audit dashboard built with Python and Streamlit.

Modern sysadmin-style tooling for CSV-based account reviews, risk detection and audit reporting.


๐Ÿ“Œ Overview

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.


โœจ Features

๐Ÿ–ฅ Dashboard

  • Modern overview page
  • Quick audit workflow explanation
  • Professional internal-tool style UI
  • Clean metric cards and navigation

๐Ÿ“‚ Upload Data

  • Upload CSV account lists
  • Preview imported data
  • Detect available columns
  • Load included sample CSV
  • Friendly validation messages

๐Ÿ”Ž Audit Checks

  • 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

โš  Risk Overview

  • Simple risk scoring system

  • Risk classification:

    • Low
    • Medium
    • High
    • Critical
  • Top risky account overview

  • Risk distribution summary


๐Ÿ“‘ Reports

  • Generate local audit reports
  • TXT report export
  • CSV export for risk tables
  • Audit summaries and findings

๐Ÿ›  Tech Stack

Technology Purpose
Python Core language
Streamlit Dashboard UI
pandas CSV analysis
datetime Login age checks
io Export handling

๐ŸŽจ UI Design

The interface is inspired by:

  • internal IT dashboards
  • access review systems
  • IAM/security audit tooling
  • enterprise admin panels

Design Highlights

  • Dark mode only
  • Modern enterprise dashboard layout
  • Soft cards and spacing
  • Status badges
  • Responsive tables
  • Professional typography
  • Subtle cyber-inspired accents
  • Clean sidebar navigation

๐Ÿš€ Installation & Setup

Requirements

  • Python 3.10 or newer recommended
  • Local laptop or desktop
  • Internet access only for installing Python packages

Clone Repository

git clone https://github.com/mrachcore/access-audit.git

Open Project Folder

cd access-audit

Create Virtual Environment

python -m venv .venv

Activate Virtual Environment

Windows

.venv\Scripts\activate

Linux/macOS

source .venv/bin/activate

Install Dependencies

pip install -r requirements.txt

โ–ถ Run The App

streamlit run app.py

Streamlit will print a local URL, usually:

http://localhost:8501

Open that URL in your browser.


๐Ÿ“‚ Project Structure

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

๐Ÿ“ธ Screenshots

Dashboard

Dashboard


Upload Data

Upload Data


Audit Checks

Audit Checks


Risk Overview

Risk Overview


Reports

Reports


๐Ÿ“„ Sample CSV

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
  • email
  • department
  • role
  • status
  • last_login
  • created_at

This allows the application to be tested immediately without real production data.


๐ŸŽฏ Purpose of This Project

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

๐Ÿ“š What I Learned

  • 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

๐Ÿ”ฎ Future Improvements

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

๐Ÿ“ Notes

  • 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.

๐Ÿ‘จโ€๐Ÿ’ป Author

mrachcore

Code. Connect. Control.


๐ŸŒ GitHub

Repository:

https://github.com/mrachcore/access-audit

โš  Disclaimer

This tool was created for educational and portfolio purposes.

Use responsibly and only with account data you are authorized to analyze.

About

Local user access audit dashboard for CSV-based account reviews built with Python & Streamlit.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages