Click each tab to see real screenshots of the portal in action.
Light Mode
localhost
Dark Mode
localhost
Dashboard: The home screen shows quick-access feature cards (Admin Access, GitHub Access, Hostname Update, Cleanup, Reports) and a live activity feed showing recent grants, revokes, and access status. Supports both light and dark modes.
1Fill Form→2Processing→3Completed→4Access Logs
Step 1: Form
localhost/admin-access
Step 2: Processing
localhost/admin-access
Step 3: Completed
localhost/admin-access
Step 4: Access Logs
localhost/admin-access
Temporary Admin Access: Enter a VPN IP and all fields auto-populate via SSH (hostname, username, employee ID, email). The 3-step progress tracker streams live as each step completes: granting admin → running JAMF commands → scheduling auto-revoke. Access logs show status with countdown timers.
1Fill Form→2Access Granted
Form
localhost/github-access
Access Granted + Logs
localhost/github-access
Temporary GitHub Access: Same auto-populate flow as admin. Removes github.com from /etc/hosts, flushes DNS, and installs a persistent LaunchDaemon for auto-revoke. Access logs show granted entries with countdown timers and device type.
1In Progress→2Completed→3Logs Updated
Updating...
localhost/update-hostname
Completed
localhost/update-hostname
Recent Hostname Updates
localhost/update-hostname
Update Hostname: Enter VPN IP to auto-detect current hostname. Type the new hostname (validated prefix: 02HW0, 01HW0, etc). Updates HostName, ComputerName, and LocalHostName remotely via SSH. Logs show old → new hostname mapping with success status.
Cleanup Utility
localhost/cleanup
Cleanup Utility: Four automated maintenance tasks — fix stuck "Granted" entries whose timers expired, detect incomplete user profiles, remove duplicate log entries, and archive logs older than 90 days. Safe to run anytime; does not affect active sessions.
Analytics Dashboard
localhost/reports
Additional tabs available: Admin Logs, GitHub Logs, All Logs, Visitors — run node scripts/take-screenshots.js to capture these automatically.
Leadership Reports: Summary metrics (requests, users, active now, avg duration, success rate), admin vs GitHub breakdown with progress bars, monthly trend chart, top requesters, most accessed users, device breakdown, and CSV/Excel export. Sub-tabs for Admin Logs, GitHub Logs, All Logs, and Visitors tracking.
Access Expiring Alert
localhost
Activity Feed & Alerts: The dashboard shows a live activity feed with recent access grants. When access is about to expire, an "Access Expiring Soon" banner appears in the top-right corner with countdown details, ensuring admins stay informed.
Cleanup Success
localhost/cleanup
No Issues Found
localhost/cleanup
Cleanup Results: After running cleanup, a green toast banner shows the result at the top. The bottom card shows detailed counts: Expired Fixed, Incomplete Users, Duplicates Removed, and Logs Archived. If no issues found, it shows "Database is clean."
Admin Access Logs
localhost/reports → Admin Logs
Admin Logs Tab: Shows all admin access grants with hostname, username, granted time, duration, requested by, time remaining, and status. Sortable columns, search, and CSV export.
GitHub Access Logs
localhost/reports → GitHub Logs
GitHub Logs Tab: Shows all GitHub access grants with the same detail level as admin logs. Filter by status to quickly find failed or active grants.
Admin Access Logs
localhost/reports → Admin Logs
All Logs Tab: Shows all access grants with hostname, username, granted time, duration, requested by, time remaining, and status. Sortable columns, search, and CSV export.
Visitor Analytics
localhost/reports → Visitors
Visitor Analytics: Shows total visits, today's count, unique visitors, top visitors ranked list, and recent visit timeline. Tracks which users access the portal and when, session-based with 15-minute idle gap detection.
Session Timeout
localhost
Session Timeout: After 15 minutes of inactivity, the session automatically expires. This ensures no unattended browser sessions remain active with access to the management portal.