[
  {
    "group": "登入與首頁",
    "icon": "🏠",
    "pages": [
      {
        "name": "系統登入",
        "slug": "login",
        "url": "/login",
        "role": "user",
        "nav": ["開啟瀏覽器，輸入系統網址"],
        "description": "輸入公司 Email 與密碼後按「登入」。首次登入請聯絡管理員取得帳號與設定密碼連結。"
      },
      {
        "name": "首頁 Dashboard",
        "slug": "dashboard",
        "url": "/dashboard",
        "role": "user",
        "nav": ["登入後自動跳轉至首頁"],
        "description": "首頁顯示個人待辦事項、最近議題與公告通知摘要。可自訂看板卡片的位置與分組，拖曳卡片調整排列順序。"
      },
      {
        "name": "個人資料",
        "slug": "profile",
        "url": "/profile",
        "role": "user",
        "nav": ["點選右上角「帳號名稱」", "下拉選單 → 個人資料"],
        "description": "可修改顯示名稱、Email 與密碼。修改 Email 後需重新驗證信箱才能登入。"
      },
      {
        "name": "申請服務中心",
        "slug": "service-center",
        "url": "/service-center",
        "role": "user",
        "nav": ["導覽列 → 申請服務", "點選「申請服務中心」"],
        "description": "所有申請服務的入口總覽頁。可一眼找到所需的申請項目，點擊即可進入對應的申請表單。"
      }
    ]
  },

  {
    "group": "看板與議題",
    "icon": "📋",
    "pages": [
      {
        "name": "看板總覽",
        "slug": "boards",
        "url": "/boards",
        "role": "user",
        "nav": ["導覽列 → 專案工作", "點選「看板」"],
        "description": "所有可用看板的入口，包含個人看板、工作看板與各專案看板。"
      },
      {
        "name": "個人看板",
        "slug": "personal-board",
        "url": "/personal-board",
        "role": "user",
        "nav": ["導覽列 → 專案工作 → 看板", "點選「個人看板」"],
        "description": "以卡片方式呈現指派給自己的議題，可拖曳卡片在「待辦」、「進行中」、「已完成」欄位之間移動，狀態會同步更新。點擊卡片右上角的鉛筆圖示可進入議題詳情頁進行編輯或填報工時。"
      },
      {
        "name": "工作看板",
        "slug": "work-board",
        "url": "/work-board",
        "role": "user",
        "nav": ["導覽列 → 專案工作 → 看板", "點選「工作看板」"],
        "description": "跨專案的工作看板，集中檢視所有進行中工作項目。可在設定中開啟通知，當看板有更新時收到提醒。"
      },
      {
        "name": "我的 Redmine 看板",
        "slug": "my-redmine-board",
        "url": "/my-redmine/board",
        "role": "user",
        "nav": ["導覽列 → 專案工作 → 看板", "從看板總覽進入「Redmine 看板」"],
        "description": "串接 Redmine 的個人議題看板，即時同步 Redmine 最新狀態。點擊卡片右上角鉛筆圖示可進入議題詳情頁，在同一頁面完成狀態更新、填報工時與留言。"
      },
      {
        "name": "議題清單（所有專案）",
        "slug": "projects-issues",
        "url": "/projects/issues",
        "role": "user",
        "nav": ["導覽列 → 專案工作 → 看板", "切換至「議題清單」頁籤"],
        "description": "跨所有專案的議題總覽，可依「優先度」、「狀態」、「指派人」、「專案」進行篩選。表格支援排序，點擊欄位標題即可切換升降序。支援匯出 CSV 功能。"
      },
      {
        "name": "Sprint 列表",
        "slug": "sprints",
        "url": "/sprints",
        "role": "user",
        "nav": ["導覽列 → 專案工作 → 看板", "點選「Sprint 管理」"],
        "description": "列出所有 Sprint 迭代週期，顯示名稱、起迄日期、所屬專案與包含的議題數。點擊 Sprint 名稱可展開查看該 Sprint 的所有議題。"
      },
      {
        "name": "新增 Sprint",
        "slug": "sprints-create",
        "url": "/sprints/create",
        "role": "supervisor",
        "nav": ["導覽列 → 專案工作 → 看板 → Sprint 管理", "點選右上角「新增 Sprint」"],
        "description": "建立新的 Sprint，填寫名稱、開始與結束日期，並選擇所屬專案。建立後可從議題清單將議題拖入 Sprint。"
      },
      {
        "name": "活動紀錄",
        "slug": "projects-activity",
        "url": "/projects/activity",
        "role": "supervisor",
        "nav": ["導覽列 → 專案工作 → 專案管理", "點選「活動紀錄」頁籤"],
        "description": "顯示所有專案的近期異動記錄，包含議題新增、狀態變更、指派變更、留言等。可依時間範圍與專案篩選，用於追蹤團隊工作進度。"
      }
    ]
  },

  {
    "group": "工時記錄",
    "icon": "⏱",
    "pages": [
      {
        "name": "工時記錄",
        "slug": "time-records-show",
        "url": "/time-records/show",
        "role": "user",
        "nav": ["導覽列 → 專案工作", "點選「工時記錄」"],
        "description": "個人工時填報頁面。選擇日期、專案合約、填入工時後送出。每天的工時記錄按日期彙總顯示，點擊可展開詳情。議題詳情頁也可直接填報工時，備註會自動帶入議題標題。"
      },
      {
        "name": "工時總表（週）",
        "slug": "time-sheets-show",
        "url": "/time-sheets/show",
        "role": "supervisor",
        "nav": ["導覽列 → 功能管理", "工時管理 → 工時總表"],
        "description": "以本週為單位的工時彙總矩陣，橫向為人員、縱向為專案/合約，交叉格顯示工時數。可切換前後週。超出預估工時的欄位以顏色標示提醒。"
      },
      {
        "name": "工時總表（區間）",
        "slug": "time-sheets-range",
        "url": "/time-sheets/range",
        "role": "supervisor",
        "nav": ["導覽列 → 功能管理", "工時管理 → 區間統計表"],
        "description": "自訂起迄日期，查詢指定期間內的工時彙總。適合月報或季報使用。點擊工時數字可展開查看該期間的逐日明細。"
      },
      {
        "name": "工時總表（年度）",
        "slug": "time-sheets-yearly",
        "url": "/time-sheets/yearly",
        "role": "supervisor",
        "nav": ["導覽列 → 功能管理", "工時管理 → 年度統計表"],
        "description": "以年度為維度的工時分析，橫向為月份，縱向為專案/合約，可掌握各合約全年人力投入趨勢與預算執行狀況。"
      },
      {
        "name": "工時統計圖表",
        "slug": "time-charts",
        "url": "/time-charts",
        "role": "supervisor",
        "nav": ["導覽列 → 功能管理", "工時管理 → 工時統計圖表"],
        "description": "以圓餅圖、長條圖呈現工時分布，可依部門、專案、人員、時間段切換檢視維度，快速掌握人力資源配置狀況。"
      }
    ]
  },

  {
    "group": "簽到退",
    "icon": "📅",
    "pages": [
      {
        "name": "簽到退記錄",
        "slug": "attendance-index",
        "url": "/attendance",
        "role": "user",
        "nav": ["點選導覽列左側「簽到退」"],
        "description": "每天上班、下班各點一次「簽到」或「簽退」按鈕。頁面同時顯示本月打卡紀錄與出缺勤統計。注意：需在公司內網或指定 IP 環境才能完成打卡，系統會自動驗證網路位置。"
      },
      {
        "name": "加班申請列表",
        "slug": "overtime-requests-index",
        "url": "/overtime-requests",
        "role": "user",
        "nav": ["導覽列 → 申請服務", "加班申請 → 申請紀錄"],
        "description": "查看個人所有加班申請紀錄及目前的審核狀態（待審 / 主管已核 / 完成 / 拒絕）。"
      },
      {
        "name": "新增加班申請",
        "slug": "overtime-requests-create",
        "url": "/overtime-requests/create",
        "role": "user",
        "nav": ["導覽列 → 申請服務", "加班申請 → 申請加班"],
        "description": "填寫加班日期、開始與結束時間、加班原因後送出。需由直屬主管核准後才算正式加班，建議加班前提前申請。"
      },
      {
        "name": "出勤管理（主管）",
        "slug": "attendance-admin",
        "url": "/attendance/admin",
        "role": "supervisor",
        "nav": ["導覽列 → 功能管理", "簽到退管理 → 簽到退紀錄查詢"],
        "description": "查詢所有人員的出勤紀錄，可依部門、日期範圍篩選，並可下載 Excel 報表。若發現異常打卡可在此補登或調整。"
      },
      {
        "name": "出勤統計",
        "slug": "attendance-stats",
        "url": "/attendance/stats",
        "role": "supervisor",
        "nav": ["導覽列 → 統計報表", "工時/簽到退 → 工時統計"],
        "description": "以月為單位統計各人員的出勤天數、遲到次數與總加班時數，匯出後可作為薪資計算依據。"
      },
      {
        "name": "部門加班管理",
        "slug": "overtime-requests-dept",
        "url": "/overtime-requests/department",
        "role": "supervisor",
        "nav": ["導覽列 → 統計報表", "工時/簽到退 → 加班部門統計"],
        "description": "以部門維度統計加班申請，掌握各部門整體加班情況，協助管控人力成本。"
      },
      {
        "name": "加班統計報表",
        "slug": "stats-overtime",
        "url": "/stats/overtime",
        "role": "supervisor",
        "nav": ["導覽列 → 統計報表", "申請統計 → 加班部門統計"],
        "description": "加班統計圖表，依月份與部門交叉分析，可視覺化掌握加班分布趨勢。"
      }
    ]
  },

  {
    "group": "申請服務",
    "icon": "📝",
    "pages": [
      {
        "name": "帳號申請列表",
        "slug": "account-requests-index",
        "url": "/account-requests",
        "role": "user",
        "nav": ["導覽列 → 申請服務", "帳號申請 → 申請紀錄"],
        "description": "查看自己提出的帳號申請紀錄及目前審核狀態（待審核 / 主管審核 / 完成 / 拒絕）。點擊申請單可查看詳細資訊與審核意見。"
      },
      {
        "name": "新增帳號申請",
        "slug": "account-requests-create",
        "url": "/account-requests/create",
        "role": "user",
        "nav": ["導覽列 → 申請服務", "帳號申請 → 申請帳號"],
        "description": "填寫申請人資訊與需要的帳號類型後送出，依序由直屬主管、管理員審核，通過後由資訊部門執行建立。"
      },
      {
        "name": "VPN 申請列表",
        "slug": "vpn-requests-index",
        "url": "/vpn-requests",
        "role": "user",
        "nav": ["導覽列 → 申請服務", "VPN → 申請紀錄"],
        "description": "查看個人 VPN 帳號申請紀錄，包含申請時間、狀態與核准結果。"
      },
      {
        "name": "新增 VPN 申請",
        "slug": "vpn-requests-create",
        "url": "/vpn-requests/create",
        "role": "user",
        "nav": ["導覽列 → 申請服務", "VPN → 申請 VPN 帳號"],
        "description": "填寫申請原因與使用期限後送出，由主管核准後資訊部門開通 VPN 存取，並以 Email 通知帳號資訊。"
      },
      {
        "name": "GitLab 申請列表",
        "slug": "gitlab-requests-index",
        "url": "/gitlab-requests",
        "role": "user",
        "nav": ["導覽列 → 申請服務", "GitLab → 申請紀錄"],
        "description": "查看 GitLab 帳號或專案存取申請的審核狀態。"
      },
      {
        "name": "新增 GitLab 申請",
        "slug": "gitlab-requests-create",
        "url": "/gitlab-requests/create",
        "role": "user",
        "nav": ["導覽列 → 申請服務", "GitLab → 申請 GitLab"],
        "description": "申請 GitLab 帳號或指定 Repository 的存取權限，需填寫申請原因與需要的存取等級（Reporter / Developer / Maintainer）。"
      },
      {
        "name": "Redmine 申請列表",
        "slug": "redmine-requests-index",
        "url": "/redmine-requests",
        "role": "user",
        "nav": ["導覽列 → 申請服務", "Redmine → 申請紀錄"],
        "description": "查看 Redmine 帳號申請的審核進度。"
      },
      {
        "name": "新增 Redmine 申請",
        "slug": "redmine-requests-create",
        "url": "/redmine-requests/create",
        "role": "user",
        "nav": ["導覽列 → 申請服務", "Redmine → 申請 Redmine 帳號"],
        "description": "填寫姓名與部門後送出，由管理員在 Redmine 建立帳號並以 Email 通知。"
      },
      {
        "name": "設備攜出/入申請列表",
        "slug": "device-requests-index",
        "url": "/device-requests",
        "role": "user",
        "nav": ["導覽列 → 申請服務", "設備攜出/入 → 申請紀錄"],
        "description": "查看個人設備攜出/入的申請紀錄與審核狀態。設備攜出需在核准後才可帶出公司，否則警衛有權攔截。"
      },
      {
        "name": "報修申請列表",
        "slug": "repair-requests-index",
        "url": "/repair-requests",
        "role": "user",
        "nav": ["導覽列 → 資安工作", "資訊資產管理 → 報修清單"],
        "description": "查看個人提出的設備報修申請，以及目前的處理進度（待處理 / 維修中 / 已完成）。"
      },
      {
        "name": "離職/調職交接列表",
        "slug": "handovers-index",
        "url": "/handovers",
        "role": "user",
        "nav": ["導覽列 → 申請服務", "離職/調職 → 離職/調職交接"],
        "description": "查看個人的交接單狀態，或建立新的離職/調職交接流程。交接完成前需所有審核人員簽署確認。"
      },
      {
        "name": "新增交接單",
        "slug": "handovers-create",
        "url": "/handovers/create",
        "role": "user",
        "nav": ["導覽列 → 申請服務 → 離職/調職交接", "點選右上角「新增交接單」"],
        "description": "填寫交接項目、接手人員與預計完成日期，建立後進入審核流程，需逐一完成各交接項目的確認。"
      }
    ]
  },

  {
    "group": "申請審核",
    "icon": "✅",
    "pages": [
      {
        "name": "帳號申請審核",
        "slug": "account-requests-admin",
        "url": "/account-requests/admin",
        "role": "supervisor",
        "nav": ["導覽列 → 審核管理", "帳號申請 → 最終審核"],
        "description": "管理員在此查看所有待審核的帳號申請，確認申請資訊後點「核准」執行建立帳號，或點「拒絕」填寫拒絕原因。核准後系統自動寄送帳號資訊給申請人。"
      },
      {
        "name": "設備申請審核",
        "slug": "device-requests-admin",
        "url": "/device-requests/admin",
        "role": "supervisor",
        "nav": ["導覽列 → 審核管理", "設備攜出/入 → 最終審核"],
        "description": "最終審核設備攜出/入申請，確認設備序號與攜出原因後核准，系統自動產生攜出/入憑單。"
      }
    ]
  },

  {
    "group": "資安工作",
    "icon": "🔒",
    "pages": [
      {
        "name": "CVE 資料庫",
        "slug": "cve-index",
        "url": "/cve",
        "role": "user",
        "nav": ["導覽列 → 資安工作", "點選「CVE 通報」"],
        "description": "查詢 CVE（Common Vulnerabilities and Exposures）弱點資料庫，可依 CVE 編號或關鍵字搜尋，了解已知資安漏洞的 CVSS 嚴重等級（Critical / High / Medium / Low）與修補建議。"
      },
      {
        "name": "個人資產一覽",
        "slug": "assets-byuser",
        "url": "/assets/byuser/form",
        "role": "user",
        "nav": ["導覽列 → 資安工作", "資訊資產管理 → 個人資產一覽"],
        "description": "查看目前登記在自己名下的所有資訊資產（電腦、螢幕、週邊設備等），確認資產資料是否正確。如有異常請聯絡資訊部門。"
      },
      {
        "name": "ISMS 資安文件",
        "slug": "isms-index",
        "url": "/isms",
        "role": "user",
        "nav": ["導覽列 → 資安工作", "資安個資文件 → ISMS 資安文件"],
        "description": "存放 ISMS（資訊安全管理系統）相關文件，依目錄分類管理。一般人員可瀏覽下載，文管人員才有上傳與管理權限。"
      },
      {
        "name": "PSMS 個資文件",
        "slug": "psms-index",
        "url": "/psms",
        "role": "user",
        "nav": ["導覽列 → 資安工作", "資安個資文件 → PSMS 個資文件"],
        "description": "存放個人資料保護管理（PSMS）相關文件，包含個資盤點表、隱私政策等，維護文件版本與審查紀錄。"
      },
      {
        "name": "SSL CSR 管理",
        "slug": "ssl-csr-index",
        "url": "/ssl-csr",
        "role": "admin",
        "nav": ["導覽列 → 資安工作", "SSL 管理 → 產生 CSR"],
        "description": "產生 SSL 憑證簽章請求（CSR），填寫組織名稱、網域名稱（CN）等資訊後下載 CSR 文件，交給憑證機構（CA）簽署取得憑證。"
      },
      {
        "name": "GCB 政府組態基準",
        "slug": "gcb-index",
        "url": "/gcb",
        "role": "admin",
        "nav": ["導覽列 → 資安工作", "點選「GCB 政府組態基準」"],
        "description": "管理政府組態基準（GCB）的掃描結果與合規狀態，確保轄下系統符合行政院資安院規定的安全設定基準。"
      }
    ]
  },

  {
    "group": "資安掃描",
    "icon": "🔍",
    "pages": [
      {
        "name": "程式碼掃描列表",
        "slug": "code-scan-index",
        "url": "/code-scan",
        "role": "admin",
        "nav": ["導覽列 → 專案工作", "點選「源碼掃描」"],
        "description": "列出所有靜態程式碼分析（SAST）任務，顯示各次掃描發現的弱點數量與嚴重等級。點擊可進入查看詳細弱點報告，支援產出 PDF 簽名報告。"
      },
      {
        "name": "新增程式碼掃描",
        "slug": "code-scan-create",
        "url": "/code-scan/create",
        "role": "admin",
        "nav": ["導覽列 → 專案工作 → 源碼掃描", "點選右上角「新增掃描」"],
        "description": "填寫 GitLab/GitHub Repository URL 與存取 Token，選擇掃描規則集後送出，系統自動以 SonarQube 執行靜態分析並寄送報告。"
      },
      {
        "name": "弱點掃描列表",
        "slug": "vuln-scan-index",
        "url": "/vuln-scan",
        "role": "admin",
        "nav": ["導覽列 → 專案工作", "點選「弱點掃描」"],
        "description": "列出所有弱點掃描（DAST）任務，顯示目標主機、掃描狀態與發現的弱點數量。支援 PDF 報告輸出與 Email 發送功能。"
      },
      {
        "name": "新增弱點掃描",
        "slug": "vuln-scan-create",
        "url": "/vuln-scan/create",
        "role": "admin",
        "nav": ["導覽列 → 專案工作 → 弱點掃描", "點選右上角「新增掃描」"],
        "description": "填寫目標 URL 或 IP，選擇 Nuclei 掃描範本（如 CVE、OWASP Top 10），設定掃描排程後送出，系統自動執行並在完成後通知。"
      },
      {
        "name": "無障礙掃描列表",
        "slug": "accessibility-scan-index",
        "url": "/accessibility-scan",
        "role": "admin",
        "nav": ["導覽列 → 專案工作", "點選「無障礙掃描」"],
        "description": "列出所有無障礙合規掃描任務，依 WCAG 2.1 AA 標準檢查網頁，顯示違規項目數量與等級（A / AA / AAA）。"
      },
      {
        "name": "新增無障礙掃描",
        "slug": "accessibility-scan-create",
        "url": "/accessibility-scan/create",
        "role": "admin",
        "nav": ["導覽列 → 專案工作 → 無障礙掃描", "點選右上角「新增掃描」"],
        "description": "填寫目標網址後送出，系統自動以瀏覽器載入頁面並執行 axe-core 檢測，完成後可下載無障礙合規報告。"
      },
      {
        "name": "滲透測試列表",
        "slug": "pen-test-index",
        "url": "/pen-test",
        "role": "admin",
        "nav": ["導覽列 → 專案工作", "點選「滲透測試」"],
        "description": "管理滲透測試（Penetration Test）任務記錄，包含測試目標、測試類型（黑箱/白箱/灰箱）、測試時間範圍與發現的安全問題彙整。"
      },
      {
        "name": "新增滲透測試",
        "slug": "pen-test-create",
        "url": "/pen-test/create",
        "role": "admin",
        "nav": ["導覽列 → 專案工作 → 滲透測試", "點選右上角「新增」"],
        "description": "建立滲透測試任務，填寫測試目標系統、測試類型、預計測試時程與測試人員，並記錄測試範圍與限制。"
      },
      {
        "name": "效能測試 k6",
        "slug": "k6-index",
        "url": "/k6",
        "role": "admin",
        "nav": ["導覽列 → 專案工作", "點選「壓力測試」"],
        "description": "使用 k6 執行 API 或網頁的效能與壓力測試，上傳測試腳本設定虛擬用戶數（VUs）與持續時間，測試結束後自動產出 TPS、平均延遲、錯誤率等指標報告。"
      },
      {
        "name": "壓力測試 Locust",
        "slug": "locust-index",
        "url": "/locust",
        "role": "admin",
        "nav": ["導覽列 → 專案工作 → 壓力測試", "切換至「Locust」頁籤"],
        "description": "使用 Locust 執行大規模使用者模擬壓力測試，可用 Python 腳本定義使用者行為，支援分散式測試架構與即時監控儀表板。"
      },
      {
        "name": "掃描任務管理",
        "slug": "scans-index",
        "url": "/scans",
        "role": "admin",
        "nav": ["系統管理員可由後台直接進入", "網址：/scans"],
        "description": "管理所有自動化掃描任務的排程設定與執行狀態，可手動觸發執行或查看歷史掃描日誌，監控掃描引擎運作狀況。"
      },
      {
        "name": "測試報告列表",
        "slug": "test-reports-index",
        "url": "/test-reports",
        "role": "admin",
        "nav": ["導覽列 → 專案工作", "點選「程式碼審查報告」"],
        "description": "存放各專案的測試報告與程式碼審查紀錄，支援 PDF 格式上傳，可依專案與報告類型篩選。"
      },
      {
        "name": "新增測試報告",
        "slug": "test-reports-create",
        "url": "/test-reports/create",
        "role": "admin",
        "nav": ["導覽列 → 專案工作 → 程式碼審查報告", "點選右上角「新增報告」"],
        "description": "上傳新的測試報告，填寫報告名稱、對應專案、測試類型（源碼審查 / 弱點掃描 / 滲透測試）與報告日期。"
      }
    ]
  },

  {
    "group": "主機管理",
    "icon": "🖥",
    "pages": [
      {
        "name": "主機列表",
        "slug": "hosts-index",
        "url": "/hosts",
        "role": "admin",
        "nav": ["導覽列 → 主機管理", "點選「主機監控」"],
        "description": "列出所有受監控主機，顯示 IP、作業系統版本、主機狀態（正常/警告/離線）與最後回報時間。點擊主機名稱進入詳細監控頁，可查看 CPU、記憶體、磁碟的即時與歷史數據。"
      },
      {
        "name": "新增主機",
        "slug": "hosts-create",
        "url": "/hosts/create",
        "role": "admin",
        "nav": ["導覽列 → 主機管理 → 主機監控", "點選右上角「新增主機」"],
        "description": "填寫主機 IP、主機名稱與類型（實體機/虛擬機/容器），建立後依頁面指示在目標主機安裝監控 Agent，完成後即可接收監控數據。"
      },
      {
        "name": "主機監控狀態",
        "slug": "hosts-monitor",
        "url": "/hosts/monitor-status",
        "role": "admin",
        "nav": ["導覽列 → 主機管理 → 主機監控", "切換至「監控狀態」頁籤"],
        "description": "即時儀表板顯示所有主機的 CPU 使用率、記憶體使用量、磁碟空間，以顏色燈號快速辨識異常狀態（綠/黃/紅）。"
      },
      {
        "name": "主機告警通知",
        "slug": "host-alerts",
        "url": "/host-alerts",
        "role": "admin",
        "nav": ["導覽列 → 主機管理", "點選「主機監控通知」（有角標時表示有未讀告警）"],
        "description": "顯示所有主機觸發的告警記錄，包含告警時間、類型（CPU 過高、磁碟不足、服務中斷等）與處理狀態。點擊告警可標記為已讀或記錄處理說明。"
      },
      {
        "name": "Docker 總覽",
        "slug": "docker-index",
        "url": "/docker",
        "role": "admin",
        "nav": ["導覽列 → 主機管理", "點選「Docker 管理」"],
        "description": "顯示所有 Docker 主機上執行中的容器清單，可即時查看容器狀態（running/stopped/exited），並執行啟動、停止、重啟等操作。"
      },
      {
        "name": "Docker 主機設定",
        "slug": "docker-hosts",
        "url": "/docker/hosts",
        "role": "admin",
        "nav": ["導覽列 → 功能管理", "點選「Docker 主機設定」"],
        "description": "新增或管理 Docker 主機的連線設定，填寫 Docker API 端點（IP:Port）與 TLS 憑證，完成後系統即可透過 Docker Remote API 管理該主機上的容器。"
      },
      {
        "name": "日誌分析",
        "slug": "log-analysis",
        "url": "/log-analysis",
        "role": "admin",
        "nav": ["導覽列 → 主機管理", "點選「Log 分析」"],
        "description": "集中收集各主機推送的系統日誌，可依時間、主機、關鍵字搜尋分析，支援設定告警規則（如出現 ERROR 字串自動通知）。"
      },
      {
        "name": "操作紀錄",
        "slug": "logs-index",
        "url": "/logs",
        "role": "admin",
        "nav": ["導覽列 → 系統設定", "點選「操作紀錄」"],
        "description": "記錄所有使用者在系統內的操作行為，包含登入、新增、修改、刪除等動作，可依使用者、模組、時間查詢，供資安稽核使用。"
      }
    ]
  },

  {
    "group": "專案與客戶管理",
    "icon": "📁",
    "pages": [
      {
        "name": "所有專案（總覽）",
        "slug": "projects-all",
        "url": "/projects/all",
        "role": "supervisor",
        "nav": ["導覽列 → 專案工作", "點選「專案管理」"],
        "description": "以卡片方式顯示所有進行中的專案，點擊卡片可快速進入各專案的議題列表、看板或詳細資料頁。"
      },
      {
        "name": "專案列表（維護）",
        "slug": "projects-index",
        "url": "/projects",
        "role": "admin",
        "nav": ["導覽列 → 功能管理", "專案管理 → 專案維護"],
        "description": "管理所有專案的基本資料，包含專案名稱、類型（網站/資安/顧問/其他）、所屬客戶與合約資訊。可新增、編輯或停用專案。"
      },
      {
        "name": "新增專案",
        "slug": "projects-create",
        "url": "/projects/create",
        "role": "admin",
        "nav": ["導覽列 → 功能管理 → 專案維護", "點選右上角「新增專案」"],
        "description": "填寫專案名稱、類型、所屬客戶，並可建立關聯合約（設定合約期間、預估工時等），建立完成後即可指派人員與新增議題。"
      },
      {
        "name": "客戶維護",
        "slug": "clients-index",
        "url": "/clients",
        "role": "admin",
        "nav": ["導覽列 → 功能管理", "專案管理 → 客戶維護"],
        "description": "管理所有客戶基本資料，客戶資料與專案關聯，用於工時報表與帳單計算。"
      },
      {
        "name": "新增客戶",
        "slug": "clients-create",
        "url": "/clients/create",
        "role": "admin",
        "nav": ["導覽列 → 功能管理 → 客戶維護", "點選右上角「新增客戶」"],
        "description": "填寫客戶名稱、統一編號、主要聯絡人與聯絡方式後儲存。客戶建立後即可在專案中選用。"
      }
    ]
  },

  {
    "group": "資訊資產管理",
    "icon": "💻",
    "pages": [
      {
        "name": "資訊資產清單",
        "slug": "assets-index",
        "url": "/assets",
        "role": "admin",
        "nav": ["導覽列 → 資安工作", "資訊資產管理 → 資訊資產清單"],
        "description": "管理全公司所有資訊資產，包含電腦、伺服器、網路設備、週邊裝置等。可依部門、類型、責任人篩選，支援 QR Code 標籤列印，掃描後可快速查看資產資訊。"
      },
      {
        "name": "新增資產",
        "slug": "assets-create",
        "url": "/assets/create",
        "role": "admin",
        "nav": ["導覽列 → 資安工作 → 資訊資產清單", "點選右上角「新增資產」"],
        "description": "登記新資產，填寫設備名稱、序號、廠牌型號、購入日期、責任人員與所屬部門。資產建立後系統自動產生唯一編號。"
      },
      {
        "name": "個人資產查詢",
        "slug": "assets-byuser",
        "url": "/assets/byuser/form",
        "role": "admin",
        "nav": ["導覽列 → 資安工作", "資訊資產管理 → 個人資產一覽"],
        "description": "查詢指定人員名下的所有資訊資產，可供人資或部門主管定期盤點使用，確認資產與實際持有人一致。"
      },
      {
        "name": "部屬資產一覽",
        "slug": "assets-subordinates",
        "url": "/assets/subordinates",
        "role": "supervisor",
        "nav": ["導覽列 → 資安工作", "資訊資產管理 → 部屬資產一覽"],
        "description": "主管可在此一次查看所有直屬下屬的資產持有狀況，方便進行部門資產盤點。"
      }
    ]
  },

  {
    "group": "系統設定",
    "icon": "⚙️",
    "pages": [
      {
        "name": "使用者管理",
        "slug": "users-index",
        "url": "/users",
        "role": "admin",
        "nav": ["導覽列 → 系統設定", "點選「帳號管理」"],
        "description": "管理所有系統使用者，可設定角色（admin / supervisor / user）、所屬部門、直屬主管，以及啟用/停用帳號。點擊使用者名稱可進入編輯頁調整個別設定。"
      },
      {
        "name": "新增使用者",
        "slug": "users-create",
        "url": "/users/create",
        "role": "admin",
        "nav": ["導覽列 → 系統設定 → 帳號管理", "點選右上角「新增使用者」"],
        "description": "建立新帳號，填寫 Email、中文姓名、所屬部門與系統角色，送出後系統自動寄送「設定密碼」連結至該 Email，使用者需在連結到期前完成密碼設定。"
      },
      {
        "name": "權限管理",
        "slug": "permissions-index",
        "url": "/permissions",
        "role": "admin",
        "nav": ["導覽列 → 系統設定", "點選「權限管理」"],
        "description": "細粒度控制每位使用者對各功能模組的存取權限（可使用 / 管理員）。勾選「可使用」後該使用者可在導覽列看到對應選單，勾選「管理員」則開放管理功能（如查詢他人資料、執行批次操作等）。"
      },
      {
        "name": "部門管理",
        "slug": "settings-departments",
        "url": "/settings/departments",
        "role": "admin",
        "nav": ["導覽列 → 系統設定", "點選「部門管理」"],
        "description": "新增或管理公司部門架構，部門名稱用於工時統計報表、申請單顯示與人員分組。修改部門名稱會同步更新所有關聯人員的部門顯示。"
      },
      {
        "name": "專案設定",
        "slug": "settings-projects",
        "url": "/settings/projects",
        "role": "admin",
        "nav": ["導覽列 → 功能管理", "點選「專案設定」"],
        "description": "設定專案的全域參數，包含議題類型（Task / Bug / Feature）、議題狀態（新建立 / 進行中 / 已完成）、優先度等選項，影響所有專案的議題欄位內容。"
      },
      {
        "name": "系統設定",
        "slug": "settings-system",
        "url": "/settings/system",
        "role": "admin",
        "nav": ["導覽列 → 系統設定", "點選「環境變數/系統設定」"],
        "description": "管理系統環境變數與全域設定，包含 Email 伺服器設定、外部 API 金鑰、導覽列顏色、公司名稱等。修改後立即生效，無需重啟服務。"
      },
      {
        "name": "工時設定",
        "slug": "settings-time",
        "url": "/settings/time",
        "role": "admin",
        "nav": ["導覽列 → 功能管理", "工時管理 → 工時設定"],
        "description": "設定工時相關全域參數，包含一個人月的標準工時基準（如 160 小時/月）、工時類型選項（一般工時 / 加班工時 / 出差工時）等，影響工時總表的計算方式。"
      },
      {
        "name": "VPN 帳號管理",
        "slug": "vpn-accounts",
        "url": "/vpn-accounts",
        "role": "admin",
        "nav": ["導覽列 → 審核管理", "VPN → VPN 帳號管理"],
        "description": "查看所有已核准的 VPN 帳號清單，可管理帳號狀態（啟用/停用）、更新到期日，以及追蹤帳號的申請記錄。"
      }
    ]
  }
]
