{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET / HTTP/1.1\" 200 939 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.154"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.176"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.177"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.188"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.189"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.189"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.191"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.194"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.195"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.197"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.198"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.199"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.201"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.202"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.203"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.205"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.206"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.207"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.209"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.210"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.211"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.213"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.214"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.215"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.216"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.216"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.217"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"GET /api/auth/me HTTP/1.1\" 401 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.222"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['90f5b8fde7796db29075160ec1da1dda38a74ba26888dc8b7ac...","level":"error","message":"Token refresh error","timestamp":"2026-04-24 08:02:39.226"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:39 +0000] \"POST /api/auth/refresh HTTP/1.1\" 500 85 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:39.227"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:50 +0000] \"POST /api/auth/login HTTP/1.1\" 200 712 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:50.096"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:50 +0000] \"GET /api/auth/me HTTP/1.1\" 200 442 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:50.112"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:50 +0000] \"GET /api/dashboard HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:50.123"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:50 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 200 101 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:50.129"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:50 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 200 839 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:50.132"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:58 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:58.638"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:02:58 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:02:58.648"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:02 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:02.509"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:02 +0000] \"GET /api/controls?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:02.520"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:04 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:04.751"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:04 +0000] \"GET /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:04.762"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:04 +0000] \"GET /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:04.774"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:04 +0000] \"GET /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:04.782"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:04 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:04.783"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:04 +0000] \"GET /api/evidence?limit=100 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:04.790"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:11 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:11.081"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:11 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:11.091"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:12 +0000] \"GET /api/controls?limit=100 HTTP/1.1\" 200 590 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:12.684"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:17 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:17.537"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:17 +0000] \"GET /api/incidents/stats HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:17.546"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:03:17 +0000] \"GET /api/incidents?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:03:17.547"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:04:37 +0000] \"POST /api/incidents HTTP/1.1\" 201 704 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:04:37.882"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:04:37 +0000] \"GET /api/incidents/stats HTTP/1.1\" 200 126 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:04:37.899"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:04:37 +0000] \"GET /api/incidents?page=1&limit=25 HTTP/1.1\" 200 829 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:04:37.903"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:04:43 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:04:43.796"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:04:43 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:04:43.810"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:04:43 +0000] \"GET /api/audits?limit=100 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:04:43.818"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:04:50 +0000] \"GET /api/reports/compliance-gap?format=pdf&framework_id=a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:04:50.533"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:03 +0000] \"GET /api/reports/audit-findings?format=pdf&audit_id=d594a650-78f8-414e-80d2-a264592338fc HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:03.207"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:14 +0000] \"GET /api/reports/risk-register?format=pdf&status=mitigated HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:14.561"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:22 +0000] \"GET /api/reports/evidence-expiry?format=pdf HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:22.944"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:30 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:30.266"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:30 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:30.275"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:32 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:32.958"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:32 +0000] \"GET /api/policies?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:32.969"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:33 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:33.579"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:33 +0000] \"GET /api/risks?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:33.589"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:34 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:34.070"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:34 +0000] \"GET /api/vendors?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:34.077"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:35 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:35.364"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:35 +0000] \"GET /api/incidents/stats HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:35.375"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:35 +0000] \"GET /api/incidents?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:35.380"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:37 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:37.490"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:37 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:37.496"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:39 +0000] \"GET /api/users HTTP/1.1\" 200 426 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:39.095"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:39 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:39.678"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:45 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:45.112"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:45 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:45.124"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:45 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:45.126"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:45 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:45.743"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:45 +0000] \"GET /api/dashboard HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:45.752"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:45 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:45.759"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:45 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:45.764"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:47 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:47.008"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:47 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:47.017"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:05:48 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:05:48.181"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:07 +0000] \"POST /api/auth/change-password HTTP/1.1\" 200 89 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:07.438"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:10 +0000] \"POST /api/auth/logout HTTP/1.1\" 200 83 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:10.238"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:19 +0000] \"POST /api/auth/login HTTP/1.1\" 200 712 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:19.182"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:19 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:19.200"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:19 +0000] \"GET /api/dashboard HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:19.210"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:19 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:19.217"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:19 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:19.219"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:20 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:20.829"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:20 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:20.835"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:22 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:22.018"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:36 +0000] \"POST /api/auth/change-password HTTP/1.1\" 200 89 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:36.061"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:43 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:43.599"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:43 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:43.607"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:44 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:44.297"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:44 +0000] \"GET /api/policies?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:44.304"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:45 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:45.686"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:45 +0000] \"GET /api/dashboard HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:45.702"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:45 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:45.710"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:06:45 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:06:45.714"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET / HTTP/1.1\" 200 939 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.427"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.447"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.448"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.453"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.454"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.458"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.459"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.460"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.461"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.462"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.463"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.465"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.466"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.467"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.468"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.470"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.470"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.473"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.473"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.474"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.475"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.477"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.477"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.478"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.479"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.479"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.480"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /api/auth/me HTTP/1.1\" 200 442 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.487"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /api/dashboard HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.493"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.500"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:08:41 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:08:41.502"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:22:30 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 939 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-24 08:22:30.709"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:30:18 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 939 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-24 08:30:18.511"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:30:21 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 939 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-24 08:30:21.764"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:30:48 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 939 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-24 08:30:48.036"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:31:02 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 939 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-24 08:31:02.783"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:31:25 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 939 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-24 08:31:25.488"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:31:42 +0000] \"POST /api/sysadmin/auth/login HTTP/1.1\" 404 110 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-24 08:31:42.951"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 08:32:16.539"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 08:32:20.886"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 08:32:20.898"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-24 08:32:20.899"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET / HTTP/1.1\" 200 939 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.873"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.893"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.894"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.901"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.907"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.911"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.914"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.915"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.916"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.918"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.920"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.922"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.923"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.923"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.924"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.925"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.927"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.928"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.929"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.930"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.930"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.932"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.933"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.934"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.935"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.935"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.936"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.937"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.938"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.938"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.939"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"GET /api/auth/me HTTP/1.1\" 401 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.948"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['2597e48bf06ff4ecf26c60b9dd58ca46dcf3e759528e3c30b3c...","level":"error","message":"Token refresh error","timestamp":"2026-04-24 08:33:21.959"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:33:21 +0000] \"POST /api/auth/refresh HTTP/1.1\" 500 85 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:33:21.959"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:34:08 +0000] \"POST /api/sysadmin/auth/login HTTP/1.1\" 401 84 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:34:08.705"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:34:29 +0000] \"POST /api/sysadmin/auth/login HTTP/1.1\" 401 84 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:34:29.409"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 08:36:27.393"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 08:36:28.557"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 08:36:28.568"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-24 08:36:28.569"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET / HTTP/1.1\" 200 939 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.190"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.210"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.212"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.221"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.223"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.226"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.228"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.229"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.232"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.234"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.235"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.236"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.237"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.239"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.239"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.241"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.242"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.242"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.243"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.244"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.245"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.245"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.246"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.247"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.248"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.249"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.249"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.250"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.250"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.251"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.251"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:31 +0000] \"GET /api/sysadmin/setup HTTP/1.1\" 200 67 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:31.259"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET / HTTP/1.1\" 200 939 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.290"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.320"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.321"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.329"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.330"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.331"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.333"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.335"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.337"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.338"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.339"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.340"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.343"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.344"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.347"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.348"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.348"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.351"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.351"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.353"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.354"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.355"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.355"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.357"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.358"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.358"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.359"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.360"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.360"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.361"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.361"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:36:37 +0000] \"GET /api/sysadmin/setup HTTP/1.1\" 200 67 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:36:37.367"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 08:36:44.629"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 08:37:33.903"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 08:37:33.915"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-24 08:37:33.916"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET / HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.446"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /css/main.css HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.470"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/app.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.472"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/router.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.478"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/api.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.480"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/risks.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.481"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/register.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.484"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.485"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/controls.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.486"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/store.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.488"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/audits.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.488"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.489"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.491"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.491"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.492"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.492"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/policies.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.493"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/login.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.493"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/settings.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.494"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.494"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.495"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/reports.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.496"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.496"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/components/toast.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.497"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.498"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.498"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.499"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/components/modal.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.499"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/components/table.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.500"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/components/charts.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.501"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.501"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:36 +0000] \"GET /api/sysadmin/setup HTTP/1.1\" 200 66 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:36.511"}
{"email":"thien.pham@beezifi.com","level":"info","message":"First system admin created","timestamp":"2026-04-24 08:37:52.007"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:52 +0000] \"POST /api/sysadmin/setup HTTP/1.1\" 201 431 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:52.008"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:52 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 203 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:52.048"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:52 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 200 790 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:52.061"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET / HTTP/1.1\" 200 939 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.200"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.230"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.231"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.237"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.241"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.246"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.247"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.248"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.250"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.252"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.253"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.256"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.257"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.258"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.260"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.262"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.262"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.263"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.265"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.266"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.268"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.270"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.270"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.271"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.272"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.273"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.275"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.275"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.276"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.276"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.279"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 203 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.287"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:37:58 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:37:58.296"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:38:06 +0000] \"GET /api/sysadmin/admins HTTP/1.1\" 200 277 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:38:06.957"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:38:09 +0000] \"GET /api/sysadmin/audit-logs?page=1&limit=50 HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:38:09.263"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:38:12 +0000] \"GET /api/sysadmin/admins HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:38:12.983"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:38:13 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:38:13.543"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET / HTTP/1.1\" 200 939 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.266"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.295"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.296"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.305"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.309"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.314"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.316"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.318"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.319"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.321"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.326"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.328"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.329"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.330"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.332"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.333"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.336"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.337"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.337"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.338"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.340"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.343"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.344"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.344"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.345"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.345"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.348"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.350"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.351"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.351"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.351"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 203 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.362"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:14 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:14.373"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:16 +0000] \"GET /api/sysadmin/admins HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:16.492"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:17 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:17.098"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:17 +0000] \"GET /api/sysadmin/admins HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:17.572"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET / HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.290"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/app.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.297"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /css/main.css HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.299"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/router.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.303"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/api.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.304"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/store.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.305"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.306"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.308"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/login.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.309"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/register.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.311"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/risks.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.311"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/controls.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.313"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.314"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.315"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/audits.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.315"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.316"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/policies.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.317"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.318"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.319"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/reports.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.320"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/settings.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.321"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.322"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.323"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.324"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.325"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/components/toast.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.326"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.326"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/components/charts.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.327"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/components/modal.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.327"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/components/table.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.328"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:22 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:22.329"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:39 +0000] \"POST /api/auth/login HTTP/1.1\" 200 712 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:39.662"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:39 +0000] \"GET /api/auth/me HTTP/1.1\" 200 442 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:39.758"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:39 +0000] \"GET /api/dashboard HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:39.772"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:39 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:39.778"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:39 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:39.780"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:44 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:44.247"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:44 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:44.266"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:44 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:44.267"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:44 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:44.792"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:44 +0000] \"GET /api/controls?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:44.803"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:45 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:45.328"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:45 +0000] \"GET /api/audits?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:45.337"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:45 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:45.924"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:45 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:45.938"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:46 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:46.465"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:46 +0000] \"GET /api/policies?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:46.480"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:47 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:47.443"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:47 +0000] \"GET /api/risks?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:47.452"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:47 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:47.896"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:47 +0000] \"GET /api/vendors?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:47.910"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:48 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:48.379"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:48 +0000] \"GET /api/incidents/stats HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:48.395"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:48 +0000] \"GET /api/incidents?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:48.396"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:48 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:48.885"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:48 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:48.896"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:48 +0000] \"GET /api/audits?limit=100 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:48.915"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:49 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:49.447"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:39:49 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:39:49.454"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:50:42 +0000] \"GET /api/users HTTP/1.1\" 200 426 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:50:42.298"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 08:54:44.100"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 08:54:47.731"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 08:54:47.743"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-24 08:54:47.743"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET / HTTP/1.1\" 200 939 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.395"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.410"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.412"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.421"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.424"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.426"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.429"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.431"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.432"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.434"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.436"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.438"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.440"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.441"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.441"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.443"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.444"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.445"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.446"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.448"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.448"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.449"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.450"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.451"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.452"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.453"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.453"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.454"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.455"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.455"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.456"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"GET /api/auth/me HTTP/1.1\" 401 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.464"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['840de3b05e917596c3b53c1cb911805b9cf7e5474c00e0fe04c...","level":"error","message":"Token refresh error","timestamp":"2026-04-24 08:54:50.474"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:54:50 +0000] \"POST /api/auth/refresh HTTP/1.1\" 500 85 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:54:50.475"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:05 +0000] \"POST /api/auth/login HTTP/1.1\" 200 712 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:05.875"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:05 +0000] \"GET /api/auth/me HTTP/1.1\" 200 442 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:05.921"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:05 +0000] \"GET /api/dashboard HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:05.931"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:05 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:05.937"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:05 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:05.939"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:08 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:08.475"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:08 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:08.485"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:10 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:10.518"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:10 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:10.541"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:10 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:10.542"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:11 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:11.216"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:11 +0000] \"GET /api/dashboard HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:11.231"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:11 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:11.243"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:11 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:11.249"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:12 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:12.157"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:12 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:12.175"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:12 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:12.177"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:12 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:12.653"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:12 +0000] \"GET /api/controls?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:12.672"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:13 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:13.248"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:13 +0000] \"GET /api/audits?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:13.263"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:14 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:14.345"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:14 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:14.363"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:14 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:14.895"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:14 +0000] \"GET /api/policies?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:14.908"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:16 +0000] \"GET / HTTP/1.1\" 200 939 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:16.984"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.011"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.012"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.021"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.022"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.028"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.030"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.031"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.032"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.033"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.034"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.038"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.040"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.042"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.042"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.044"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.045"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.047"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.048"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.048"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.049"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.051"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.051"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.053"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.054"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.054"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.055"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.056"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.057"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.057"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.058"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /api/auth/me HTTP/1.1\" 200 442 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.066"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:17 +0000] \"GET /api/policies?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:17.073"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:18 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:18.342"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:18 +0000] \"GET /api/dashboard HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:18.364"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:18 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:18.378"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:55:18 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:55:18.383"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 08:57:19.735"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 08:57:20.809"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 08:57:20.821"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-24 08:57:20.822"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET / HTTP/1.1\" 200 939 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.413"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.435"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.437"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.445"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.446"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.449"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.450"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.452"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.454"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.456"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.457"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.458"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.459"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.460"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.462"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.463"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.464"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.465"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.465"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.466"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.467"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.468"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.469"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.470"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.470"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.471"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.472"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.472"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.473"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.474"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.474"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /api/auth/me HTTP/1.1\" 200 442 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.485"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /api/dashboard HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.496"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.504"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:25 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:25.509"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:27 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:27.086"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:27 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:27.098"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:29 +0000] \"POST /api/auth/logout HTTP/1.1\" 200 83 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:29.276"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET / HTTP/1.1\" 200 939 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.713"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.741"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.742"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.752"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.752"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.756"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.758"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.760"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.760"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.763"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.763"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.766"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.767"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.769"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.770"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.772"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.773"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.774"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.776"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.776"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.777"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.778"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.779"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.780"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.782"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.783"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.783"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.784"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.785"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.786"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:31 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:31.786"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:40 +0000] \"POST /api/auth/login HTTP/1.1\" 200 712 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:40.112"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:40 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:40.153"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:40 +0000] \"GET /api/dashboard HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:40.162"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:40 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:40.168"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:40 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:40.171"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:41 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:41.763"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:41 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:41.776"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:42 +0000] \"GET /api/users HTTP/1.1\" 200 426 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:42.992"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:43 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:43.547"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:44 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:44.556"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:45 +0000] \"GET /api/users HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:45.023"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:45 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:45.838"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:45 +0000] \"GET /api/dashboard HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:45.856"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:45 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:45.867"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:45 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:45.873"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:46 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:46.904"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:46 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:46.922"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:46 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:46.925"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:47 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:47.646"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:47 +0000] \"GET /api/audits?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:47.663"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:48 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:48.271"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:48 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:48.288"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:50 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:50.590"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:50 +0000] \"GET /api/risks?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:50.604"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:51 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:51.026"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:51 +0000] \"GET /api/vendors?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:51.046"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:51 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:51.706"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:51 +0000] \"GET /api/incidents/stats HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:51.724"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:15:57:51 +0000] \"GET /api/incidents?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 08:57:51.726"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 10:14:41.974"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 10:37:11.652"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 10:37:11.678"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-24 10:37:11.679"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.818"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.838"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.839"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.846"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.849"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.853"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.854"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.855"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.857"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.859"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.860"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.862"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.863"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.864"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.865"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.866"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.867"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.868"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.868"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.869"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.869"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.870"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.871"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.872"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.873"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.873"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.873"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.875"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.875"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.876"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.876"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.876"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"GET /api/auth/me HTTP/1.1\" 401 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.883"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['491e55a918414bb6208af4848d3f313d5eb6e3cbe0fdb7d15db...","level":"error","message":"Token refresh error","timestamp":"2026-04-24 10:37:44.891"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:37:44 +0000] \"POST /api/auth/refresh HTTP/1.1\" 500 85 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:37:44.892"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:38:01 +0000] \"POST /api/auth/login HTTP/1.1\" 200 712 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:38:01.714"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:38:01 +0000] \"GET /api/auth/me HTTP/1.1\" 200 645 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:38:01.750"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:38:01 +0000] \"GET /api/dashboard HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:38:01.759"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:38:01 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:38:01.765"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:38:01 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:38:01.767"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:38:12 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:38:12.402"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:38:12 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:38:12.422"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:38:15 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:38:15.380"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:38:15 +0000] \"GET /api/billing/summary HTTP/1.1\" 200 371 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:38:15.966"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:38:15 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 200 48 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:38:15.968"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:38:37 +0000] \"GET /api/users HTTP/1.1\" 200 426 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:38:37.652"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:38:38 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:38:38.239"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:38:39 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:38:39.131"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.362"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.383"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.384"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.391"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.392"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.393"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.394"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.396"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.400"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.401"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.402"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.403"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.404"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.407"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.409"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.410"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.411"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.412"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.413"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.414"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.415"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.417"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.418"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.418"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.418"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.418"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.418"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.419"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.420"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.420"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.422"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.423"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /api/auth/me HTTP/1.1\" 200 645 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.429"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:41:29 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:41:29.432"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:42:17 +0000] \"GET /css/main.css HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:42:17.704"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:42:17 +0000] \"GET /.well-known/appspecific/com.chrome.devtools.json HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:42:17.716"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.260"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.285"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.286"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.292"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.293"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.294"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.297"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.299"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.300"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.302"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.305"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.305"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.307"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.308"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.308"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.309"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.313"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.313"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.314"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.314"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.315"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.315"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.318"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.318"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.320"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.320"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.321"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.322"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.323"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.324"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.324"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.325"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /api/auth/me HTTP/1.1\" 200 645 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.331"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:31 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:31.336"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:38 +0000] \"GET /api/billing/summary HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:38.293"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:44:38 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:44:38.294"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:45:39 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:45:39.632"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:45:39 +0000] \"GET /api/billing/summary HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:45:39.641"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:45:39 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:45:39.641"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:45:41 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:45:41.106"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:45:41 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:45:41.117"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:45:41 +0000] \"GET /api/audits?limit=100 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:45:41.125"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:45:41 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:45:41.822"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:45:41 +0000] \"GET /api/billing/summary HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:45:41.832"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:45:41 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:45:41.832"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 10:49:36.451"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 10:50:02.364"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 10:50:02.378"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-24 10:50:02.378"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:11 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 401 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:11.469"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:11 +0000] \"POST /api/sysadmin/auth/refresh HTTP/1.1\" 200 431 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:11.487"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:11 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:11.491"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:11 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:11.505"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.867"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.891"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.893"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.904"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.906"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.910"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.911"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.914"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.916"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.918"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.918"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.920"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.921"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.922"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.925"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.926"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.926"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.927"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.928"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.929"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.930"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.930"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.931"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.932"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.933"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.934"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.934"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.935"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.936"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.936"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.937"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.937"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 203 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.943"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:15 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:15.948"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:18 +0000] \"GET /api/sysadmin/promo-codes HTTP/1.1\" 500 92 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:18.351"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:29 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:29.712"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:32 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:32.513"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:32 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:32.525"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:33 +0000] \"GET /api/sysadmin/promo-codes HTTP/1.1\" 500 92 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:33.367"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.829"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.855"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.855"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.860"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.861"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.867"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.868"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.868"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.869"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.873"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.874"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.876"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.877"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.877"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.878"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.882"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.883"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.884"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.885"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.885"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.886"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.887"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.888"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.889"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.889"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.890"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.890"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.891"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.892"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.892"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.893"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.893"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 203 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.898"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:35 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:35.906"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:50:37 +0000] \"GET /api/sysadmin/promo-codes HTTP/1.1\" 500 92 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:50:37.686"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 10:52:13.984"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 10:52:16.517"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 10:52:16.529"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-24 10:52:16.530"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.530"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.546"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.547"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.552"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.555"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.556"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.557"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.559"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.560"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.562"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.563"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.564"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.565"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.565"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.566"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.567"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.568"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.569"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.569"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.570"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.572"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.572"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.573"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.575"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.575"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.576"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.577"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.578"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.578"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.579"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.579"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.579"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 203 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.588"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:22 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:22.595"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:52:24 +0000] \"GET /api/sysadmin/promo-codes HTTP/1.1\" 500 92 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:52:24.251"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 10:53:25.025"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 10:53:27.532"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 10:53:27.546"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-24 10:53:27.547"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.900"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.923"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.925"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.931"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.935"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.938"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.940"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.942"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.943"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.944"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.946"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.947"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.948"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.949"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.949"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.951"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.951"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.952"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.953"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.954"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.954"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.954"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.955"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.956"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.956"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.957"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.958"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.959"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.959"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.960"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.960"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.960"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 203 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.969"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:30 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:30.976"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:32 +0000] \"GET /api/sysadmin/promo-codes HTTP/1.1\" 200 48 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:32.327"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:53:59 +0000] \"POST /api/sysadmin/promo-codes HTTP/1.1\" 422 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:53:59.546"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:54:09 +0000] \"POST /api/sysadmin/promo-codes HTTP/1.1\" 201 276 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:54:09.621"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:54:09 +0000] \"GET /api/sysadmin/promo-codes HTTP/1.1\" 200 330 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:54:09.628"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.822"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.843"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.844"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.850"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.851"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.853"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.855"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.856"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.858"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.861"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.861"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.862"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.863"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.865"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.867"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.868"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.870"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.870"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.872"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.873"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.873"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.874"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.876"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.877"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.878"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.879"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.880"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.880"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.881"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.882"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.882"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.884"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 203 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.890"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:22 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:22.897"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:24 +0000] \"GET /api/sysadmin/promo-codes HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:24.527"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:58:43 +0000] \"POST /api/sysadmin/promo-codes HTTP/1.1\" 422 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:58:43.843"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:59:00 +0000] \"POST /api/sysadmin/promo-codes HTTP/1.1\" 422 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:59:00.192"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 10:59:30.605"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 10:59:34.546"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 10:59:34.559"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-24 10:59:34.560"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:59:37 +0000] \"POST /api/sysadmin/promo-codes HTTP/1.1\" 201 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:59:37.831"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:17:59:37 +0000] \"GET /api/sysadmin/promo-codes HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 10:59:37.840"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.220"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.250"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.251"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.262"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.264"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.268"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.271"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.273"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.274"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.276"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.277"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.280"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.280"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.281"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.282"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.284"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.284"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.284"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.284"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.285"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.285"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.286"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.287"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.289"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.291"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.292"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.292"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.293"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.293"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.293"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.295"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.295"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 203 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.301"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:53 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:53.308"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:00:54 +0000] \"GET /api/sysadmin/promo-codes HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:00:54.593"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 11:01:05.792"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 11:01:07.389"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 11:01:07.402"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-24 11:01:07.403"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.739"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.753"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.755"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.768"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.775"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.778"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.782"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.784"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.786"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.788"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.788"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.789"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.790"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.791"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.792"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.793"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.793"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.794"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.795"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.795"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.796"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.797"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.798"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.798"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.799"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.800"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.801"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.801"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.802"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.802"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.802"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.803"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 203 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.810"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:09 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:09.816"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:11 +0000] \"GET /api/sysadmin/promo-codes HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:11.013"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:31 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:31.993"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.017"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.018"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.027"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.028"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.030"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.032"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.039"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.041"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.043"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.044"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.047"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.049"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.049"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.050"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.052"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.053"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.055"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.056"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.058"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.058"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.059"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.060"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.062"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.063"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.064"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.064"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.065"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.066"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.067"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.067"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.068"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 203 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.076"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:32 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:32.088"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:01:33 +0000] \"GET /api/sysadmin/promo-codes HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:01:33.548"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.553"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.578"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.579"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.585"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.589"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.590"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.591"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.592"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.593"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.595"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.597"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.599"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.599"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.600"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.601"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.603"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.605"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.607"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.607"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.608"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.609"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.609"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.611"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.612"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.612"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.613"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.614"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.614"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.616"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.616"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.617"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.617"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 200 203 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.622"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:42 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:42.628"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:44 +0000] \"GET /api/sysadmin/promo-codes HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:44.225"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:59 +0000] \"GET /api/auth/me HTTP/1.1\" 401 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:59.321"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['8925b2d7765da584a2881185dbe4985ebdca732f61e26b3c429...","level":"error","message":"Token refresh error","timestamp":"2026-04-24 11:03:59.335"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:03:59 +0000] \"POST /api/auth/refresh HTTP/1.1\" 500 85 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:03:59.335"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:08 +0000] \"POST /api/auth/login HTTP/1.1\" 200 712 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:08.538"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:08 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:08.572"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:08 +0000] \"GET /api/dashboard HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:08.579"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:08 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:08.584"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:08 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:08.585"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:12 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:12.114"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:12 +0000] \"GET /api/billing/summary HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:12.126"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:12 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 200 83 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:12.127"}
{"error":"Promo code has expired","level":"error","message":"Promo redemption error","tenantId":"83f0c0b9-62d8-44a6-913e-a7965d22a42c","timestamp":"2026-04-24 11:04:17.523"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:17 +0000] \"POST /api/billing/redeem HTTP/1.1\" 400 87 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:17.524"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET / HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.713"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /css/main.css HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.725"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/app.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.726"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/router.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.730"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/api.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.731"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.732"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/store.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.733"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.733"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/login.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.735"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/register.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.736"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/risks.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.736"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/controls.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.737"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.739"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.739"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/audits.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.740"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.740"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/policies.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.741"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.742"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.742"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/reports.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.743"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/settings.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.744"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/billing.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.745"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.745"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.746"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.747"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.747"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/components/toast.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.749"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.750"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/components/charts.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.750"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/components/modal.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.751"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/components/table.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.752"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.752"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.759"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /api/dashboard HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.795"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.803"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:27 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:27.807"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:30 +0000] \"GET /sysadmin HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:30.935"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:30 +0000] \"GET /css/main.css HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:30.975"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:30 +0000] \"GET /js/app.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:30.976"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:30 +0000] \"GET /js/api.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:30.984"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:30 +0000] \"GET /js/store.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:30.985"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:30 +0000] \"GET /js/router.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:30.986"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:30 +0000] \"GET /js/views/controls.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:30.987"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:30 +0000] \"GET /js/views/register.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:30.990"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:30 +0000] \"GET /js/views/risks.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:30.991"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:30 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:30.991"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:30 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:30.992"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:30 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:30.996"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:30 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:30.998"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.002"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/views/audits.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.002"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.003"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/views/login.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.004"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.005"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/views/policies.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.007"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/views/reports.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.008"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/views/settings.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.008"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/views/billing.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.008"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.009"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.010"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.011"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.012"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/components/toast.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.012"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/components/modal.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.013"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/components/table.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.013"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/components/charts.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.014"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.014"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.015"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.021"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /api/dashboard HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.039"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.110"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:31 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:31.115"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET / HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.436"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /css/main.css HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.446"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/app.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.447"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/router.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.451"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/api.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.452"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/store.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.453"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.454"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.454"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/login.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.454"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/register.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.455"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/risks.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.455"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/controls.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.456"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.457"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.458"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/audits.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.458"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.459"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/policies.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.460"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.461"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.461"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/reports.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.462"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/billing.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.463"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/settings.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.463"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.464"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.464"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.465"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.466"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/components/toast.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.466"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.468"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/components/charts.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.468"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/components/modal.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.468"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/components/table.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.469"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.469"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.474"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /api/dashboard HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.506"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.513"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:34 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:34.515"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET / HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.521"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /css/main.css HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.539"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/app.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.540"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/router.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.544"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/api.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.545"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/register.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.546"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/risks.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.547"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/store.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.547"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/controls.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.549"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.549"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/audits.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.550"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.550"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.551"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.552"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.553"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/login.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.553"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/policies.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.555"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.556"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.556"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/settings.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.557"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/reports.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.557"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/billing.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.558"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.559"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.559"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.560"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.561"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/components/table.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.561"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/components/modal.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.562"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.563"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/components/toast.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.563"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/components/charts.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.564"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.565"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /api/sysadmin/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.570"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:40 +0000] \"GET /api/sysadmin/tenants HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:40.577"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:04:43 +0000] \"GET /api/sysadmin/promo-codes HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:04:43.016"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:05:04 +0000] \"POST /api/billing/redeem HTTP/1.1\" 200 448 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:05:04.876"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:05:04 +0000] \"GET /api/auth/me HTTP/1.1\" 200 667 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:05:04.888"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:05:04 +0000] \"GET /api/billing/summary HTTP/1.1\" 200 393 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:05:04.890"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:05:04 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 200 279 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:05:04.892"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:05:17 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:05:17.714"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:05:18 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:05:18.343"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:05:19 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:05:19.446"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:05:19 +0000] \"GET /api/dashboard HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:05:19.454"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:05:19 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:05:19.461"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:18:05:19 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 11:05:19.464"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 18:38:58.043"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 18:38:58.107"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3503","port":3503,"timestamp":"2026-04-24 18:38:58.110"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 18:39:02.578"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 18:39:16.734"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 18:39:16.800"}
{"env":"production","level":"info","message":"GRC Platform running on http://0.0.0.0:3503","port":3503,"timestamp":"2026-04-24 18:39:16.803"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 18:40:41.780"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 18:40:41.846"}
{"env":"production","level":"info","message":"GRC Platform running on http://0.0.0.0:3503","port":3503,"timestamp":"2026-04-24 18:40:41.849"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 18:40:46.988"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 18:40:58.748"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 18:40:58.813"}
{"env":"production","level":"info","message":"GRC Platform running on http://0.0.0.0:3503","port":3503,"timestamp":"2026-04-24 18:40:58.815"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.094"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.242"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.244"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.277"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.279"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.307"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.309"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.316"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.331"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.334"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.337"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.339"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.343"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.355"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.359"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.365"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.366"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.370"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.381"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.383"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.389"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.393"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.394"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.410"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.411"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.413"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.423"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.424"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.437"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.438"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.440"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:41:47 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:41:47.444"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:42:50 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:42:50.231"}
{"level":"info","message":"104.164.173.217 - - [24/Apr/2026:18:42:50 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:42:50.234"}
{"level":"info","message":"104.164.126.232 - - [24/Apr/2026:18:42:50 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:42:50.235"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:42:51 +0000] \"GET /console/ HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:42:51.222"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:42:52 +0000] \"GET /server HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:42:52.229"}
{"level":"info","message":"104.164.126.232 - - [24/Apr/2026:18:42:52 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:42:52.724"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:42:54 +0000] \"GET /about HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:42:54.228"}
{"level":"info","message":"104.164.126.232 - - [24/Apr/2026:18:42:54 +0000] \"GET /data:image/svg+xml,%3Csvg%20xmlns='http:/www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3E%3Crect%20width='32'%20height='32'%20rx='6'%20fill='%234f6ef7'/%3E%3Ctext%20y='22'%20x='6'%20font-size='18'%20font-weight='800'%20fill='white'%20font-family='system-ui'%3EG%3C/text%3E%3C/svg%3E HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:42:54.363"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:42:55 +0000] \"GET /login.action HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:42:55.230"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:42:56 +0000] \"GET /v2/_catalog HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:42:56.241"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:42:57 +0000] \"GET /.DS_Store HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:42:57.241"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:42:58 +0000] \"GET /.env HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:42:58.218"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:00 +0000] \"GET /ecp/Current/exporttool/microsoft.exchange.ediscovery.exporttool.application HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:00.229"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:02 +0000] \"GET /.git/config HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:02.250"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:03 +0000] \"POST /graphql HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:03.231"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:03 +0000] \"POST /api HTTP/1.1\" 404 90 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:03.681"}
{"level":"info","message":"104.164.126.232 - - [24/Apr/2026:18:43:03 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:03.686"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:04 +0000] \"POST /api/graphql HTTP/1.1\" 404 98 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:04.136"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:04 +0000] \"POST /graphql/api HTTP/1.1\" 404 98 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:04.589"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:05 +0000] \"POST /api/gql HTTP/1.1\" 404 94 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:05.041"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:05 +0000] \"GET /s/2373e2433313e2231323e27363/_/;/META-INF/maven/com.atlassian.jira/jira-webapp-dist/pom.properties HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:05.486"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:06 +0000] \"GET /config.json HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:06.497"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:07 +0000] \"GET /telescope/requests HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:07.485"}
{"level":"info","message":"104.164.126.232 - - [24/Apr/2026:18:43:08 +0000] \"GET /data:image/svg+xml,%3Csvg%20xmlns='http:/www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3E%3Crect%20width='32'%20height='32'%20rx='6'%20fill='%234f6ef7'/%3E%3Ctext%20y='22'%20x='6'%20font-size='18'%20font-weight='800'%20fill='white'%20font-family='system-ui'%3EG%3C/text%3E%3C/data:image/svg+xml,%3Csvg%20xmlns='http:/www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3E%3Crect%20width='32'%20height='32'%20rx='6'%20fill='%234f6ef7'/%3E%3Ctext%20y='22'%20x='6'%20font-size='18'%20font-weight='800'%20fill='white'%20font-family='system-ui'%3EG%3C/text%3E%3C/svg%3E HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:08.319"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:08 +0000] \"GET /info.php HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:08.497"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:09 +0000] \"GET /.well-known/security.txt HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:09.488"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:10 +0000] \"GET /actuator/env HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:10.498"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:12 +0000] \"GET /swagger-ui.html HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:12.486"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:13 +0000] \"GET /swagger/index.html HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:13.491"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:14 +0000] \"GET /swagger/swagger-ui.html HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:14.502"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:15 +0000] \"GET /webjars/swagger-ui/index.html HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:15.488"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:16 +0000] \"GET /swagger.json HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:16.499"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:17 +0000] \"GET /swagger/v1/swagger.json HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:17.510"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:18 +0000] \"GET /v2/api-docs HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:18.505"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:19 +0000] \"GET /v3/api-docs HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:19.504"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:20 +0000] \"GET /api-docs/swagger.json HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:20.495"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:21 +0000] \"GET /api/swagger.json HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:21.514"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:22 +0000] \"GET /trace.axd HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:22.494"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:23 +0000] \"GET /@vite/env HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:23.506"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:24 +0000] \"GET /.vscode/sftp.json HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:24.494"}
{"level":"info","message":"107.172.195.164 - - [24/Apr/2026:18:43:25 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:25.797"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:25 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:25.814"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:26 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:26.431"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:26 +0000] \"GET /?rest_route=/wp/v2/users/ HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:26.496"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:26 +0000] \"GET /data:image/svg+xml,%3Csvg%20xmlns='http:/www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3E%3Crect%20width='32'%20height='32'%20rx='6'%20fill='%234f6ef7'/%3E%3Ctext%20y='22'%20x='6'%20font-size='18'%20font-weight='800'%20fill='white'%20font-family='system-ui'%3EG%3C/text%3E%3C/svg%3E HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:26.521"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:26 +0000] \"GET /data:image/svg+xml,%3Csvg%20xmlns='http:/www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3E%3Crect%20width='32'%20height='32'%20rx='6'%20fill='%234f6ef7'/%3E%3Ctext%20y='22'%20x='6'%20font-size='18'%20font-weight='800'%20fill='white'%20font-family='system-ui'%3EG%3C/text%3E%3C/data:image/svg+xml,%3Csvg%20xmlns='http:/www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3E%3Crect%20width='32'%20height='32'%20rx='6'%20fill='%234f6ef7'/%3E%3Ctext%20y='22'%20x='6'%20font-size='18'%20font-weight='800'%20fill='white'%20font-family='system-ui'%3EG%3C/text%3E%3C/svg%3E HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:26.605"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:26 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:26.740"}
{"level":"info","message":"157.230.19.140 - - [24/Apr/2026:18:43:27 +0000] \"GET /debug/default/view?panel=config HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (l9scan/2.0.2373e2433313e2231323e27363; +https://leakix.net)\"","timestamp":"2026-04-24 18:43:27.506"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:27 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:27.576"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:27 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:27.580"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:27 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:27.679"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:27 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:27.691"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:27 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:27.838"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.477"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.549"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.561"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.569"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.571"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.594"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.622"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.641"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.647"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.651"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.652"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.659"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.660"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.739"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:29 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:29.855"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:31 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:31.016"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:31 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:31.982"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:32 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:32.937"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:33 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:33.799"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:33 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:33.914"}
{"level":"info","message":"104.252.191.77 - - [24/Apr/2026:18:43:34 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:43:34.749"}
{"level":"info","message":"94.139.60.24 - - [24/Apr/2026:18:44:14 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:14.232"}
{"level":"info","message":"94.139.60.24 - - [24/Apr/2026:18:44:14 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:14.597"}
{"level":"info","message":"94.139.60.24 - - [24/Apr/2026:18:44:14 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:14.869"}
{"level":"info","message":"94.139.60.24 - - [24/Apr/2026:18:44:15 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:15.195"}
{"level":"info","message":"94.176.92.220 - - [24/Apr/2026:18:44:15 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:15.451"}
{"level":"info","message":"94.139.60.24 - - [24/Apr/2026:18:44:15 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:15.488"}
{"level":"info","message":"94.176.92.220 - - [24/Apr/2026:18:44:15 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:15.559"}
{"level":"info","message":"94.176.92.220 - - [24/Apr/2026:18:44:15 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:15.885"}
{"level":"info","message":"94.139.60.24 - - [24/Apr/2026:18:44:15 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:15.917"}
{"level":"info","message":"161.123.52.39 - - [24/Apr/2026:18:44:15 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:15.992"}
{"level":"info","message":"206.204.18.202 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.000"}
{"level":"info","message":"94.176.92.220 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.030"}
{"level":"info","message":"152.39.165.5 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.079"}
{"level":"info","message":"94.176.92.220 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.185"}
{"level":"info","message":"161.123.52.39 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.202"}
{"level":"info","message":"94.139.60.24 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.249"}
{"level":"info","message":"152.39.165.5 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.282"}
{"level":"info","message":"119.13.192.60 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.304"}
{"level":"info","message":"206.204.18.202 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.322"}
{"level":"info","message":"161.123.52.39 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.346"}
{"level":"info","message":"94.139.60.24 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.389"}
{"level":"info","message":"94.176.92.220 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.408"}
{"level":"info","message":"152.39.165.5 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.428"}
{"level":"info","message":"206.204.18.202 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.497"}
{"level":"info","message":"94.176.92.220 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.506"}
{"level":"info","message":"119.13.192.60 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.528"}
{"level":"info","message":"94.139.60.24 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.538"}
{"level":"info","message":"152.39.165.5 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.547"}
{"level":"info","message":"161.123.52.39 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.550"}
{"level":"info","message":"206.204.18.202 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.628"}
{"level":"info","message":"94.176.92.220 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.648"}
{"level":"info","message":"119.13.192.60 - - [24/Apr/2026:18:44:16 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:16.691"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET / HTTP/1.1\" 200 1007 \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.102"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.197"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.198"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.286"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.289"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.365"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.371"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.444"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.452"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.527"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.536"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.607"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.617"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.687"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.698"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.769"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.778"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.853"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.859"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.937"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:21 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:21.951"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:22 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:22.013"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:22 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:22.031"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:22 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:22.094"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:22 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:22.111"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:22 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:22.173"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:22 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:22.192"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:22 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:22.253"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:22 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:22.271"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:22 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:22.338"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:22 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:22.356"}
{"level":"info","message":"103.196.9.150 - - [24/Apr/2026:18:44:22 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 26_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/144.0.7559.95 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 18:44:22.420"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 18:44:50.941"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 18:46:12.193"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 18:46:12.258"}
{"env":"production","level":"info","message":"GRC Platform running on http://0.0.0.0:3503","port":3503,"timestamp":"2026-04-24 18:46:12.261"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:15 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:15.897"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:15 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:15.950"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:15 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:15.973"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.004"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.006"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.009"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.031"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/config.js HTTP/1.1\" 200 157 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.038"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.041"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.055"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.060"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.063"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.064"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.162"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.166"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.167"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.169"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.170"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.172"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.200"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.202"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.203"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.204"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.206"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.206"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.226"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.227"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.233"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.234"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.239"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.240"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.260"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:46:16 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:46:16.261"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.050"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.105"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.126"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.152"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.153"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.158"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/config.js HTTP/1.1\" 200 157 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.177"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.178"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.184"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.208"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.209"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.214"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.215"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.216"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.217"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.247"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.249"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.250"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.251"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.252"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.253"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.272"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.275"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.281"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.283"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.284"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.284"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.297"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.300"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.311"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.313"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.315"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:17 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:17.316"}
{"email":"thien.pham@phamholdings.com","level":"info","message":"New tenant registered","slug":"pham-holdings","tenantId":"2b5beb87-5e23-40c1-baaa-182279c173a0","timestamp":"2026-04-24 18:47:44.840"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:44 +0000] \"POST /api/auth/register HTTP/1.1\" 201 798 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:44.842"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:45 +0000] \"GET /api/auth/me HTTP/1.1\" 200 645 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:45.032"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:45 +0000] \"GET /api/dashboard HTTP/1.1\" 200 391 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:45.078"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:45 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 200 48 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:45.102"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:45 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 200 48 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:45.134"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:57 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:57.736"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:58 +0000] \"GET /api/billing/summary HTTP/1.1\" 200 371 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:58.005"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:47:58 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 200 83 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:47:58.067"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 18:49:18.896"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 18:49:21.346"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 18:49:21.412"}
{"env":"production","level":"info","message":"GRC Platform running on http://0.0.0.0:3503","port":3503,"timestamp":"2026-04-24 18:49:21.415"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:24 +0000] \"POST /api/auth/logout HTTP/1.1\" 200 83 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:24.571"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.713"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.780"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.799"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.840"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.842"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.845"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /js/config.js HTTP/1.1\" 200 157 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.874"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.878"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.879"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.887"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.889"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.892"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.993"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.995"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:26 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:26.996"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.002"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.003"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.007"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.026"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.027"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.029"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.032"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.033"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.038"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.050"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.054"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.063"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.065"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.067"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.068"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.074"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.077"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:27 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:27.089"}
{"email":"thien.pham@f9networks.com","level":"info","message":"New tenant registered","slug":"f9-networks","tenantId":"9b0fb5bc-e3b5-47fe-9e2e-db3687759d0c","timestamp":"2026-04-24 18:49:47.161"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:47 +0000] \"POST /api/auth/register HTTP/1.1\" 201 790 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:47.163"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:47 +0000] \"GET /api/auth/me HTTP/1.1\" 200 639 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:47.208"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:47 +0000] \"GET /api/dashboard HTTP/1.1\" 200 391 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:47.252"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:47 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:47.280"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:47 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:47.305"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:50 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:50.336"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:50 +0000] \"GET /api/billing/summary HTTP/1.1\" 200 367 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:50.374"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:50 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:50.379"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:55 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:55.577"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:55 +0000] \"GET /api/billing/summary HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:55.612"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:49:55 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:49:55.638"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:00 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:00.020"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:00 +0000] \"GET /api/billing/summary HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:00.055"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:00 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:00.056"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:00 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:00.539"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:00 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 200 48 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:00.569"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:00 +0000] \"GET /api/audits?limit=100 HTTP/1.1\" 200 125 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:00.597"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:01 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:01.074"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:01 +0000] \"GET /api/incidents/stats HTTP/1.1\" 200 129 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:01.110"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:01 +0000] \"GET /api/incidents?page=1&limit=25 HTTP/1.1\" 200 124 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:01.111"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:01 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:01.464"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:01 +0000] \"GET /api/vendors?page=1&limit=25 HTTP/1.1\" 200 124 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:01.490"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:16 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:16.355"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:16 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 200 124 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:16.386"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:17 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:17.057"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:17 +0000] \"GET /api/policies?page=1&limit=25 HTTP/1.1\" 200 124 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:17.091"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:18 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:18.409"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:18 +0000] \"GET /api/audits?page=1&limit=25 HTTP/1.1\" 200 124 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:18.445"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:21 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:21.230"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:21 +0000] \"GET /api/controls?page=1&limit=25 HTTP/1.1\" 200 124 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:21.262"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:27 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:27.424"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:27 +0000] \"GET /api/risks?page=1&limit=25 HTTP/1.1\" 200 124 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:27.456"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:28 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:28.335"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:28 +0000] \"GET /api/incidents?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:28.364"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:28 +0000] \"GET /api/incidents/stats HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:28.390"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:29 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:29.234"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:29 +0000] \"GET /api/controls?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:29.270"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:38 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:38.004"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:38 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:38.031"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:38 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:38.069"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:39 +0000] \"GET /api/frameworks HTTP/1.1\" 200 48 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:39.204"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:40 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:40.787"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:40 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:40.789"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:50:41 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:50:41.437"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.083"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.132"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.157"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.194"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.195"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.196"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/config.js HTTP/1.1\" 200 157 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.218"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.219"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.221"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.245"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.247"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.248"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.250"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.252"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.252"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.282"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.283"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.284"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.285"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.286"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.287"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.404"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.408"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.408"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.409"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.410"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.411"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.427"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.439"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.440"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.441"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.442"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.443"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /api/auth/me HTTP/1.1\" 200 639 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.479"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.517"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:28 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:28.518"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:29 +0000] \"GET /api/frameworks HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:29.450"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:34 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:34.546"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:35 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:35.320"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:35 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:35.743"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:35 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:35.769"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:36 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:36.455"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:45 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:45.898"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:45 +0000] \"GET /api/billing/summary HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:45.933"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:45 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:45.956"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:50 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:50.601"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:52 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:52.562"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:52 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:52.592"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:52 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:52.594"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:53 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:53.446"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:57 +0000] \"POST /api/frameworks/activate HTTP/1.1\" 200 79 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:57.760"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:57 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 200 609 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:57.796"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:52:57 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 200 293 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:52:57.823"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:00 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:00.243"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:04 +0000] \"POST /api/frameworks/activate HTTP/1.1\" 200 79 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:04.161"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:04 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:04.196"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:04 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 200 593 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:04.202"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:05 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:05.478"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:17 +0000] \"POST /api/frameworks/activate HTTP/1.1\" 200 79 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:17.237"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:17 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:17.272"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:17 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 200 863 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:17.303"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:18 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:18.727"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:22 +0000] \"POST /api/frameworks/activate HTTP/1.1\" 200 79 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:22.247"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:22 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:22.292"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:22 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:22.296"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:23 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:23.965"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:32 +0000] \"POST /api/frameworks/activate HTTP/1.1\" 200 79 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:32.941"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:32 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:32.979"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:33 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:33.020"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:53:35 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:53:35.066"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:28 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:28.913"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:28 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:28.963"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:28 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:28.985"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.013"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.014"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.016"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.040"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.054"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.055"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.063"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.072"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.074"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.076"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/config.js HTTP/1.1\" 200 157 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.080"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.081"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.093"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.100"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.103"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.111"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.112"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.113"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.120"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.123"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.130"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.146"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.147"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.148"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.150"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.151"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.153"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.169"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.172"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.174"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /api/auth/me HTTP/1.1\" 200 639 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.205"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.239"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:29 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:29.247"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:18:59:30 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 18:59:30.705"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 21:28:13.538"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 21:28:13.603"}
{"env":"production","level":"info","message":"GRC Platform running on http://0.0.0.0:3503","port":3503,"timestamp":"2026-04-24 21:28:13.606"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:20 +0000] \"GET /api/auth/me HTTP/1.1\" 401 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:20.895"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['7e2eabfeb6478f8426dcfffe071d9c923766c2919b315e04c7e...","level":"error","message":"Token refresh error","timestamp":"2026-04-24 21:28:20.929"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:20 +0000] \"POST /api/auth/refresh HTTP/1.1\" 500 85 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:20.931"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:22 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:22.880"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:22 +0000] \"GET /favicon.ico HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:22.945"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:27 +0000] \"GET / HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:27.243"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:27 +0000] \"GET /favicon.ico HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:27.287"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:31 +0000] \"GET /privacy.html HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:31.616"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:31 +0000] \"GET /favicon.ico HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:31.661"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:33 +0000] \"GET /favicon.ico HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:33.011"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:34 +0000] \"GET /terms.html HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:34.397"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:34 +0000] \"GET /favicon.ico HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:34.446"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:35 +0000] \"GET /favicon.ico HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:35.821"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:37 +0000] \"GET /security.html HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:37.210"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:37 +0000] \"GET /favicon.ico HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:37.265"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:40 +0000] \"GET /favicon.ico HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:40.025"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:42 +0000] \"GET /app HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:42.096"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:44 +0000] \"POST /api/auth/login HTTP/1.1\" 200 708 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:44.641"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:44 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:44.884"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:44 +0000] \"GET /api/dashboard HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:44.921"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:44 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:44.957"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:44 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:44.981"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:50 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:50.033"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:50 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:50.071"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:50 +0000] \"GET /api/billing/summary HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:50.094"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:28:59 +0000] \"POST /api/billing/intent HTTP/1.1\" 200 376 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:28:59.504"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 21:34:40.583"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 21:34:43.872"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 21:34:43.940"}
{"env":"production","level":"info","message":"GRC Platform running on http://0.0.0.0:3503","port":3503,"timestamp":"2026-04-24 21:34:43.943"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:52 +0000] \"POST /api/billing/intent HTTP/1.1\" 200 376 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:52.249"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /app HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.697"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.750"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.771"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.869"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/config.js HTTP/1.1\" 200 157 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.875"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.877"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.894"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.900"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.905"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.912"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.918"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.924"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.925"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.926"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.930"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.943"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.945"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.953"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.954"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.955"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.960"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.973"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.974"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.980"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.983"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.984"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.987"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:54 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:54.999"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:55 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:55.000"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:55 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:55.011"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:55 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:55.012"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:55 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:55.014"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:55 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:55.015"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:55 +0000] \"GET /api/auth/me HTTP/1.1\" 200 639 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:55.049"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:55 +0000] \"GET /api/billing/summary HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:55.087"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:55 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 200 816 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:55.090"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:34:56 +0000] \"POST /api/billing/intent HTTP/1.1\" 200 376 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:34:56.742"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 21:38:20.518"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 21:38:22.987"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 21:38:23.056"}
{"env":"production","level":"info","message":"GRC Platform running on http://0.0.0.0:3503","port":3503,"timestamp":"2026-04-24 21:38:23.059"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /app HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.246"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.297"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.320"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.355"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.358"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.361"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.378"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/config.js HTTP/1.1\" 200 157 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.384"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.391"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.403"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.416"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.418"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.419"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.421"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.423"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.427"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.449"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.450"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.451"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.459"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.460"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.461"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.471"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.477"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.477"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.486"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.487"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.488"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.492"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.500"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.501"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.511"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.513"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /api/auth/me HTTP/1.1\" 200 639 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.553"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /api/billing/summary HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.594"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:26 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:26.598"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:28 +0000] \"POST /api/billing/intent HTTP/1.1\" 200 376 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:28.067"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:56 +0000] \"POST /api/billing/intent HTTP/1.1\" 200 376 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:56.142"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /app HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.465"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.511"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.537"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.566"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.570"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.572"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.590"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.594"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.597"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/config.js HTTP/1.1\" 200 157 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.613"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.618"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.619"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.710"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.711"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.712"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.726"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.727"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.728"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.736"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.737"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.740"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.755"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.756"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.759"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.763"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.765"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.765"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.778"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.785"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.789"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.792"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.794"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.794"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /api/auth/me HTTP/1.1\" 200 639 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.832"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /api/billing/summary HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.862"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:38:59 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:38:59.864"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 21:40:27.783"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 21:40:30.988"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 21:40:31.053"}
{"env":"production","level":"info","message":"GRC Platform running on http://0.0.0.0:3503","port":3503,"timestamp":"2026-04-24 21:40:31.056"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /app HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.223"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.275"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.295"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.324"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.327"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.331"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.348"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.359"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.361"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.374"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/control-detail.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.375"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.376"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.379"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/config.js HTTP/1.1\" 200 157 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.383"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.384"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.397"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.405"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.407"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.410"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.411"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.412"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.420"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/billing.js HTTP/1.1\" 200 257 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.425"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.442"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/sysadmin-login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.443"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/sysadmin-settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.444"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/views/sysadmin-portal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.444"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.450"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.451"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.472"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.473"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.474"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /js/sysadmin-api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.475"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /api/auth/me HTTP/1.1\" 200 639 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.516"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /api/billing/summary HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.624"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:40:34 +0000] \"GET /api/billing/history?limit=50 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:40:34.628"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-24 21:40:41.596"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-24 21:40:57.121"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-24 21:40:57.186"}
{"env":"production","level":"info","message":"GRC Platform running on http://0.0.0.0:3503","port":3503,"timestamp":"2026-04-24 21:40:57.190"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:41:16 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 21:41:16.410"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:41:16 +0000] \"GET /favicon.ico HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 21:41:16.507"}
{"level":"info","message":"52.16.245.145 - - [24/Apr/2026:21:42:04 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (X11; Linux x86_64; rv:83.0) Gecko/20100101 Firefox/83.0\"","timestamp":"2026-04-24 21:42:04.197"}
{"level":"info","message":"52.16.245.145 - - [24/Apr/2026:21:42:04 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:42:04.980"}
{"level":"info","message":"52.16.245.145 - - [24/Apr/2026:21:42:05 +0000] \"GET /favicon.ico HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 21:42:05.405"}
{"level":"info","message":"52.16.245.145 - - [24/Apr/2026:21:42:05 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36\"","timestamp":"2026-04-24 21:42:05.929"}
{"level":"info","message":"52.16.245.145 - - [24/Apr/2026:21:42:06 +0000] \"HEAD /favicon.ico HTTP/1.1\" 200 1048 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36\"","timestamp":"2026-04-24 21:42:06.533"}
{"level":"info","message":"52.16.245.145 - - [24/Apr/2026:21:42:07 +0000] \"GET /favicon.ico HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.84 Safari/537.36\"","timestamp":"2026-04-24 21:42:07.024"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:43:23 +0000] \"GET /apple-touch-icon-precomposed.png HTTP/1.1\" 200 - \"-\" \"NetworkingExtension/8621.8.1.10.1 CFNetwork/3826.600.41.2.1 Darwin/24.6.0\"","timestamp":"2026-04-24 21:43:23.145"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:43:23 +0000] \"GET /apple-touch-icon.png HTTP/1.1\" 200 - \"-\" \"NetworkingExtension/8621.8.1.10.1 CFNetwork/3826.600.41.2.1 Darwin/24.6.0\"","timestamp":"2026-04-24 21:43:23.197"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:43:23 +0000] \"GET /favicon.ico HTTP/1.1\" 200 - \"-\" \"NetworkingExtension/8621.8.1.10.1 CFNetwork/3826.600.41.2.1 Darwin/24.6.0\"","timestamp":"2026-04-24 21:43:23.200"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:21:43:23 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/601.2.4 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.4 facebookexternalhit/1.1 Facebot Twitterbot/1.0\"","timestamp":"2026-04-24 21:43:23.314"}
{"level":"info","message":"69.1.199.209 - - [24/Apr/2026:21:43:34 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"GoogleMessages/20.2 facebookexternalhit/1.1 Facebot Twitterbot/1.0\"","timestamp":"2026-04-24 21:43:34.152"}
{"level":"info","message":"69.1.199.209 - - [24/Apr/2026:21:43:34 +0000] \"GET /favicon.ico HTTP/1.1\" 200 - \"-\" \"GoogleMessages/20.2 facebookexternalhit/1.1 Facebot Twitterbot/1.0\"","timestamp":"2026-04-24 21:43:34.317"}
{"level":"info","message":"69.1.199.209 - - [24/Apr/2026:21:43:34 +0000] \"GET /favicon.ico HTTP/1.1\" 200 - \"-\" \"Dalvik/2.1.0 (Linux; U; Android 16; SM-S906U Build/BP2A.250605.031.A3)\"","timestamp":"2026-04-24 21:43:34.843"}
{"level":"info","message":"107.77.205.174 - - [24/Apr/2026:22:00:44 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/601.2.4 (KHTML, like Gecko) Version/9.0.1 Safari/601.2.4 facebookexternalhit/1.1 Facebot Twitterbot/1.0\"","timestamp":"2026-04-24 22:00:44.380"}
{"level":"info","message":"107.77.205.174 - - [24/Apr/2026:22:00:44 +0000] \"GET /apple-touch-icon-precomposed.png HTTP/1.1\" 200 - \"-\" \"NetworkingExtension/8621.8.1.10.1 CFNetwork/3826.600.41.2.1 Darwin/24.6.0\"","timestamp":"2026-04-24 22:00:44.386"}
{"level":"info","message":"107.77.205.174 - - [24/Apr/2026:22:00:44 +0000] \"GET /apple-touch-icon.png HTTP/1.1\" 200 - \"-\" \"NetworkingExtension/8621.8.1.10.1 CFNetwork/3826.600.41.2.1 Darwin/24.6.0\"","timestamp":"2026-04-24 22:00:44.508"}
{"level":"info","message":"107.77.205.174 - - [24/Apr/2026:22:00:44 +0000] \"GET /favicon.ico HTTP/1.1\" 200 - \"-\" \"NetworkingExtension/8621.8.1.10.1 CFNetwork/3826.600.41.2.1 Darwin/24.6.0\"","timestamp":"2026-04-24 22:00:44.511"}
{"level":"info","message":"146.75.222.163 - - [24/Apr/2026:22:51:59 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 22:51:59.146"}
{"level":"info","message":"146.75.222.163 - - [24/Apr/2026:22:51:59 +0000] \"GET /favicon.ico HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.4 Mobile/15E148 Safari/604.1\"","timestamp":"2026-04-24 22:51:59.340"}
{"level":"info","message":"155.2.225.177 - - [24/Apr/2026:23:04:57 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-24 23:04:57.867"}
{"level":"info","message":"155.2.225.177 - - [24/Apr/2026:23:04:58 +0000] \"GET /css/support_parent.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-24 23:04:58.195"}
{"level":"info","message":"155.2.225.177 - - [24/Apr/2026:23:04:58 +0000] \"GET /assets/js/message.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-24 23:04:58.362"}
{"level":"info","message":"155.2.225.177 - - [24/Apr/2026:23:04:58 +0000] \"GET /assets/js/qr_modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-24 23:04:58.525"}
{"level":"info","message":"155.2.225.177 - - [24/Apr/2026:23:04:58 +0000] \"GET /bot-connect.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-24 23:04:58.687"}
{"level":"info","message":"155.2.225.177 - - [24/Apr/2026:23:04:58 +0000] \"GET /js/twint_ch.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-24 23:04:58.852"}
{"level":"info","message":"155.2.225.177 - - [24/Apr/2026:23:04:59 +0000] \"GET /js/lkk_ch.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-24 23:04:59.012"}
{"level":"info","message":"155.2.225.177 - - [24/Apr/2026:23:04:59 +0000] \"GET /assets/js/auth.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-24 23:04:59.394"}
{"level":"info","message":"155.2.225.177 - - [24/Apr/2026:23:04:59 +0000] \"GET /robots.txt HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-24 23:04:59.574"}
{"level":"info","message":"155.2.225.177 - - [24/Apr/2026:23:04:59 +0000] \"GET /static/style/sys_files/index.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-24 23:04:59.735"}
{"level":"info","message":"155.2.225.177 - - [24/Apr/2026:23:04:59 +0000] \"GET /static/style/protect/index.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-24 23:04:59.900"}
{"level":"info","message":"23.129.64.225 - - [24/Apr/2026:23:25:46 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/29.0 Chrome/136.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-24 23:25:46.693"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:23:36:08 +0000] \"GET /api/auth/me HTTP/1.1\" 401 78 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 23:36:08.803"}
{"error":"Error in results, duplicate field name `user_id`.\n(see option `checkDuplicate`)\nsql: SELECT s.*, u.id as user_id, u.role, u.email, u.is_active, u.tenant_id\n       FROM sessions s JOIN users u ON s.user_id = u.id\n       WHERE s.token_hash = ? AND s.expires_at > NOW() LIMIT 1 - parameters:['b0e13d6c49ba0c33b33bce07e8b7e36d85e56c6070ac14a1aea...","level":"error","message":"Token refresh error","timestamp":"2026-04-24 23:36:08.919"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:23:36:08 +0000] \"POST /api/auth/refresh HTTP/1.1\" 500 85 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 23:36:08.920"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:23:36:13 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 23:36:13.519"}
{"level":"info","message":"75.172.84.31 - - [24/Apr/2026:23:36:13 +0000] \"GET /favicon.ico HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-24 23:36:13.658"}
