HashVault a modular, security‑first Python application for baseline creation and integrity monitoring of files and directories. It detects new, modified,
moved, copied, and deleted files using SHA256 hashing, metadata analysis, and inode/fileID tracking. Thus, it works both for Unix and Windows systems. Built to
demonstrate modular coding architecture, secure programming practices, and practical monitoring in real‑world environments. This project served as a means for me
to gain experience in Python development, secure coding, and cybersecurity in general.
- Baseline creation with
baseline.jsonmetadata snapshot SHA256hashing with chunked file reads for scalability- Detection of new, modified, moved, copied, and deleted files
- Real‑time monitoring with configurable interval
- Modular design with
FileInfoabstraction and error handling
- Python
- Standard Libraries (os, hashlib, json, time, datetime)
- Modular architecture with reusable classes
file_monitor.py: Main script with CLI commands (create, check, monitor)FileInfo class: Handles hashing, metadata extraction, and inode/fileID logicBaseline JSON: Stores file metadata for integrity comparison
- Create a baseline
python hashwatch.py create <directory>This creates the baseline.json with metadata for all files inside the directory.
- You may check for changes once
python hashwatch.py check <directory>This compares the currect state of each file with the baseline and shows any changes.
- Continuous monitoring
python hashwatch.py monitor <directory> [interval in seconds // default is 60]- Stop the monitoring with
Ctrl+C

