{"level":"info","message":"Database connection established","timestamp":"2026-04-23 15:47:57.965"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 15:47:57.978"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 15:47:57.979"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.001"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.020"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.023"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.031"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.032"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.043"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.046"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.051"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.053"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.055"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.055"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.059"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.061"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.063"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.063"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.065"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.066"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.068"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.070"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.070"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.071"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.072"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.073"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.074"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.075"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:23 +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-23 15:48:23.076"}
{"error":"(conn:2853, no: 1054, SQLState: 42S22) Unknown column 'slug' in 'WHERE'\nsql: SELECT id FROM tenants WHERE slug = ? LIMIT 1 - parameters:['pham-holdings-inc']","level":"error","message":"Register error","timestamp":"2026-04-23 15:48:51.253"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:48:51 +0000] \"POST /api/auth/register HTTP/1.1\" 500 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-23 15:48:51.255"}
{"error":"(conn:2854, no: 1054, SQLState: 42S22) Unknown column 'slug' in 'WHERE'\nsql: SELECT id FROM tenants WHERE slug = ? LIMIT 1 - parameters:['pham-holdings-inc']","level":"error","message":"Register error","timestamp":"2026-04-23 15:49:02.248"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:02 +0000] \"POST /api/auth/register HTTP/1.1\" 500 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-23 15:49:02.249"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:06 +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-23 15:49:06.036"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.887"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.915"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.915"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.923"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.925"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.927"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.928"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.930"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.931"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.932"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.935"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.937"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.938"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.942"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.946"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.946"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.950"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.951"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.952"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.954"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.955"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.957"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.958"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.959"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.959"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:49:23 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:49:23.960"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.791"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.816"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.817"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.822"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.822"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.833"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.835"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.835"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.839"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.842"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.844"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.846"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.848"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.849"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.852"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.853"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.854"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.857"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.858"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.859"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.860"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.861"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.861"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.862"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.863"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:12 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:12.863"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 15:50:15.711"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 15:50:16.949"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 15:50:16.962"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 15:50:16.963"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.329"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.356"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.359"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.372"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.374"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.383"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.385"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.385"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.386"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.388"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.389"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.391"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.391"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.392"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.393"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.394"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.395"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.396"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.397"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.397"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.398"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.399"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.400"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.400"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.401"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:50:20 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:50:20.401"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 15:51:07.723"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 15:51:08.828"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 15:51:08.842"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 15:51:08.843"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:10 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:10.964"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:10 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:10.987"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:10 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:10.988"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:10 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:10.997"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:10 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:10.998"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.005"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.007"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.009"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.011"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.013"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.013"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.016"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.016"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.017"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.018"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.019"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.019"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.021"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.022"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.023"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.023"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.024"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.025"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.026"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.026"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:11 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:11.026"}
{"error":"(conn:2863, no: 1054, SQLState: 42S22) Unknown column 'slug' in 'WHERE'\nsql: SELECT id FROM tenants WHERE slug = ? LIMIT 1 - parameters:['pham-holdings']","level":"error","message":"Register error","timestamp":"2026-04-23 15:51:38.680"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:51:38 +0000] \"POST /api/auth/register HTTP/1.1\" 500 84 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:51:38.681"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 15:54:13.631"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 15:54:48.403"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 15:54:48.417"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 15:54:48.418"}
{"error":"(conn:2874, no: 1054, SQLState: 42S22) Unknown column 'slug' in 'WHERE'\nsql: SELECT id FROM tenants WHERE slug = ? LIMIT 1 - parameters:['pham-holdings']","level":"error","message":"Register error","stack":"SqlError: (conn:2874, no: 1054, SQLState: 42S22) Unknown column 'slug' in 'WHERE'\nsql: SELECT id FROM tenants WHERE slug = ? LIMIT 1 - parameters:['pham-holdings']\n    at Module.createError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/misc/errors.js:66:10)\n    at PacketNodeEncoded.readError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet.js:595:19)\n    at Query.handleErrorPacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:92:24)\n    at Query.readResponsePacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:70:21)\n    at PacketInputStream.receivePacketBasic (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:94:9)\n    at PacketInputStream.onData (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:151:20)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)","timestamp":"2026-04-23 15:54:52.537"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:54:52 +0000] \"POST /api/auth/register HTTP/1.1\" 500 219 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 15:54:52.539"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 15:57:02.633"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 15:57:25.272"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 15:57:25.285"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 15:57:25.286"}
{"error":"(conn:2883, no: 1364, SQLState: HY000) Field 'tenant_id' doesn't have a default value\nsql: INSERT INTO tenants (id, name, slug, plan, region, industry, status, trial_ends_at)\n       VALUES (?, ?, ?, 'starter', ?, ?, 'trial', ?) - parameters:['52c7139d-03f0-48cf-80f4-f2a251dfb018','Pham Holdings','pham-holdings','us','Technology','05/07/2026 15:5...","level":"error","message":"Register error","stack":"SqlError: (conn:2883, no: 1364, SQLState: HY000) Field 'tenant_id' doesn't have a default value\nsql: INSERT INTO tenants (id, name, slug, plan, region, industry, status, trial_ends_at)\n       VALUES (?, ?, ?, 'starter', ?, ?, 'trial', ?) - parameters:['52c7139d-03f0-48cf-80f4-f2a251dfb018','Pham Holdings','pham-holdings','us','Technology','05/07/2026 15:5...\n    at Module.createError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/misc/errors.js:66:10)\n    at PacketNodeEncoded.readError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet.js:595:19)\n    at Query.handleErrorPacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:92:24)\n    at Query.readResponsePacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:70:21)\n    at PacketInputStream.receivePacketBasic (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:94:9)\n    at PacketInputStream.onData (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:151:20)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)","timestamp":"2026-04-23 15:57:28.204"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:22:57:28 +0000] \"POST /api/auth/register HTTP/1.1\" 500 417 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 15:57:28.206"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 16:04:27.282"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 16:07:00.278"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 16:07:00.292"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 16:07:00.293"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.685"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.699"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.702"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.705"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.710"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.711"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.712"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.714"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.716"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.717"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.718"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.719"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.720"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.720"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.721"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.723"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.723"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.725"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.727"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.728"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.728"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.730"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.731"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.731"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.732"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:03 +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-23 16:07:03.732"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.535"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.552"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.553"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.562"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.564"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.565"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.567"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.570"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.574"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.576"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.577"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.580"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.583"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.584"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.586"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.588"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.589"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.590"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.591"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.592"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.593"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.594"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.595"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.595"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.596"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:10 +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-23 16:07:10.596"}
{"error":"(conn:2889, no: 1364, SQLState: HY000) Field 'tenant_id' doesn't have a default value\nsql: INSERT INTO tenants (id, name, slug, plan, region, industry, status, trial_ends_at)\n       VALUES (?, ?, ?, 'starter', ?, ?, 'trial', ?) - parameters:['43c4823c-3391-42f2-ba4a-616b406c9ce7','Pham Holdings','pham-holdings','us','Technology','05/07/2026 16:0...","level":"error","message":"Register error","stack":"SqlError: (conn:2889, no: 1364, SQLState: HY000) Field 'tenant_id' doesn't have a default value\nsql: INSERT INTO tenants (id, name, slug, plan, region, industry, status, trial_ends_at)\n       VALUES (?, ?, ?, 'starter', ?, ?, 'trial', ?) - parameters:['43c4823c-3391-42f2-ba4a-616b406c9ce7','Pham Holdings','pham-holdings','us','Technology','05/07/2026 16:0...\n    at Module.createError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/misc/errors.js:66:10)\n    at PacketNodeEncoded.readError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet.js:595:19)\n    at Query.handleErrorPacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:92:24)\n    at Query.readResponsePacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:70:21)\n    at PacketInputStream.receivePacketBasic (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:94:9)\n    at PacketInputStream.onData (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:151:20)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)","timestamp":"2026-04-23 16:07:40.939"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:07:40 +0000] \"POST /api/auth/register HTTP/1.1\" 500 417 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:07:40.941"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 16:08:43.889"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 16:09:11.163"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 16:09:11.176"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 16:09:11.177"}
{"email":"thien.pham@phamholdings.com","level":"info","message":"New tenant registered","slug":"pham-holdings","tenantId":"83f0c0b9-62d8-44a6-913e-a7965d22a42c","timestamp":"2026-04-23 16:09:14.620"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:14 +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-23 16:09:14.622"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:14 +0000] \"GET /api/auth/me HTTP/1.1\" 200 396 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:09:14.700"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:14 +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-23 16:09:14.733"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:14 +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-23 16:09:14.740"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:14 +0000] \"GET /api/dashboard HTTP/1.1\" 500 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-23 16:09:14.743"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09: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-23 16:09:16.710"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:16 +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-23 16:09:16.720"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:16 +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-23 16:09:16.722"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:22 +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-23 16:09:22.126"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:22 +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-23 16:09:22.730"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:23 +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-23 16:09:23.686"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:23 +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-23 16:09:23.702"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:23 +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-23 16:09:23.703"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:23 +0000] \"GET /api/dashboard HTTP/1.1\" 500 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-23 16:09:23.703"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09: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-23 16:09:44.143"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09: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-23 16:09:44.150"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09: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-23 16:09:44.153"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09: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-23 16:09:44.804"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:44 +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-23 16:09:44.818"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09: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-23 16:09:45.492"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:45 +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-23 16:09:45.501"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09: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-23 16:09:46.670"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:46 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 500 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-23 16:09:46.679"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09: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-23 16:09:47.669"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:47 +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-23 16:09:47.680"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09: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-23 16:09:48.914"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:48 +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-23 16:09:48.924"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09: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-23 16:09:50.238"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:50 +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-23 16:09:50.248"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09: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-23 16:09:51.305"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:51 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 500 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-23 16:09:51.313"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:53 +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-23 16:09:53.036"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:53 +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-23 16:09:53.046"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:53 +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-23 16:09:53.732"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:53 +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-23 16:09:53.744"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09: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-23 16:09:55.586"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:55 +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-23 16:09:55.597"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:55 +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-23 16:09:55.599"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09: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-23 16:09:57.380"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:57 +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-23 16:09:57.395"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:09:57 +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-23 16:09:57.418"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:10:06 +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-23 16:10:06.145"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:10:06 +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-23 16:10:06.151"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:10:10 +0000] \"GET /api/users HTTP/1.1\" 200 404 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:10:10.044"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:10: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-23 16:10:12.262"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:10: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-23 16:10:22.367"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:10:22 +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-23 16:10:22.387"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:10:22 +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-23 16:10:22.390"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:10:22 +0000] \"GET /api/dashboard HTTP/1.1\" 500 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-23 16:10:22.391"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:10:25 +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-23 16:10:25.569"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:10: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-23 16:10:25.577"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:10:25 +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-23 16:10:25.579"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 16:14:20.346"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 16:14:25.057"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 16:14:25.071"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 16:14:25.072"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.197"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.212"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.214"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.224"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.225"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.230"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.232"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.234"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.236"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.237"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.240"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.241"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.243"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.244"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.245"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.247"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.248"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.248"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.249"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.250"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.251"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.252"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.253"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.253"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.253"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.254"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14:28 +0000] \"GET /api/auth/me HTTP/1.1\" 200 396 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:14:28.262"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.270"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:28.272"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:29.507"}
{"level":"error","message":"Unhandled rejection","reason":"ReferenceError: logger is not defined","timestamp":"2026-04-23 16:14:29.518"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:34.207"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14: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-23 16:14:34.214"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14:36 +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-23 16:14:36.756"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14:42 +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-23 16:14:42.245"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:14:42 +0000] \"GET /.well-known/appspecific/com.chrome.devtools.json HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:14:42.253"}
{"level":"error","message":"Unhandled rejection","reason":"ReferenceError: logger is not defined","timestamp":"2026-04-23 16:14:56.772"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.478"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +0000] \"GET /api/dashboard HTTP/1.1\" - - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:15:45.488"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +0000] \"GET /api/dashboard HTTP/1.1\" - - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:15:45.488"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.500"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.500"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.509"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.509"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.511"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.513"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.516"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.517"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.518"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.519"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.522"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.523"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.525"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.526"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.527"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.528"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.531"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.532"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.533"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.535"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.537"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.538"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.539"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.540"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +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-23 16:15:45.540"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:45 +0000] \"GET /api/auth/me HTTP/1.1\" 200 396 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:15:45.548"}
{"level":"error","message":"Unhandled rejection","reason":"ReferenceError: logger is not defined","timestamp":"2026-04-23 16:15:45.553"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15: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-23 16:15:47.155"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15: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-23 16:15:47.160"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.471"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.480"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.480"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.484"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.485"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.486"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.487"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.488"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.489"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.490"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.491"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.492"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.493"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.494"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.495"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.495"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.496"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.497"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.499"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.499"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.500"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.501"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.502"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.503"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.504"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:51 +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-23 16:15:51.505"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15: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-23 16:15:51.513"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:56 +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-23 16:15:56.705"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:56 +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-23 16:15:56.710"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:58 +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-23 16:15:58.512"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:15:59 +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-23 16:15:59.006"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16: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-23 16:16:00.603"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:01 +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-23 16:16:01.114"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16: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-23 16:16:04.040"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16: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-23 16:16:04.050"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:04 +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-23 16:16:04.071"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16: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-23 16:16:04.850"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:04 +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-23 16:16:04.860"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:04 +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-23 16:16:04.862"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:05 +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-23 16:16:05.389"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:05 +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-23 16:16:05.404"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:06 +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-23 16:16:06.332"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:06 +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-23 16:16:06.340"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:06 +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-23 16:16:06.770"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:06 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 500 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-23 16:16:06.779"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:07 +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-23 16:16:07.251"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:07 +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-23 16:16:07.258"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:07 +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-23 16:16:07.861"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:07 +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-23 16:16:07.872"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:07 +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-23 16:16:07.875"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16: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-23 16:16:08.592"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16: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-23 16:16:11.114"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16: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-23 16:16:11.123"}
{"level":"error","message":"Unhandled rejection","reason":"ReferenceError: logger is not defined","timestamp":"2026-04-23 16:16:11.543"}
{"level":"error","message":"Unhandled rejection","reason":"ReferenceError: logger is not defined","timestamp":"2026-04-23 16:16:28.603"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:16:52 +0000] \"GET /api/dashboard HTTP/1.1\" - - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:16:52.393"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:21:34 +0000] \"GET /api/dashboard HTTP/1.1\" - - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:21:34.941"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:21:34 +0000] \"GET /api/dashboard HTTP/1.1\" - - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:21:34.942"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 16:22:11.117"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 16:22:15.808"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 16:22:15.822"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 16:22:15.822"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.116"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.135"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.136"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.145"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.146"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.152"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.154"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.157"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.158"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.159"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.160"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.163"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.164"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.166"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.167"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.170"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.171"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.171"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.172"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.174"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.175"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.176"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.176"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.177"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.184"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.184"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:18 +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-23 16:22:18.197"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:18.204"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:19.975"}
{"error":"(conn:2909, no: 1146, SQLState: 42S02) Table 'bgrc.evidence' doesn't exist\nsql: SELECT e.*, (SELECT COUNT(*) FROM control_evidence ce WHERE ce.evidence_id = e.id) as linked_controls\n       FROM evidence e\n       WHERE e.tenant_id = ? AND e.is_expired = FALSE AND e.valid_until IS NOT NULL\n       AND e.valid_until <= DATE_ADD(CURDATE(),...","level":"error","message":"Dashboard overview error","stack":"SqlError: (conn:2909, no: 1146, SQLState: 42S02) Table 'bgrc.evidence' doesn't exist\nsql: SELECT e.*, (SELECT COUNT(*) FROM control_evidence ce WHERE ce.evidence_id = e.id) as linked_controls\n       FROM evidence e\n       WHERE e.tenant_id = ? AND e.is_expired = FALSE AND e.valid_until IS NOT NULL\n       AND e.valid_until <= DATE_ADD(CURDATE(),...\n    at Module.createError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/misc/errors.js:66:10)\n    at PacketNodeEncoded.readError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet.js:595:19)\n    at Query.handleErrorPacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:92:24)\n    at Query.readResponsePacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:70:21)\n    at PacketInputStream.receivePacketBasic (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:94:9)\n    at PacketInputStream.onData (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:151:20)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)","timestamp":"2026-04-23 16:22:19.988"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:19 +0000] \"GET /api/dashboard HTTP/1.1\" 500 408 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:22:19.989"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.016"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.040"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.041"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.048"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.054"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.057"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.058"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.060"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.061"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.062"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.065"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.066"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.067"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.068"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.071"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.071"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.074"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.075"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.076"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.076"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.077"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.077"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.078"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.079"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.079"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:28.079"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:28 +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-23 16:22:28.086"}
{"error":"(conn:2910, no: 1146, SQLState: 42S02) Table 'bgrc.evidence' doesn't exist\nsql: SELECT e.*, (SELECT COUNT(*) FROM control_evidence ce WHERE ce.evidence_id = e.id) as linked_controls\n       FROM evidence e\n       WHERE e.tenant_id = ? AND e.is_expired = FALSE AND e.valid_until IS NOT NULL\n       AND e.valid_until <= DATE_ADD(CURDATE(),...","level":"error","message":"Dashboard overview error","stack":"SqlError: (conn:2910, no: 1146, SQLState: 42S02) Table 'bgrc.evidence' doesn't exist\nsql: SELECT e.*, (SELECT COUNT(*) FROM control_evidence ce WHERE ce.evidence_id = e.id) as linked_controls\n       FROM evidence e\n       WHERE e.tenant_id = ? AND e.is_expired = FALSE AND e.valid_until IS NOT NULL\n       AND e.valid_until <= DATE_ADD(CURDATE(),...\n    at Module.createError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/misc/errors.js:66:10)\n    at PacketNodeEncoded.readError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet.js:595:19)\n    at Query.handleErrorPacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:92:24)\n    at Query.readResponsePacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:70:21)\n    at PacketInputStream.receivePacketBasic (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:94:9)\n    at PacketInputStream.onData (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:151:20)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)","timestamp":"2026-04-23 16:22:28.090"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:28 +0000] \"GET /api/dashboard HTTP/1.1\" 500 408 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:22:28.091"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:35.237"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:35.251"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22: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-23 16:22:35.253"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:36 +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-23 16:22:36.061"}
{"error":"(conn:2913, no: 1146, SQLState: 42S02) Table 'bgrc.evidence' doesn't exist\nsql: SELECT e.*, (SELECT COUNT(*) FROM control_evidence ce WHERE ce.evidence_id = e.id) as linked_controls\n       FROM evidence e\n       WHERE e.tenant_id = ? AND e.is_expired = FALSE AND e.valid_until IS NOT NULL\n       AND e.valid_until <= DATE_ADD(CURDATE(),...","level":"error","message":"Dashboard overview error","stack":"SqlError: (conn:2913, no: 1146, SQLState: 42S02) Table 'bgrc.evidence' doesn't exist\nsql: SELECT e.*, (SELECT COUNT(*) FROM control_evidence ce WHERE ce.evidence_id = e.id) as linked_controls\n       FROM evidence e\n       WHERE e.tenant_id = ? AND e.is_expired = FALSE AND e.valid_until IS NOT NULL\n       AND e.valid_until <= DATE_ADD(CURDATE(),...\n    at Module.createError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/misc/errors.js:66:10)\n    at PacketNodeEncoded.readError (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet.js:595:19)\n    at Query.handleErrorPacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:92:24)\n    at Query.readResponsePacket (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/cmd/parser.js:70:21)\n    at PacketInputStream.receivePacketBasic (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:94:9)\n    at PacketInputStream.onData (file:///Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/mariadb/lib/io/packet-input-stream.js:151:20)\n    at Socket.emit (node:events:519:28)\n    at addChunk (node:internal/streams/readable:561:12)\n    at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)\n    at Readable.push (node:internal/streams/readable:392:5)","timestamp":"2026-04-23 16:22:36.070"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:22:36 +0000] \"GET /api/dashboard HTTP/1.1\" 500 408 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:22:36.071"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 16:23:46.382"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 16:26:55.565"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 16:26:55.578"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 16:26:55.579"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26:58 +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-23 16:26:58.094"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.106"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.108"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.112"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.113"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.116"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.117"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.119"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.120"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.122"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.122"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.123"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.124"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.125"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.126"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.127"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.127"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.129"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.129"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.131"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.132"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.133"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.133"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.134"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.134"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26: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-23 16:26:58.135"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26:58 +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-23 16:26:58.142"}
{"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:['3ad49488a2e9338559ae93ec56cb7c5f46e07893d67b6d858f6...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 16:26:58.150"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:26:58 +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-23 16:26:58.150"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:08.096"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:08 +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-23 16:27:08.129"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:08 +0000] \"GET /api/dashboard HTTP/1.1\" 200 520 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:27:08.145"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:08.159"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:08.162"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:11.782"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:11.793"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:11 +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-23 16:27:11.797"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:12.347"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:12 +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-23 16:27:12.361"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:13.153"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:13 +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-23 16:27:13.166"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:13 +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-23 16:27:13.174"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:13 +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-23 16:27:13.175"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:20.058"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:20 +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-23 16:27:20.067"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:20 +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-23 16:27:20.070"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:21.040"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:21 +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-23 16:27:21.050"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:21 +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-23 16:27:21.058"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:21 +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-23 16:27:21.060"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:25 +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-23 16:27:25.703"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:25.712"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:25 +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-23 16:27:25.714"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:26 +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-23 16:27:26.387"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:26 +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-23 16:27:26.398"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:27.228"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:27.235"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:27 +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-23 16:27:27.236"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:27 +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-23 16:27:27.987"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:28.631"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:29.468"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:29.473"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:30.038"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:30 +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-23 16:27:30.766"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:30 +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-23 16:27:30.768"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:31 +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-23 16:27:31.588"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:32.368"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:32 +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-23 16:27:32.379"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:39.392"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:39 +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-23 16:27:39.402"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27: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-23 16:27:40.375"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:40 +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-23 16:27:40.385"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:42 +0000] \"GET /api/evidence/expiring?days=30 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-23 16:27:42.839"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:49 +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-23 16:27:49.413"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:49 +0000] \"GET /.well-known/appspecific/com.chrome.devtools.json HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:27:49.422"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.470"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /.well-known/appspecific/com.chrome.devtools.json HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:27:54.487"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.493"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.494"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.507"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.507"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.510"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.512"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.514"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.515"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.517"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.518"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.520"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.525"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.527"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.528"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.531"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.532"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.534"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.536"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.536"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.537"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.538"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.539"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.540"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.541"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.542"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /api/auth/me HTTP/1.1\" 200 442 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.549"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:54 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:54.554"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:56 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:56.800"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:56 +0000] \"GET /api/dashboard HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:56.815"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:56 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:56.825"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:56 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:56.826"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:58 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:58.380"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:58 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:58.393"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:58 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:58.396"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:59 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:59.159"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:27:59 +0000] \"GET /api/controls?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:27:59.168"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:01 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:01.686"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:01 +0000] \"GET /api/risks?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:01.697"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:02 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:02.265"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:02 +0000] \"GET /api/vendors?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:02.274"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:02 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:02.907"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:02 +0000] \"GET /api/incidents/stats HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:02.919"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:02 +0000] \"GET /api/incidents?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:02.921"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:04 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:04.581"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:04 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:04.589"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:04 +0000] \"GET /api/audits?limit=100 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:04.600"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:05 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:05.484"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:05 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:05.492"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:07 +0000] \"GET /api/users HTTP/1.1\" 200 426 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:07.385"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:08 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:08.117"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:09 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:09.627"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:10 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:10.900"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:10 +0000] \"GET /api/dashboard HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:10.907"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:10 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:10.914"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:10 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:10.916"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:12 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:12.386"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:12 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:12.396"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:12 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:12.398"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:23 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:23.224"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:25 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:25.309"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:26 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:26.039"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:26 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:26.612"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:26 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:26.614"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:28 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:28.636"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:28 +0000] \"GET /api/dashboard HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:28.645"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:28 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:28.652"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:28 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:28.653"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:30 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:30.026"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:28:30 +0000] \"GET /api/controls?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:28:30.038"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET / HTTP/1.1\" 200 948 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.332"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /.well-known/appspecific/com.chrome.devtools.json HTTP/1.1\" 200 948 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 16:31:48.361"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.368"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.368"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.379"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.380"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.383"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.385"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.388"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.389"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.390"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.392"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.394"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.396"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.398"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.399"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.400"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.400"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.402"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.403"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.404"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.405"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.406"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.406"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.406"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.408"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.408"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /api/auth/me HTTP/1.1\" 200 442 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.417"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:31:48 +0000] \"GET /api/controls?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:31:48.422"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:32:08 +0000] \"POST /api/controls HTTP/1.1\" 201 512 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:32:08.134"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:32:08 +0000] \"GET /api/controls?page=1&limit=25 HTTP/1.1\" 200 590 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:32:08.142"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:32:10 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:32:10.568"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:32:10 +0000] \"GET /api/audits?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:32:10.578"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:32:40 +0000] \"POST /api/audits HTTP/1.1\" 201 623 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:32:40.060"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:32:40 +0000] \"GET /api/audits?page=1&limit=25 HTTP/1.1\" 200 738 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:32:40.073"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:32:42 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:32:42.330"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:32:42 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:32:42.342"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:32:47 +0000] \"GET /api/evidence/expiring?days=30 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:32:47.455"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:32:51 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:32:51.011"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:32:51 +0000] \"GET /api/policies?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:32:51.019"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:32:58 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:32:58.880"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:32:58 +0000] \"GET /api/risks?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:32:58.889"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:33:02 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:33:02.555"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:33:02 +0000] \"GET /api/vendors?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:33:02.563"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:33:06 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:33:06.927"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:33:06 +0000] \"GET /api/incidents/stats HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:33:06.940"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:33:06 +0000] \"GET /api/incidents?page=1&limit=25 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:33:06.940"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:33:08 +0000] \"GET /api/auth/me HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:33:08.022"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:33:08 +0000] \"GET /api/dashboard HTTP/1.1\" 200 846 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:33:08.033"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:33:08 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:33:08.038"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:33:08 +0000] \"GET /api/dashboard/risk-heatmap HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 16:33:08.039"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.534"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.556"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.556"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.565"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.566"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.569"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.570"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.572"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.574"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.575"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.576"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.578"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.579"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.580"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.582"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.584"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.584"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.586"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.587"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.588"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.589"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.591"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.592"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.593"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.593"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.594"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.601"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.609"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.613"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:04 +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-23 16:34:04.613"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.863"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.885"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.887"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.897"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.898"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.901"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.902"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.906"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.912"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.918"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.918"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.920"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.924"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.925"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.926"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.928"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.929"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.931"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.931"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.932"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.932"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.939"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.940"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.940"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.941"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.941"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.946"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.952"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.956"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:34:49 +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-23 16:34:49.957"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:41:29 +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-23 16:41:29.088"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.113"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.113"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.124"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.126"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.129"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.130"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.132"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.135"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.136"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.137"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.139"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.143"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.146"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.147"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.148"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.149"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.150"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.151"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.153"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.154"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.154"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.155"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.155"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.157"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23: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-23 16:41:29.158"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:41:29 +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-23 16:41:29.165"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:41:29 +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-23 16:41:29.189"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:41: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-23 16:41:29.195"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:41:29 +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-23 16:41:29.197"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44:34 +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-23 16:44:34.786"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.813"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.814"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.821"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.824"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.825"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.827"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.828"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.830"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.831"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.832"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.835"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.836"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.837"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.838"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.839"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.840"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.842"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.843"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.843"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.844"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.845"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.846"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.846"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.847"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44: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-23 16:44:34.847"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44:34 +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-23 16:44:34.853"}
{"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:['0eab6c813cc9a8ffca7d00ceb77c652842e591a14c4b0923d7e...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 16:44:34.856"}
{"level":"info","message":"127.0.0.1 - - [23/Apr/2026:23:44:34 +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-23 16:44:34.856"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 16:59:57.170"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 17:00:01.235"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 17:00:01.248"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 17:00:01.249"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.040"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.057"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.058"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.065"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.072"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.073"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.075"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.076"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.078"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.080"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.081"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.082"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.083"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.084"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.085"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.086"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.087"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.088"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.089"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.090"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.091"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.091"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.092"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.092"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.093"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:03 +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-23 17:00:03.093"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:18 +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-23 17:00:18.949"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:18 +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-23 17:00:18.988"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:18 +0000] \"GET /api/dashboard HTTP/1.1\" 200 975 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 17:00:18.999"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00: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-23 17:00:19.004"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00: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-23 17:00:19.006"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00: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-23 17:00:21.453"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00: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-23 17:00:21.462"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:24 +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-23 17:00:24.203"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:25 +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-23 17:00:25.314"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:26 +0000] \"POST /api/auth/mfa/setup HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 17:00:26.845"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00:50 +0000] \"POST /api/auth/mfa/verify HTTP/1.1\" 200 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-23 17:00:50.052"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:00: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-23 17:00:50.061"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.262"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.278"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.280"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.283"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.288"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.289"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.292"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.293"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.295"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.296"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.299"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.300"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.302"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.302"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.303"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.305"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.308"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.309"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.310"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.311"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.312"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.314"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.315"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.315"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.316"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.317"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.324"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:07 +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-23 17:06:07.329"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:06:09 +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-23 17:06:09.178"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20:02 +0000] \"POST /api/auth/login 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-23 17:20:02.394"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20:13 +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-23 17:20:13.348"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20: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-23 17:20:13.365"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20:13 +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-23 17:20:13.376"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20:13 +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-23 17:20:13.381"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20:13 +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-23 17:20:13.382"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20: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-23 17:20:15.844"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20: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-23 17:20:15.852"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20: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-23 17:20:17.509"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20:25 +0000] \"POST /api/auth/mfa/disable HTTP/1.1\" 200 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-23 17:20:25.072"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20: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-23 17:20:25.079"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20: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-23 17:20:28.867"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20: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-23 17:20:28.876"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20: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-23 17:20:28.880"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:20: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-23 17:20:30.084"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.332"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.359"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.360"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.364"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.369"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.372"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.373"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.374"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.376"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.377"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.380"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.382"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.383"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.384"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.385"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.386"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.389"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.390"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.390"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.391"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.392"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.392"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.394"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.394"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.395"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.396"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23:28 +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-23 17:23:28.402"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.407"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:28.408"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:23: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-23 17:23:29.992"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:32:51 +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-23 17:32:51.563"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:32:51 +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-23 17:32:51.565"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:32:52 +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-23 17:32:52.330"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:32:56 +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-23 17:32:56.610"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:32:57 +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-23 17:32:57.222"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:35:57 +0000] \"POST /api/auth/login HTTP/1.1\" 401 84 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-23 17:35:57.041"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:36:01 +0000] \"GET /api/frameworks HTTP/1.1\" 401 88 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-23 17:36:01.346"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:36:11 +0000] \"POST /api/auth/login HTTP/1.1\" 401 84 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-23 17:36:11.863"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:00:36:25 +0000] \"POST /api/auth/login HTTP/1.1\" 401 84 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-23 17:36:25.555"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 18:01:19.449"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 18:01:23.411"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 18:01:23.423"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 18:01:23.423"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.891"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.908"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.909"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.920"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.921"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.926"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.928"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.931"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.933"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.935"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.936"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.938"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.939"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.940"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.941"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.942"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.943"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.945"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.945"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.946"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.947"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.948"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.948"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.949"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.950"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:26.950"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01:26 +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-23 18:01:26.958"}
{"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:['89a41edb3da1a2fa69bd164e374113f03f5fc797413acf5940b...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 18:01:26.967"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01:26 +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-23 18:01:26.968"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01:43 +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-23 18:01:43.805"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01:43 +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-23 18:01:43.820"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01:43 +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-23 18:01:43.833"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01:43 +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-23 18:01:43.840"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01:43 +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-23 18:01:43.841"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:45.826"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:45.838"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:45.839"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01:47 +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-23 18:01:47.787"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01:53 +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-23 18:01:53.089"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01:53 +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-23 18:01:53.094"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:01: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-23 18:01:53.900"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:03 +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-23 18:02:03.854"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:03 +0000] \"GET /.well-known/appspecific/com.chrome.devtools.json HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 18:02:03.866"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.810"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /.well-known/appspecific/com.chrome.devtools.json HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 18:02:09.833"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.838"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.840"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.847"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.850"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.854"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.855"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.856"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.857"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.859"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.861"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.862"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.864"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.865"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.866"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.868"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.870"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.871"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.872"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.874"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.874"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.876"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.877"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.878"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.878"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.879"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /api/auth/me HTTP/1.1\" 200 442 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.887"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.894"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:09 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:09.895"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:02:11 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:02:11.586"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET / HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.808"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /.well-known/appspecific/com.chrome.devtools.json HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 18:06:06.825"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/app.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.830"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /css/main.css HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.831"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/router.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.840"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/api.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.841"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/store.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.843"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/components/sidebar.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.846"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/dashboard.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.847"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/register.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.849"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/login.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.849"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/risks.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.852"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/controls.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.853"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/compliance.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.855"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/audits.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.856"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/policies.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.858"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/vendors.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.860"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/incidents.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.861"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/evidence.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.863"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/reports.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.864"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/settings.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.866"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/views/superadmin.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.867"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/components/toast.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.867"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/components/charts.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.868"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/components/heatmap.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.869"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/components/modal.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.869"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /js/components/table.js HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.870"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /api/auth/me HTTP/1.1\" 200 442 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.879"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.884"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:06 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:06.886"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:08 +0000] \"GET /api/frameworks HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:08.434"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:10 +0000] \"POST /api/frameworks/activate HTTP/1.1\" 200 79 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:10.208"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:10 +0000] \"GET /api/frameworks/tenant HTTP/1.1\" 200 609 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:10.223"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:10 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 200 237 \"-\" \"Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Mobile Safari/537.36\"","timestamp":"2026-04-23 18:06:10.226"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:17 +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-23 18:06:17.074"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:17 +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-23 18:06:17.694"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:17 +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-23 18:06:17.695"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:18 +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-23 18:06:18.407"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:18 +0000] \"GET /api/frameworks/a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d/requirements HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 18:06:18.420"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:20 +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-23 18:06:20.070"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:20 +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-23 18:06:20.760"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:20 +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-23 18:06:20.763"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:21 +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-23 18:06:21.662"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:21 +0000] \"GET /api/frameworks/a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 18:06:21.674"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:22 +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-23 18:06:22.480"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:24 +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-23 18:06:24.015"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:24 +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-23 18:06:24.017"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:36 +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-23 18:06:36.176"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:06:36 +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-23 18:06:36.177"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11: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-23 18:11:12.038"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11:12 +0000] \"GET /api/frameworks/a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 18:11:12.047"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11:25 +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-23 18:11:25.151"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11:27 +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-23 18:11:27.067"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11:27 +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-23 18:11:27.083"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11:27 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 200 427 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 18:11:27.084"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11:32 +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-23 18:11:32.487"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11:32 +0000] \"GET /api/frameworks/e5f6a1b2-c3d4-4e5f-8a1b-2c3d4e5f6a1b/requirements HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 18:11:32.496"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11:54 +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-23 18:11:54.510"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11:54 +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-23 18:11:54.525"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11: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-23 18:11:55.331"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11:55 +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-23 18:11:55.339"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11: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-23 18:11:57.218"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:11:57 +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-23 18:11:57.234"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:23 +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-23 18:12:23.859"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:23 +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-23 18:12:23.866"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:24 +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-23 18:12:24.721"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:24 +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-23 18:12:24.735"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:26 +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-23 18:12:26.254"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:26 +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-23 18:12:26.262"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12: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-23 18:12:27.778"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:27 +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-23 18:12:27.790"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12: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-23 18:12:27.792"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12: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-23 18:12:28.550"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:28 +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-23 18:12:28.558"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12: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-23 18:12:30.021"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:30 +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-23 18:12:30.031"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12: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-23 18:12:30.567"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:30 +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-23 18:12:30.575"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12: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-23 18:12:31.054"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:31 +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-23 18:12:31.064"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:31 +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-23 18:12:31.066"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12: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-23 18:12:31.547"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:31 +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-23 18:12:31.557"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12:31 +0000] \"GET /api/audits?limit=100 HTTP/1.1\" 200 739 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 18:12:31.565"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12: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-23 18:12:32.083"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:12: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-23 18:12:32.092"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13: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-23 18:13:11.386"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:11 +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-23 18:13:11.395"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:11 +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-23 18:13:11.402"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:13 +0000] \"GET /api/reports/compliance-gap?format=pdf HTTP/1.1\" 400 86 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 18:13:13.527"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:19 +0000] \"GET /api/reports/compliance-gap?format=csv&frameworkId=e5f6a1b2-c3d4-4e5f-8a1b-2c3d4e5f6a1b HTTP/1.1\" 400 86 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 18:13:19.638"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:20 +0000] \"GET /api/reports/compliance-gap?format=pdf&frameworkId=e5f6a1b2-c3d4-4e5f-8a1b-2c3d4e5f6a1b HTTP/1.1\" 400 86 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 18:13:20.371"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:23 +0000] \"GET /api/reports/compliance-gap?format=pdf&frameworkId=a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d HTTP/1.1\" 400 86 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 18:13:23.459"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:26 +0000] \"GET /api/reports/audit-findings?format=pdf&auditId=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-23 18:13:26.702"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:42 +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-23 18:13:42.562"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:42 +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-23 18:13:42.572"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:42 +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-23 18:13:42.575"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13: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-23 18:13:44.335"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:44 +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-23 18:13:44.344"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13: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-23 18:13:44.934"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:44 +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-23 18:13:44.943"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13: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-23 18:13:45.537"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:45 +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-23 18:13:45.543"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13: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-23 18:13:46.165"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:01:13:46 +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-23 18:13:46.176"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 20:42:37.024"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 20:42:40.754"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 20:42:40.768"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 20:42:40.769"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.488"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.505"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.507"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.516"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.520"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.527"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.531"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.536"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.538"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.540"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.540"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.542"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.543"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.545"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.545"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.546"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.547"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.549"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.549"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.550"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.551"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.551"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.552"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.553"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.554"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:08 +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-23 20:43:08.555"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43: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-23 20:43:08.562"}
{"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:['665d4edf47988cab8700d0783e09563c62bb6e89f933087df3a...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 20:43:08.573"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43: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-23 20:43:08.573"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:20 +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-23 20:43:20.676"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:20 +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-23 20:43:20.715"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:20 +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-23 20:43:20.724"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:20 +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-23 20:43:20.729"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:20 +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-23 20:43:20.732"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:23 +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-23 20:43:23.985"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:23 +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-23 20:43:24.000"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:24 +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-23 20:43:24.001"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:25 +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-23 20:43:25.782"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:25 +0000] \"GET /api/frameworks/e5f6a1b2-c3d4-4e5f-8a1b-2c3d4e5f6a1b/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 20:43:25.796"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:27 +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-23 20:43:27.584"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43: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-23 20:43:27.587"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43: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-23 20:43:29.771"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:29 +0000] \"GET /api/frameworks/a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 20:43:29.780"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:31 +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-23 20:43:31.542"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43: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-23 20:43:31.544"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:39 +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-23 20:43:39.024"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:46 +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-23 20:43:46.652"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:46 +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-23 20:43:46.673"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:43:46 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 200 617 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 20:43:46.675"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:54:44 +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-23 20:54:44.092"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:54:49 +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-23 20:54:49.618"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:54:49 +0000] \"GET /api/frameworks/b2c3d4e5-f6a1-4b2c-8d4e-5f6a1b2c3d4e/requirements HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 20:54:49.628"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:54:50 +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-23 20:54:50.479"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:54:51 +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-23 20:54:51.187"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:54:51 +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-23 20:54:51.190"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:54: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-23 20:54:53.519"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:54:56 +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-23 20:54:56.389"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:54:56 +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-23 20:54:56.409"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:54:56 +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-23 20:54:56.410"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:54:58 +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-23 20:54:58.778"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:54:58 +0000] \"GET /api/frameworks/a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 20:54:58.796"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:55:05 +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-23 20:55:05.925"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03: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-23 20:55:05.927"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03: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-23 20:55:18.163"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:55:18 +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-23 20:55:18.176"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:55: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-23 20:55:19.414"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:55:19 +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-23 20:55:19.430"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:55: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-23 20:55:20.821"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:55:20 +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-23 20:55:20.832"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:55: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-23 20:55:21.819"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:55:21 +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-23 20:55:21.833"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:55: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-23 20:55:22.533"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:55:22 +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-23 20:55:22.541"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:56:04 +0000] \"GET /api/evidence?page=1&limit=25&type=document 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-23 20:56:04.988"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:56:09 +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-23 20:56:09.264"}
{"error":"File type not allowed","level":"error","message":"Unhandled error","method":"POST","path":"/api/evidence","requestId":"d04a66e6-5210-4730-bb46-9f76a250a443","stack":"Error: File type not allowed\n    at fileFilter (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/server/routes/evidence.routes.js:38:10)\n    at wrappedFileFilter (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/multer/index.js:44:7)\n    at Multipart.<anonymous> (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/multer/lib/make-middleware.js:109:7)\n    at Multipart.emit (node:events:519:28)\n    at HeaderParser.cb (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:358:14)\n    at HeaderParser.push (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:162:20)\n    at SBMH.ssCb [as _cb] (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:394:37)\n    at feed (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/streamsearch/lib/sbmh.js:219:14)\n    at SBMH.push (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/streamsearch/lib/sbmh.js:104:16)\n    at Multipart._write (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:567:19)","tenantId":"83f0c0b9-62d8-44a6-913e-a7965d22a42c","timestamp":"2026-04-23 20:56:46.159"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:56:46 +0000] \"POST /api/evidence HTTP/1.1\" 500 98 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 20:56:46.162"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57:28 +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-23 20:57:28.219"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.266"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.267"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.274"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.276"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.279"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.279"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.281"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.284"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.286"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.287"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.288"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.289"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.292"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.293"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.294"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.295"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.297"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.297"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.298"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.299"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.300"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.300"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.301"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.301"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57: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-23 20:57:28.302"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57:28 +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-23 20:57:28.308"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:57:28 +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-23 20:57:28.313"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:58:30 +0000] \"POST /api/evidence 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-23 20:58:30.845"}
{"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:['0c29f9130413bd2ce5c054772c4a84431a98cc78926468b4563...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 20:58:30.852"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:58:30 +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-23 20:58:30.853"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:58:47 +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-23 20:58:47.249"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:58: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-23 20:58:47.294"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:58:47 +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-23 20:58:47.303"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:58: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-23 20:58:47.317"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:58: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-23 20:58:47.319"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:58: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-23 20:58:49.218"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:58:49 +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-23 20:58:49.228"}
{"error":"File type not allowed","level":"error","message":"Unhandled error","method":"POST","path":"/api/evidence","requestId":"5ae49b45-46b6-4b55-b9f3-16630acfc149","stack":"Error: File type not allowed\n    at fileFilter (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/server/routes/evidence.routes.js:38:10)\n    at wrappedFileFilter (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/multer/index.js:44:7)\n    at Multipart.<anonymous> (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/multer/lib/make-middleware.js:109:7)\n    at Multipart.emit (node:events:519:28)\n    at HeaderParser.cb (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:358:14)\n    at HeaderParser.push (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:162:20)\n    at SBMH.ssCb [as _cb] (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:394:37)\n    at feed (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/streamsearch/lib/sbmh.js:219:14)\n    at SBMH.push (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/streamsearch/lib/sbmh.js:104:16)\n    at Multipart._write (/Users/thienpham/Desktop/F9Networks/Software/GRC/grc-platform/node_modules/busboy/lib/types/multipart.js:567:19)","tenantId":"83f0c0b9-62d8-44a6-913e-a7965d22a42c","timestamp":"2026-04-23 20:59:11.275"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:11 +0000] \"POST /api/evidence HTTP/1.1\" 500 98 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 20:59:11.277"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:25 +0000] \"GET /health HTTP/1.1\" 200 72 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-23 20:59:25.795"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 20:59:38.745"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 20:59:45.212"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 20:59:45.225"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 20:59:45.226"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:47 +0000] \"POST /api/evidence HTTP/1.1\" 201 719 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 20:59:47.899"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:47 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 200 861 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 20:59:47.909"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:53 +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-23 20:59:53.693"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:53 +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-23 20:59:53.712"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:54 +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-23 20:59:54.420"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:54 +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-23 20:59:54.439"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:56 +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-23 20:59:56.332"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:56 +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-23 20:59:56.346"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:56 +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-23 20:59:56.349"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59: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-23 20:59:57.184"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:57 +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-23 20:59:57.200"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:57 +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-23 20:59:57.208"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:57 +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-23 20:59:57.211"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59: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-23 20:59:58.786"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:58 +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-23 20:59:58.799"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:03:59:58 +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-23 20:59:58.802"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:06 +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-23 21:00:06.458"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:06 +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-23 21:00:06.469"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00: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-23 21:00:11.136"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:11 +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-23 21:00:11.143"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00: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-23 21:00:12.321"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00: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-23 21:00:12.334"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00: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-23 21:00:12.336"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00: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-23 21:00:34.759"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:34 +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-23 21:00:34.772"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:34 +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-23 21:00:34.773"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00: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-23 21:00:37.110"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:37 +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-23 21:00:37.122"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:37 +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-23 21:00:37.131"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00: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-23 21:00:39.444"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00: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-23 21:00:39.450"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00: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-23 21:00:41.815"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:41 +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-23 21:00:41.825"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00: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-23 21:00:49.694"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:49 +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-23 21:00:49.705"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:49 +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-23 21:00:49.707"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:51 +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-23 21:00:51.337"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00: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-23 21:00:52.108"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:52 +0000] \"GET /api/frameworks/b2c3d4e5-f6a1-4b2c-8d4e-5f6a1b2c3d4e/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:00:52.116"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:58 +0000] \"GET /api/frameworks/e5f6a1b2-c3d4-4e5f-8a1b-2c3d4e5f6a1b/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:00:58.541"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:59 +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-23 21:00:59.602"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:00:59 +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-23 21:00:59.607"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:01:09 +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-23 21:01:09.488"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:01:09 +0000] \"GET /api/frameworks/b2c3d4e5-f6a1-4b2c-8d4e-5f6a1b2c3d4e/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:01:09.500"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:01:53 +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-23 21:01:53.473"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:01:53 +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-23 21:01:53.485"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:05:12 +0000] \"GET /health HTTP/1.1\" 200 72 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-23 21:05:12.699"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.512"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.540"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.541"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.548"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.551"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.556"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.558"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.560"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.563"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.564"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.565"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.568"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.571"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.573"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.574"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.575"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.576"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.578"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.579"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.580"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.581"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.581"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.582"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.582"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.583"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.583"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.589"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:09:43 +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-23 21:09:43.594"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 21:09:56.026"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 21:09:59.753"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 21:09:59.766"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 21:09:59.767"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.430"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.448"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.449"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.458"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.459"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.464"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.467"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.468"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.471"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.472"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.473"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.474"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.475"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.476"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.477"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.478"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.479"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.479"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.480"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.481"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.481"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.482"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.483"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.483"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.484"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.484"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.492"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:01 +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-23 21:10:01.498"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.867"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.886"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.886"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.892"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.892"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.893"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.893"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.894"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.896"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.897"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.898"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.898"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.900"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.900"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.901"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.901"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.902"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.904"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.904"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.905"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.905"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.907"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.908"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.909"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.909"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.910"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.917"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:03 +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-23 21:10:03.922"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.134"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.156"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.157"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.164"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.165"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.165"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.166"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.166"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.167"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.171"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.172"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.172"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.173"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.173"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.174"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.181"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.182"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.183"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.183"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.184"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.185"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.187"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.187"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.188"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.188"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.188"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10: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-23 21:10:05.194"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:05 +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-23 21:10:05.199"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:06 +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-23 21:10:06.325"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:06 +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-23 21:10:06.335"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:06 +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-23 21:10:06.344"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:06 +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-23 21:10:06.347"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10: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-23 21:10:08.326"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:08 +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-23 21:10:08.338"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10: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-23 21:10:08.338"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10: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-23 21:10:10.104"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:10 +0000] \"GET /api/frameworks/b2c3d4e5-f6a1-4b2c-8d4e-5f6a1b2c3d4e/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:10:10.118"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10: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-23 21:10:14.810"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:14 +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-23 21:10:14.818"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:33 +0000] \"PUT /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2 HTTP/1.1\" 200 511 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:10:33.438"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:33 +0000] \"GET /api/controls?page=1&limit=25 HTTP/1.1\" 200 589 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:10:33.447"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:36 +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-23 21:10:36.685"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:36 +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-23 21:10:36.702"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:36 +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-23 21:10:36.703"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10: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-23 21:10:47.953"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:47 +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-23 21:10:47.963"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:50 +0000] \"GET /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2 HTTP/1.1\" 200 549 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:10:50.397"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:10:58 +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-23 21:10:58.088"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:00 +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-23 21:11:00.583"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:00 +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-23 21:11:00.593"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:05 +0000] \"GET /api/frameworks/b2c3d4e5-f6a1-4b2c-8d4e-5f6a1b2c3d4e/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:11:05.164"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:13 +0000] \"POST /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2/map 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-23 21:11:13.843"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:13 +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-23 21:11:13.858"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:13 +0000] \"GET /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2 HTTP/1.1\" 200 951 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:11:13.863"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:13 +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-23 21:11:13.874"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11: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-23 21:11:19.689"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:19 +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-23 21:11:19.704"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:19 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 200 620 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:11:19.706"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:24 +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-23 21:11:24.641"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:24 +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-23 21:11:24.656"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11: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-23 21:11:27.402"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:27 +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-23 21:11:27.412"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:28 +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-23 21:11:28.984"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:30 +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-23 21:11:30.187"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:30 +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-23 21:11:30.200"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:34 +0000] \"GET /api/frameworks/a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:11:34.368"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:42 +0000] \"POST /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2/map 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-23 21:11:42.608"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:42 +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-23 21:11:42.620"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:42 +0000] \"GET /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2 HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:11:42.627"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:42 +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-23 21:11:42.638"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:53 +0000] \"GET /api/frameworks/a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:11:53.096"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:56 +0000] \"POST /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2/map 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-23 21:11:56.830"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:56 +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-23 21:11:56.843"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:56 +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-23 21:11:56.851"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:11:56 +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-23 21:11:56.865"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:06 +0000] \"GET /api/frameworks/a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:12:06.641"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:12 +0000] \"POST /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2/map 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-23 21:12:12.107"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12: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-23 21:12:12.125"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:12 +0000] \"GET /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2 HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:12:12.130"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12: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-23 21:12:12.143"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:15 +0000] \"GET /api/frameworks/b2c3d4e5-f6a1-4b2c-8d4e-5f6a1b2c3d4e/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:12:15.063"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:24 +0000] \"POST /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2/map 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-23 21:12:24.989"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:25 +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-23 21:12:25.003"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:25 +0000] \"GET /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2 HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:12:25.008"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:25 +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-23 21:12:25.019"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:33 +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-23 21:12:33.623"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:33 +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-23 21:12:33.636"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12: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-23 21:12:38.157"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:38 +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-23 21:12:38.175"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:38 +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-23 21:12:38.184"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:38 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 200 625 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:12:38.187"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12: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-23 21:12:41.208"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12: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-23 21:12:41.225"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12: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-23 21:12:41.226"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12: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-23 21:12:45.016"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:45 +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-23 21:12:45.024"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:48 +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-23 21:12:48.615"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:56 +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-23 21:12:56.170"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:12:59 +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-23 21:12:59.310"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:13:00 +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-23 21:13:00.821"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:13:00 +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-23 21:13:00.835"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:13:07 +0000] \"GET /api/frameworks/a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:13:07.007"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:16:56 +0000] \"GET /health HTTP/1.1\" 200 72 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-23 21:16:56.782"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.324"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.348"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.348"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.360"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.361"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.362"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.364"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.365"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.366"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.369"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.370"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.372"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.372"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.374"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.375"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.376"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.377"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.379"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.380"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.382"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.383"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.384"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.384"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.386"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.386"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.387"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.395"}
{"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:['9427716a49fcb6e9154fbe13394b648f3395fb1d6417ab3b3e7...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 21:17:12.400"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:12 +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-23 21:17:12.400"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:21 +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-23 21:17:21.894"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:21 +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-23 21:17:21.927"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:21 +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-23 21:17:21.936"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:21 +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-23 21:17:21.941"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:21 +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-23 21:17:21.943"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:24 +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-23 21:17:24.581"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:24 +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-23 21:17:24.592"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:26 +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-23 21:17:26.299"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:27 +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-23 21:17:27.898"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:27 +0000] \"GET /api/evidence?limit=100 HTTP/1.1\" 200 862 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:17:27.918"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:35 +0000] \"POST /api/evidence/db014e49-bdf2-4f6c-8a5c-290e89558026/link HTTP/1.1\" 404 141 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:17:35.543"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 21:17:43.772"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 21:17:47.491"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 21:17:47.505"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 21:17:47.506"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:52 +0000] \"POST /api/evidence/db014e49-bdf2-4f6c-8a5c-290e89558026/link 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-23 21:17:52.701"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:52 +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-23 21:17:52.717"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:52 +0000] \"GET /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2 HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:17:52.732"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:52 +0000] \"GET /api/evidence?limit=100 HTTP/1.1\" 200 862 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:17:52.741"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17: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-23 21:17:57.308"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:57 +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-23 21:17:57.317"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:57 +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-23 21:17:57.326"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:17:57 +0000] \"GET /api/dashboard/compliance-score HTTP/1.1\" 200 629 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:17:57.329"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:18: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-23 21:18:13.981"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:18:13 +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-23 21:18:13.992"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:18: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-23 21:18:18.384"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:18: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-23 21:18:18.396"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:18: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-23 21:18:18.408"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:18: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-23 21:18:18.411"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:10 +0000] \"GET /health HTTP/1.1\" 200 72 \"-\" \"curl/8.7.1\"","timestamp":"2026-04-23 21:20:10.844"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.853"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.874"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.875"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.881"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.883"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.889"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.891"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.893"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.893"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.896"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.897"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.901"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.901"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.902"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.904"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.905"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.906"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.907"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.908"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.910"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.911"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.911"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.912"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.913"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.913"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.914"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:31 +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-23 21:20:31.919"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.925"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.930"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:31.932"}
{"level":"info","message":"SIGINT received — shutting down gracefully","timestamp":"2026-04-23 21:20:35.076"}
{"level":"info","message":"Database connection established","timestamp":"2026-04-23 21:20:36.298"}
{"level":"info","message":"Scheduler initialized","timestamp":"2026-04-23 21:20:36.311"}
{"env":"development","level":"info","message":"GRC Platform running on http://0.0.0.0:3000","port":3000,"timestamp":"2026-04-23 21:20:36.312"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.516"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.531"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.532"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.539"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.542"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.544"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.545"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.546"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.547"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.549"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.550"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.551"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.552"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.553"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.553"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.555"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.556"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.557"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.557"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.559"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.559"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.560"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.561"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.562"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.562"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.563"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.570"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.576"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.581"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:38 +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-23 21:20:38.590"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20: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-23 21:20:47.670"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:47 +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-23 21:20:47.683"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:20:52 +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-23 21:20:52.092"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:27 +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-23 21:31:27.331"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:27 +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-23 21:31:27.351"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:27 +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-23 21:31:27.352"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:31:27.365"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:27 +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-23 21:31:27.366"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:31:27.367"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:27 +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-23 21:31:27.369"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:27 +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-23 21:31:27.371"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:27 +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-23 21:31:27.373"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:27.375"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:27 +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-23 21:31:27.375"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:27 +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-23 21:31:27.377"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:27.379"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:27 +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-23 21:31:27.382"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:27 +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-23 21:31:27.382"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:27.385"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:27.386"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:27.387"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:27.389"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:27.391"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:27.392"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:27.392"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:27.394"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:27.394"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:27.395"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:27.396"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:27 +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-23 21:31:27.404"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:27 +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-23 21:31:27.410"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:42 +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-23 21:31:42.899"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:48 +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-23 21:31:48.595"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31: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-23 21:31:48.611"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:50 +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-23 21:31:50.018"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:50 +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-23 21:31:50.032"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:51 +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-23 21:31:51.402"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:31:51 +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-23 21:31:51.419"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.715"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.739"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.740"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.747"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33: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/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:33:33.748"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.750"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.751"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.753"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.755"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.756"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.757"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.758"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.759"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.762"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.763"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.764"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.765"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.765"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.767"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.770"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.771"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.772"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.772"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.773"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.773"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.774"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.779"}
{"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:['3c26d197111ae0af36e61d7046dda706f5fd9ec96144e35dbdc...","level":"error","message":"Token refresh error","timestamp":"2026-04-23 21:33:33.792"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:33 +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-23 21:33:33.792"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:42 +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-23 21:33:42.424"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:42 +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-23 21:33:42.442"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:42 +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-23 21:33:42.453"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:42 +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-23 21:33:42.461"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:42 +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-23 21:33:42.464"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33: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-23 21:33:47.681"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:47 +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-23 21:33:47.689"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:52 +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-23 21:33:52.165"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:53 +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-23 21:33:53.608"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:53 +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-23 21:33:53.622"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:54 +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-23 21:33:54.503"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:54 +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-23 21:33:54.517"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:56 +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-23 21:33:56.101"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:33:56 +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-23 21:33:56.115"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34:00 +0000] \"GET /api/frameworks/a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:34:00.997"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34:04 +0000] \"POST /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2/map 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-23 21:34:04.480"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34:04 +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-23 21:34:04.501"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34: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-23 21:34:04.512"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34: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-23 21:34:04.520"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34:07 +0000] \"GET /api/frameworks/a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:34:07.430"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34:18 +0000] \"POST /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2/map 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-23 21:34:18.814"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34:18 +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-23 21:34:18.825"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34:18 +0000] \"GET /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2 HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:34:18.832"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34:18 +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-23 21:34:18.843"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34:23 +0000] \"GET /api/frameworks/a1b2c3d4-e5f6-4a1b-8c3d-4e5f6a1b2c3d/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:34:23.717"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34:27 +0000] \"POST /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2/map 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-23 21:34:27.210"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34:27 +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-23 21:34:27.221"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34:27 +0000] \"GET /api/controls/a44e19a4-4a04-44c0-ab4d-2dac5f6c9cb2 HTTP/1.1\" 200 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:34:27.227"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:34:27 +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-23 21:34:27.237"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:35: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-23 21:35:33.396"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:35:33 +0000] \"GET /api/evidence?page=1&limit=25 HTTP/1.1\" 200 861 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:35:33.408"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:35:36 +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-23 21:35:36.276"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:35:36 +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-23 21:35:36.286"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:35: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-23 21:35:43.189"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:35:43 +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-23 21:35:43.199"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:35: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-23 21:35:44.431"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:35: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-23 21:35:44.439"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:36:12 +0000] \"POST /api/policies HTTP/1.1\" 201 525 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:36:12.873"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:36:12 +0000] \"GET /api/policies?page=1&limit=25 HTTP/1.1\" 200 566 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:36:12.885"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:36: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-23 21:36:19.049"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:36:19 +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-23 21:36:19.058"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:36:24 +0000] \"GET /api/risks/stats HTTP/1.1\" 200 163 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:36:24.622"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:36:24 +0000] \"GET /api/risks/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-23 21:36:24.630"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:36:32 +0000] \"GET /api/risks?page=1&limit=25&likelihood=4&impact=2 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-23 21:36:32.868"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:36:33 +0000] \"GET /api/risks?page=1&limit=25&likelihood=4&impact=3 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-23 21:36:33.485"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:36: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-23 21:36:40.325"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:36:40 +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-23 21:36:40.333"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:36: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-23 21:36:41.115"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:36:41 +0000] \"GET /api/risks?page=1&limit=25&likelihood=4&impact=3 HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:36:41.126"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:37:14 +0000] \"POST /api/risks HTTP/1.1\" 201 617 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:37:14.947"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:37:14 +0000] \"GET /api/risks?page=1&limit=25&likelihood=4&impact=3 HTTP/1.1\" 200 695 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:37:14.961"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:37:27 +0000] \"GET /api/risks/stats HTTP/1.1\" 200 158 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:37:27.606"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:37:27 +0000] \"GET /api/risks/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-23 21:37:27.614"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:37:33 +0000] \"GET /api/risks?page=1&limit=25&likelihood=5&impact=5 HTTP/1.1\" 200 695 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:37:33.659"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:37:43 +0000] \"GET /api/risks/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-23 21:37:43.790"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:37:43 +0000] \"GET /api/risks/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-23 21:37:43.798"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:37:46 +0000] \"GET /api/risks/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-23 21:37:46.604"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:37:46 +0000] \"GET /api/risks/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-23 21:37:46.612"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:37:57 +0000] \"GET /api/risks/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-23 21:37:57.756"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:37:57 +0000] \"GET /api/risks/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-23 21:37:57.763"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:38: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-23 21:38:11.395"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:38:11 +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-23 21:38:11.403"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:38:50 +0000] \"POST /api/vendors HTTP/1.1\" 201 549 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:38:50.516"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:38:50 +0000] \"GET /api/vendors?page=1&limit=25 HTTP/1.1\" 200 627 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:38:50.528"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:39: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-23 21:39:02.284"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:39:02 +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-23 21:39:02.301"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:39:02 +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-23 21:39:02.302"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:40:11 +0000] \"POST /api/incidents HTTP/1.1\" 422 93 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:40:11.630"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:40:30 +0000] \"POST /api/incidents HTTP/1.1\" 422 93 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:40:30.557"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:40:40 +0000] \"POST /api/incidents HTTP/1.1\" 422 93 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:40:40.739"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.437"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.451"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.451"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.457"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.459"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.462"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.463"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.465"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.466"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.468"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.470"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.471"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.472"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.473"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.475"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.476"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.477"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.479"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.479"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.480"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.482"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.483"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.484"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.485"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.485"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.485"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.486"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.493"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.498"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:23 +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-23 21:42:23.499"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:25 +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-23 21:42:25.014"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:25 +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-23 21:42:25.022"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:26 +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-23 21:42:26.271"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:26 +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-23 21:42:26.284"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:26 +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-23 21:42:26.291"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:26 +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-23 21:42:26.298"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:26 +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-23 21:42:26.304"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:26 +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-23 21:42:26.305"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:42:46 +0000] \"GET /api/frameworks/b2c3d4e5-f6a1-4b2c-8d4e-5f6a1b2c3d4e/requirements HTTP/1.1\" 304 - \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:42:46.100"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:43: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-23 21:43:08.755"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:43:08 +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-23 21:43:08.763"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:43: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-23 21:43:17.327"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:43:17 +0000] \"GET /api/risks?page=1&limit=25 HTTP/1.1\" 200 695 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:43:17.338"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:43: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-23 21:43:19.765"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:43:19 +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-23 21:43:19.772"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:43: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-23 21:43:20.890"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:43:20 +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-23 21:43:20.900"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:43:20 +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-23 21:43:20.901"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:44:51 +0000] \"POST /api/incidents HTTP/1.1\" 422 93 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:44:51.343"}
{"level":"info","message":"127.0.0.1 - - [24/Apr/2026:04:44:58 +0000] \"POST /api/incidents HTTP/1.1\" 422 93 \"-\" \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\"","timestamp":"2026-04-23 21:44:58.780"}
