How riyaparekh7/intrusense works
IntruSense is a Flask insider-threat monitoring application. Users sign in, activity logs are generated or retrieved, risk is assessed, and user or admin dashboards present scores, alerts, and aggregate trends; the browser can also submit activity for manual analysis. The backend uses SQLite for logs and an Isolation Forest alongside score-based severity rules. Dashboard templates and styling are represented as product surfaces. The sampled source shows the main backend, storage, and chart interactions; other template behavior is summarized from the README and file tree.
Main entry points: app.py Login and routing · database.py SQLite log store · script.js Manual analysis UI · user_dashboard.html User dashboard
Components 16
Web experience
- Login and routing
app.py - Manual analysis UI
static/script.js - Landing page
templates/index.html - Login page
templates/login.html
Risk analysis
- Manual analysis endpoint
app.py - Anomaly detector
app.py - Score and severity
app.py - Activity log generation
app.py
Activity storage
- SQLite log store
database.py
Dashboards
- User dashboard
templates/user_dashboard.html - Admin dashboard
templates/admin_dashboard.html - User alerts
app.py - Statistics endpoint
app.py - Risk charts
static/script.js
Other components
- User
- Administrator
Connections 18
- User → Login and routing: signs in
app.py - Administrator → Login and routing: signs in
app.py - Login and routing → Login page: renders
app.py - Login and routing → Landing page: renders
app.py - Login and routing → Activity log generation: creates logs
app.py - Activity log generation → SQLite log store: inserts logs
app.py - SQLite log store → Login and routing: returns logs
app.py - Login and routing → User dashboard: renders
app.py - Login and routing → Admin dashboard: renders
app.py - Login and routing → User alerts: builds alerts
app.py - User alerts → User dashboard: provides alerts
app.py - Login and routing → Statistics endpoint: serves stats
app.py - Statistics endpoint → SQLite log store: fetches logs
app.py - Risk charts → Statistics endpoint: fetches data
static/script.js - User → Manual analysis UI: enters activity
static/script.js - Manual analysis UI → Manual analysis endpoint: posts features
static/script.js - Manual analysis endpoint → Anomaly detector: analyzes features
app.py - Manual analysis endpoint → Score and severity: calculates score
app.py