@panguard-ai/panguard-guard 1.3.1 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli/index.js CHANGED
@@ -101,6 +101,7 @@ async function commandStart(dataDir, verbose = false, managerUrl, noTelemetry =
101
101
  config.managerUrl = managerUrl;
102
102
  }
103
103
  if (noTelemetry) {
104
+ config.threatCloudUploadEnabled = false;
104
105
  config.telemetryEnabled = false;
105
106
  }
106
107
  if (showUploadData) {
@@ -134,7 +135,7 @@ async function commandStart(dataDir, verbose = false, managerUrl, noTelemetry =
134
135
  : []),
135
136
  ]));
136
137
  // Threat intelligence sharing transparency message
137
- if (config.telemetryEnabled === false) {
138
+ if (config.threatCloudUploadEnabled === false || config.telemetryEnabled === false) {
138
139
  console.log(` ${symbols.info} Threat intelligence sharing: ${c.dim('disabled')}`);
139
140
  console.log(` ${c.dim(' No data will be uploaded to Panguard Threat Cloud')}`);
140
141
  }
@@ -175,6 +176,77 @@ async function commandStart(dataDir, verbose = false, managerUrl, noTelemetry =
175
176
  console.log('');
176
177
  // ── TUI Dashboard mode ──────────────────────────────────────────────
177
178
  const dashboardRenderer = dashboardMode ? new DashboardRenderer(5000) : null;
179
+ // ── Telemetry batch + notification debounce ────────────────────────
180
+ const TC_ENDPOINT = config.threatCloudEndpoint ?? 'https://tc.panguard.ai';
181
+ const telemetryBatch = [];
182
+ let telemetryFlushTimer = null;
183
+ let notificationDebounceTimer = null;
184
+ const pendingNotifications = [];
185
+ function flushTelemetryBatch() {
186
+ if (telemetryBatch.length === 0)
187
+ return;
188
+ const batch = [...telemetryBatch];
189
+ telemetryBatch.length = 0;
190
+ for (const evt of batch) {
191
+ try {
192
+ void fetch(`${TC_ENDPOINT}/api/telemetry`, {
193
+ method: 'POST',
194
+ headers: { 'Content-Type': 'application/json' },
195
+ body: JSON.stringify({ ...evt, ts: new Date().toISOString() }),
196
+ signal: AbortSignal.timeout(3000),
197
+ }).catch(() => {
198
+ /* best effort */
199
+ });
200
+ }
201
+ catch {
202
+ // Never block guard for telemetry
203
+ }
204
+ }
205
+ }
206
+ function scheduleTelemetryFlush() {
207
+ if (telemetryFlushTimer)
208
+ return;
209
+ telemetryFlushTimer = setTimeout(() => {
210
+ telemetryFlushTimer = null;
211
+ flushTelemetryBatch();
212
+ }, 30_000); // flush every 30s
213
+ }
214
+ function pushTelemetryEvent(event, findingCount, severity) {
215
+ if (config.telemetryEnabled === false)
216
+ return;
217
+ telemetryBatch.push({
218
+ event,
219
+ platform: `${process.platform}-${process.arch}`,
220
+ skillCount: 0, // will be populated async later if needed
221
+ findingCount,
222
+ severity,
223
+ });
224
+ scheduleTelemetryFlush();
225
+ }
226
+ function pushNotification(title, message) {
227
+ if (process.platform !== 'darwin')
228
+ return;
229
+ pendingNotifications.push(`${title}: ${message}`);
230
+ if (notificationDebounceTimer)
231
+ clearTimeout(notificationDebounceTimer);
232
+ notificationDebounceTimer = setTimeout(() => {
233
+ notificationDebounceTimer = null;
234
+ const msgs = pendingNotifications.splice(0, pendingNotifications.length);
235
+ if (msgs.length === 0)
236
+ return;
237
+ const combined = msgs.length === 1 ? msgs[0] : `${msgs.length} skill audit results`;
238
+ void import('node:child_process')
239
+ .then(({ execSync }) => {
240
+ try {
241
+ execSync(`osascript -e 'display notification "${combined ?? ''}" with title "PanGuard"'`, { timeout: 2000 });
242
+ }
243
+ catch {
244
+ // Notification failed — non-critical
245
+ }
246
+ })
247
+ .catch(() => { });
248
+ }, 5_000); // debounce 5s
249
+ }
178
250
  // ── Skill Install Watcher ────────────────────────────────────────────
179
251
  const skillWatcher = new SkillWatcher({
180
252
  pollInterval: 10_000,
@@ -235,6 +307,11 @@ async function commandStart(dataDir, verbose = false, managerUrl, noTelemetry =
235
307
  console.log(` ${symbols.pass} Auto-whitelisted`);
236
308
  }
237
309
  }
310
+ // Telemetry + macOS notification
311
+ pushTelemetryEvent('skill_audit', result.riskScore, result.riskLevel);
312
+ if (result.riskLevel === 'HIGH' || result.riskLevel === 'CRITICAL') {
313
+ pushNotification('Skill Audit', `${result.name}: ${result.riskLevel} (${result.riskScore}/100)`);
314
+ }
238
315
  });
239
316
  void skillWatcher.start();
240
317
  // ── Daily Summary Collector ────────────────────────────────────────
@@ -245,6 +322,11 @@ async function commandStart(dataDir, verbose = false, managerUrl, noTelemetry =
245
322
  // Update shutdown handler to also stop skill watcher, dashboard, summary
246
323
  const originalShutdown = shutdown;
247
324
  const enhancedShutdown = async () => {
325
+ if (telemetryFlushTimer)
326
+ clearTimeout(telemetryFlushTimer);
327
+ flushTelemetryBatch();
328
+ if (notificationDebounceTimer)
329
+ clearTimeout(notificationDebounceTimer);
248
330
  skillWatcher.stop();
249
331
  dailySummary.stop();
250
332
  if (dashboardRenderer)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dashboard/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAW,EACX,aAAa,EACd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,oBAAoB,EAA0B,MAAM,mBAAmB,CAAC;AAqBjF,6DAA6D;AAC7D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAgD;IAC9D,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAO;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;gBAEpD,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,qBAAqB;IAkB7D,eAAe,CAAC,MAAM,EAAE,MAAM,WAAW,GAAG,IAAI;IAI1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuDtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IASpD,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAQtC,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAYxC,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAgB9C,YAAY,IAAI,MAAM;IAItB,OAAO,CAAC,aAAa;IAyGrB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,kBAAkB;IA2E1B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAejC,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,oBAAoB;IAkD5B,OAAO,CAAC,qBAAqB;YA6Cf,wBAAwB;IAmEtC,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,gBAAgB;IA4BxB,cAAc,IAAI,oBAAoB,GAAG,IAAI;CAG9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dashboard/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AASH,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,WAAW,EACX,aAAa,EACd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,oBAAoB,EAA0B,MAAM,mBAAmB,CAAC;AAqBjF,6DAA6D;AAC7D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAgD;IAC9D,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAO;IACvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;gBAEpD,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,qBAAqB;IAkB7D,eAAe,CAAC,MAAM,EAAE,MAAM,WAAW,GAAG,IAAI;IAI1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuDtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI;IASpD,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAQtC,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAYxC,iBAAiB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAgB9C,YAAY,IAAI,MAAM;IAItB,OAAO,CAAC,aAAa;IAyGrB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,eAAe;IAgCvB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,kBAAkB;IA2E1B,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAejC,OAAO,CAAC,cAAc;IA0BtB,OAAO,CAAC,oBAAoB;IAkD5B,OAAO,CAAC,qBAAqB;YA6Cf,wBAAwB;IA2FtC,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,gBAAgB;IA4BxB,cAAc,IAAI,oBAAoB,GAAG,IAAI;CAG9C"}
@@ -523,13 +523,25 @@ export class DashboardServer {
523
523
  const discover = mcpConfig['discoverAllSkills'];
524
524
  if (discover) {
525
525
  const discovered = await discover();
526
+ const discoveredNames = new Set(discovered.map((s) => s.name));
526
527
  allSkills = discovered.map((s) => ({
527
528
  name: s.name,
528
- platform: s.platform,
529
+ platform: s.platformId ?? s.platform ?? 'unknown',
529
530
  command: s.command,
530
531
  whitelisted: whitelistedNames.has(s.name),
531
532
  source: whitelist.find((w) => w.name === s.name)?.source,
532
533
  }));
534
+ // Merge whitelist entries that were not found by discovery
535
+ for (const w of whitelist) {
536
+ if (!discoveredNames.has(w.name)) {
537
+ allSkills.push({
538
+ name: w.name,
539
+ platform: 'whitelist-only',
540
+ whitelisted: true,
541
+ source: w.source,
542
+ });
543
+ }
544
+ }
533
545
  }
534
546
  }
535
547
  catch {
@@ -540,6 +552,15 @@ export class DashboardServer {
540
552
  source: s.source,
541
553
  }));
542
554
  }
555
+ // If discovery returned nothing but whitelist has entries, merge them in
556
+ if (allSkills.length === 0 && whitelist.length > 0) {
557
+ allSkills = whitelist.map((s) => ({
558
+ name: s.name,
559
+ platform: 'whitelist-only',
560
+ whitelisted: true,
561
+ source: s.source,
562
+ }));
563
+ }
543
564
  this.jsonResponse(res, {
544
565
  skills: allSkills,
545
566
  total: allSkills.length,
@@ -752,13 +773,10 @@ body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;b
752
773
  <span>PANGUARD AI</span>
753
774
  </div>
754
775
  <div class="sb-nav">
755
- <div class="ni on" data-tab="overview"><svg viewBox="0 0 24 24"><path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/></svg><span data-i18n="n_ov">Overview</span></div>
756
- <div class="ni" data-tab="skills"><svg viewBox="0 0 24 24"><path d="M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4z"/></svg><span data-i18n="n_sk">Skills & Trust</span></div>
757
- <div class="ni" data-tab="ai"><svg viewBox="0 0 24 24"><path d="M21 10.12h-6.78l2.74-2.82c-2.73-2.7-7.15-2.8-9.88-.1-2.73 2.71-2.73 7.08 0 9.79s7.15 2.71 9.88 0C18.32 15.65 19 14.08 19 12.1h2c0 2.48-.94 4.96-2.83 6.86-3.72 3.72-9.75 3.72-13.47 0s-3.72-9.75 0-13.47c3.72-3.72 9.75-3.72 13.47 0L21 2.62v7.5z"/></svg><span data-i18n="n_ai">AI Setup</span></div>
758
- <div class="ni" data-tab="rules"><svg viewBox="0 0 24 24"><path d="M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm-1 9H8v-2h5v2zm3 4H8v-2h8v2zm-3-8V3.5L18.5 9H13z"/></svg><span data-i18n="n_ru">Rules</span></div>
759
- <div class="ni" data-tab="tcloud"><svg viewBox="0 0 24 24"><path d="M19.35 10.04A7.49 7.49 0 0012 4C9.11 4 6.6 5.64 5.35 8.04A5.994 5.994 0 000 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96z"/></svg><span data-i18n="n_tc">Threat Cloud</span></div>
776
+ <div class="ni on" data-tab="dashboard"><svg viewBox="0 0 24 24"><path d="M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4z"/></svg><span data-i18n="n_db">Dashboard</span></div>
760
777
  <div class="ni" data-tab="threats"><svg viewBox="0 0 24 24"><path d="M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"/></svg><span data-i18n="n_th">Threats</span></div>
761
- <div class="ni" data-tab="guide"><svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z"/></svg><span data-i18n="n_gd">Guide</span></div>
778
+ <div class="ni" data-tab="rules"><svg viewBox="0 0 24 24"><path d="M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm-1 9H8v-2h5v2zm3 4H8v-2h8v2zm-3-8V3.5L18.5 9H13z"/></svg><span data-i18n="n_ru">Rules</span></div>
779
+ <div class="ni" data-tab="settings"><svg viewBox="0 0 24 24"><path d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 00.12-.61l-1.92-3.32a.49.49 0 00-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.48.48 0 00-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96a.49.49 0 00-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.07.62-.07.94s.02.64.07.94l-2.03 1.58a.49.49 0 00-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6A3.6 3.6 0 1115.6 12 3.6 3.6 0 0112 15.6z"/></svg><span data-i18n="n_st">Settings</span></div>
762
780
  </div>
763
781
  <div class="sb-ft">
764
782
  <div class="ws-b"><div class="ws-d" id="wd"></div><span id="wl">Disconnected</span></div>
@@ -772,56 +790,62 @@ body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;b
772
790
  <span class="pb-txt" id="pb-txt">PROTECTED</span>
773
791
  <span id="pb-detail">| -- rules active | Last event: --</span>
774
792
  </div>
775
- <!-- Overview -->
776
- <div class="pg on" id="p-overview">
777
- <div class="pt" data-i18n="t_ov"><em>Overview</em></div>
778
- <div class="pd" data-i18n="d_ov">Real-time system status. All metrics update automatically via WebSocket.</div>
779
- <div class="cg">
780
- <div class="cd"><div class="cl" data-i18n="mode">Mode</div><div class="cv" id="v-mode">--</div></div>
781
- <div class="cd"><div class="cl" data-i18n="events">Events</div><div class="cv sg" id="v-ev">0</div></div>
782
- <div class="cd"><div class="cl" data-i18n="threats">Threats</div><div class="cv" id="v-th">0</div></div>
783
- <div class="cd"><div class="cl" data-i18n="uptime">Uptime</div><div class="cv sg" id="v-up">0s</div></div>
793
+ <!-- Dashboard (merged Overview + Skills & Trust) -->
794
+ <div class="pg on" id="p-dashboard">
795
+ <div class="pt" data-i18n="t_db"><em>Dashboard</em></div>
796
+
797
+ <!-- Security Score -->
798
+ <div id="sec-score" style="background:linear-gradient(135deg,rgba(139,154,142,0.15),rgba(139,154,142,0.05));border:1px solid var(--bd);border-radius:12px;padding:24px;margin-bottom:20px">
799
+ <div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:12px">
800
+ <div style="font-size:14px;font-weight:600;color:var(--fg)" data-i18n="sec_score">Security Score</div>
801
+ <div style="font-size:13px;font-weight:600" id="sec-tier">Tier 1-2 (Regex + Heuristic)</div>
784
802
  </div>
785
- <div class="cg">
786
- <div class="cd"><div class="cl" data-i18n="learning">Learning</div><div class="cv" id="v-lr">0%</div></div>
787
- <div class="cd"><div class="cl" data-i18n="confidence">Confidence</div><div class="cv" id="v-cf">0%</div></div>
788
- <div class="cd"><div class="cl" data-i18n="memory">Memory</div><div class="cv sg" id="v-mem">0 MB</div></div>
789
- <div class="cd"><div class="cl" data-i18n="actions">Actions</div><div class="cv sg" id="v-act">0</div></div>
803
+ <div style="display:flex;align-items:baseline;gap:8px;margin-bottom:8px">
804
+ <div style="font-size:48px;font-weight:700;color:var(--ok)" id="sec-num">--</div>
805
+ <div style="font-size:16px;color:var(--tm)">/100</div>
790
806
  </div>
791
- <div class="st" data-i18n="det_rules">Detection Rules</div>
792
- <div class="cg">
793
- <div class="cd"><div class="cl">ATR</div><div class="cv-sm sg" id="v-atr">--</div></div>
807
+ <div style="background:var(--bg);border-radius:6px;height:8px;overflow:hidden;margin-bottom:12px">
808
+ <div id="sec-bar" style="height:100%;background:var(--ok);border-radius:6px;width:0%;transition:width 0.5s"></div>
794
809
  </div>
795
- <div class="st" data-i18n="skill_sum">Skill Summary</div>
796
- <div class="cg">
797
- <div class="cd"><div class="cl" data-i18n="wl_skills">Whitelisted</div><div class="cv-sm ok" id="v-wsk">--</div></div>
798
- <div class="cd"><div class="cl" data-i18n="tr_skills">Tracked</div><div class="cv-sm sg" id="v-tsk">--</div></div>
799
- <div class="cd"><div class="cl" data-i18n="st_fp">Stable FP</div><div class="cv-sm sg" id="v-sfp">--</div></div>
810
+ <div style="display:flex;gap:20px;font-size:12px;color:var(--tm)">
811
+ <span><span id="v-ev" style="color:var(--ok);font-weight:600">0</span> events scanned</span>
812
+ <span><span id="v-th" style="font-weight:600">0</span> threats blocked</span>
813
+ <span><span id="v-atr" style="color:var(--sage);font-weight:600">--</span> rules active</span>
814
+ <span data-i18n="uptime">Uptime</span>: <span id="v-up" style="font-weight:600">0s</span>
800
815
  </div>
801
- <div class="st" data-i18n="timeline">Event Timeline</div>
802
- <div class="tl" id="evl"><div class="reassure" id="evl-empty">No threats detected. Your agents are running safely.</div></div>
803
816
  </div>
804
817
 
805
- <!-- Skills & Trust -->
806
- <div class="pg" id="p-skills">
807
- <div class="pt" data-i18n="t_sk"><em>Skills & Trust</em></div>
808
- <div class="pd" data-i18n="d_sk">Panguard audits every MCP skill installed on your system. Safe skills are auto-whitelisted; risky ones are flagged for your review. This page shows all installed skills and their trust status.</div>
809
- <div class="cg" id="sk-sum">
810
- <div class="cd"><div class="cl" data-i18n="total">Total Installed</div><div class="cv sg" id="sk-t">--</div></div>
811
- <div class="cd"><div class="cl" data-i18n="wl_count">Whitelisted</div><div class="cv ok" id="sk-wl">--</div></div>
812
- <div class="cd"><div class="cl" data-i18n="tr_count">Tracked / Unknown</div><div class="cv w" id="sk-tr">--</div></div>
818
+ <!-- LLM Upgrade CTA (shown when no Layer 3) -->
819
+ <div id="llm-cta" style="background:linear-gradient(135deg,rgba(223,179,23,0.1),rgba(223,179,23,0.03));border:1px solid rgba(223,179,23,0.3);border-radius:12px;padding:20px;margin-bottom:20px;display:none">
820
+ <div style="display:flex;justify-content:space-between;align-items:flex-start">
821
+ <div>
822
+ <div style="font-size:14px;font-weight:600;color:var(--fg);margin-bottom:6px" data-i18n="upgrade_title">Upgrade Your Protection</div>
823
+ <div style="font-size:12px;color:var(--tm);margin-bottom:10px;line-height:1.5" data-i18n="upgrade_desc">Your Guard runs Tier 1-2 (regex only, 62.7% detection). Connect an LLM to unlock Tier 3:</div>
824
+ <div style="font-size:12px;color:var(--tm);line-height:1.8">
825
+ <span style="color:var(--ok)">+</span> <span data-i18n="up1">Catch attacks in ANY language</span><br>
826
+ <span style="color:var(--ok)">+</span> <span data-i18n="up2">Detect paraphrased injection</span><br>
827
+ <span style="color:var(--ok)">+</span> <span data-i18n="up3">Context-aware: know if "delete all" is real or attack</span><br>
828
+ <span style="color:var(--ok)">+</span> <span data-i18n="up4">New attack types detected automatically</span>
813
829
  </div>
814
- <div class="st" data-i18n="all_skills">All Installed Skills</div>
815
- <div id="isk-loading" class="empty"><span class="spin"></span> Loading installed skills...</div>
816
- <table class="tb" id="isk-table" style="display:none"><thead><tr><th>#</th><th data-i18n="name">Name</th><th data-i18n="platform">Platform</th><th data-i18n="trust">Trust Status</th><th data-i18n="source">Source</th></tr></thead><tbody id="isk-tb"></tbody></table>
817
- <hr class="divider">
818
- <div class="st" data-i18n="whitelist">Whitelisted Skills</div>
819
- <table class="tb"><thead><tr><th>#</th><th data-i18n="name">Name</th><th data-i18n="source">Source</th><th data-i18n="reason">Reason</th><th data-i18n="date">Date</th></tr></thead><tbody id="sk-tb"></tbody></table>
830
+ </div>
831
+ <button class="btn btn-s" onclick="nav('settings')" style="white-space:nowrap" data-i18n="connect_llm">Connect LLM</button>
832
+ </div>
833
+ <div style="font-size:11px;color:var(--tm);margin-top:8px" data-i18n="free_options">Free options: Gemini (free tier) / Ollama (local)</div>
834
+ </div>
835
+
836
+ <!-- Skills -->
837
+ <div class="st" data-i18n="all_skills">All Skills</div>
838
+ <div id="isk-loading" class="empty"><span class="spin"></span> Loading skills...</div>
839
+ <table class="tb" id="isk-table" style="display:none"><thead><tr><th>#</th><th data-i18n="name">Name</th><th data-i18n="platform">Platform</th><th data-i18n="trust">Status</th></tr></thead><tbody id="isk-tb"></tbody></table>
840
+
841
+ <!-- Event Timeline -->
842
+ <div class="st" style="margin-top:20px" data-i18n="timeline">Recent Activity</div>
843
+ <div class="tl" id="evl"><div class="reassure" id="evl-empty" data-i18n="no_threats">No threats detected. Your agents are running safely.</div></div>
820
844
  </div>
821
845
 
822
- <!-- AI Setup -->
823
- <div class="pg" id="p-ai">
824
- <div class="pt" data-i18n="t_ai"><em>AI Configuration</em></div>
846
+ <!-- Settings (merged AI Setup + Guide) -->
847
+ <div class="pg" id="p-settings">
848
+ <div class="pt" data-i18n="t_st"><em>Settings</em></div>
825
849
  <div class="pd" data-i18n="d_ai">Panguard uses a 3-layer detection system. Layer 1 (rules) and Layer 2 (fingerprint & heuristic) are always active with zero config. Layer 3 uses cloud AI for the deepest analysis -- configure your API key below.</div>
826
850
 
827
851
  <div class="fs">
@@ -897,11 +921,29 @@ body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;b
897
921
  <h3 data-i18n="why_contrib">Why Contribute?</h3>
898
922
  <div class="desc" data-i18n="why_desc">Threat actors evolve constantly. Community-contributed ATR rules create a collective defense network where every participant strengthens the security of all. Your device's unique threat observations may detect patterns unseen by others.</div>
899
923
  </div>
924
+ <hr class="divider">
925
+ <div class="st" data-i18n="t_tc">Threat Cloud</div>
926
+ <div id="tc-loading-inline" class="empty"><span class="spin"></span> Loading Threat Cloud status...</div>
927
+ <div id="tc-content-inline" style="display:none">
928
+ <div class="cg">
929
+ <div class="cd"><div class="cl" data-i18n="tc_status">Status</div><div class="cv-sm" id="tc-en2">--</div></div>
930
+ <div class="cd"><div class="cl" data-i18n="tc_uploaded">Uploaded</div><div class="cv-sm sg" id="tc-up2">0</div></div>
931
+ <div class="cd"><div class="cl" data-i18n="tc_received">Rules Received</div><div class="cv-sm sg" id="tc-recv2">0</div></div>
932
+ </div>
933
+ <div class="fs">
934
+ <h3 data-i18n="upload_toggle">Anonymous Upload</h3>
935
+ <div class="desc" data-i18n="upload_desc">When enabled, anonymized threat data is uploaded to Threat Cloud. No personal data, file contents, or source code is ever sent.</div>
936
+ <div style="display:flex;align-items:center;gap:12px;margin-bottom:12px">
937
+ <div class="toggle" id="tc-toggle2" onclick="toggleUpload()"></div>
938
+ <span id="tc-toggle-label2" style="font-size:13px;font-weight:600">--</span>
939
+ </div>
940
+ </div>
941
+ </div>
900
942
  </div>
901
943
  </div>
902
944
 
903
- <!-- Threat Cloud -->
904
- <div class="pg" id="p-tcloud">
945
+ <!-- Threat Cloud (merged into Rules page as section) -->
946
+ <div class="pg" id="p-tcloud" style="display:none">
905
947
  <div class="pt" data-i18n="t_tc"><em>Threat Cloud</em></div>
906
948
  <div class="pd" data-i18n="d_tc">Threat Cloud is Panguard's anonymous threat intelligence sharing network. Your device can optionally upload anonymized threat data to help the community, and receives updated detection rules in return.</div>
907
949
  <div id="tc-loading" class="empty"><span class="spin"></span> Loading Threat Cloud status...</div>
@@ -966,8 +1008,8 @@ body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;b
966
1008
  <div class="tl" id="vl"></div>
967
1009
  </div>
968
1010
 
969
- <!-- Guide -->
970
- <div class="pg" id="p-guide">
1011
+ <!-- Guide (hidden, merged into Settings) -->
1012
+ <div class="pg" id="p-guide" style="display:none">
971
1013
  <div class="pt" data-i18n="t_gd"><em>Getting Started</em></div>
972
1014
  <div class="pd" data-i18n="d_gd">Follow these steps to activate full protection. Each step builds on the previous one. Once all steps are complete, Panguard Guard will continuously monitor and protect your system.</div>
973
1015
  <div class="fs">
@@ -986,9 +1028,11 @@ body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;b
986
1028
 
987
1029
  <script>
988
1030
  var T={
989
- en:{n_ov:'Overview',n_sk:'Skills & Trust',n_ai:'AI Setup',n_ru:'Rules',n_tc:'Threat Cloud',n_th:'Threats',n_gd:'Guide',
990
- t_ov:'<em>Overview</em>',t_sk:'<em>Skills & Trust</em>',t_ai:'<em>AI Configuration</em>',t_ru:'<em>Detection Rules</em>',t_tc:'<em>Threat Cloud</em>',t_th:'<em>Threat Intelligence</em>',t_gd:'<em>Getting Started</em>',
991
- d_ov:'Real-time system status. All metrics update automatically via WebSocket.',
1031
+ en:{n_db:'Dashboard',n_th:'Threats',n_ru:'Rules',n_st:'Settings',
1032
+ t_db:'<em>Dashboard</em>',t_st:'<em>Settings</em>',t_ru:'<em>Detection Rules</em>',t_th:'<em>Threat Intelligence</em>',
1033
+ sec_score:'Security Score',upgrade_title:'Upgrade Your Protection',upgrade_desc:'Your Guard runs Tier 1-2 (regex only, 62.7% detection). Connect an LLM to unlock Tier 3:',
1034
+ up1:'Catch attacks in ANY language',up2:'Detect paraphrased injection',up3:'Context-aware: know if "delete all" is real or attack',up4:'New attack types detected automatically',
1035
+ connect_llm:'Connect LLM',free_options:'Free options: Gemini (free tier) / Ollama (local)',no_threats:'No threats detected. Your agents are running safely.',
992
1036
  d_sk:'Panguard audits every MCP skill installed on your system. Safe skills are auto-whitelisted; risky ones are flagged for your review.',
993
1037
  d_ai:'Panguard uses a 3-layer detection system. Layer 1 (rules) and Layer 2 (fingerprint & heuristic) are always active with zero config. Layer 3 uses cloud AI for the deepest analysis -- configure your API key below.',
994
1038
  d_ru:'Panguard uses a 3-layer rule system to detect threats. Rules sync automatically from Threat Cloud every hour. ATR rules are community-driven, auto-drafted by AI from real threat patterns.',
@@ -1027,8 +1071,11 @@ wc_s2t:'Connecting Dashboard',wc_s2d:'Establishing real-time data channels...',
1027
1071
  wc_s3t:'Loading System Status',wc_s3d:'Reading current protection state and metrics...',
1028
1072
  wc_s4t:'Ready',wc_s4d:'All systems initialized. Welcome aboard.',
1029
1073
  wc_btn:'Enter Dashboard'},
1030
- zh:{n_ov:'\u7e3d\u89bd',n_sk:'\u6280\u80fd\u8207\u4fe1\u4efb',n_ai:'AI \u8a2d\u5b9a',n_ru:'\u5075\u6e2c\u898f\u5247',n_tc:'\u5a01\u8105\u96f2',n_th:'\u5a01\u8105\u60c5\u5831',n_gd:'\u5feb\u901f\u958b\u59cb',
1031
- t_ov:'<em>\u7cfb\u7d71\u7e3d\u89bd</em>',t_sk:'<em>\u6280\u80fd\u8207\u4fe1\u4efb</em>',t_ai:'<em>AI \u914d\u7f6e</em>',t_ru:'<em>\u5075\u6e2c\u898f\u5247</em>',t_tc:'<em>\u5a01\u8105\u96f2</em>',t_th:'<em>\u5a01\u8105\u60c5\u5831</em>',t_gd:'<em>\u5feb\u901f\u958b\u59cb</em>',
1074
+ zh:{n_db:'\u5100\u8868\u677f',n_th:'\u5a01\u8105\u60c5\u5831',n_ru:'\u5075\u6e2c\u898f\u5247',n_st:'\u8a2d\u5b9a',
1075
+ t_db:'<em>\u5100\u8868\u677f</em>',t_st:'<em>\u8a2d\u5b9a</em>',t_ru:'<em>\u5075\u6e2c\u898f\u5247</em>',t_th:'<em>\u5a01\u8105\u60c5\u5831</em>',
1076
+ sec_score:'\u5b89\u5168\u5206\u6578',upgrade_title:'\u5347\u7d1a\u4fdd\u8b77',upgrade_desc:'\u60a8\u7684 Guard \u76ee\u524d\u904b\u884c Tier 1-2\uff08\u50c5 regex\uff0c62.7% \u5075\u6e2c\u7387\uff09\u3002\u9023\u63a5 LLM \u89e3\u9396 Tier 3\uff1a',
1077
+ up1:'\u652f\u63f4\u4efb\u4f55\u8a9e\u8a00\u7684\u653b\u64ca\u5075\u6e2c',up2:'\u5075\u6e2c\u91cd\u65b0\u6392\u5217\u7684\u6ce8\u5165\u653b\u64ca',up3:'\u8a9e\u5883\u611f\u77e5\uff1a\u5224\u65b7\u300c\u522a\u9664\u5168\u90e8\u300d\u662f\u6b63\u5e38\u6307\u4ee4\u9084\u662f\u653b\u64ca',up4:'\u81ea\u52d5\u5075\u6e2c\u65b0\u578b\u653b\u64ca\uff0c\u7121\u9700\u7b49\u5f85\u898f\u5247\u66f4\u65b0',
1078
+ connect_llm:'\u9023\u63a5 LLM',free_options:'\u514d\u8cbb\u9078\u9805\uff1aGemini\uff08\u514d\u8cbb\u65b9\u6848\uff09/ Ollama\uff08\u672c\u5730\u57f7\u884c\uff09',no_threats:'\u672a\u5075\u6e2c\u5230\u5a01\u8105\u3002\u60a8\u7684 AI \u4ee3\u7406\u6b63\u5b89\u5168\u904b\u884c\u3002',
1032
1079
  d_ov:'\u5373\u6642\u7cfb\u7d71\u72c0\u614b\u3002\u6240\u6709\u6307\u6a19\u900f\u904e WebSocket \u81ea\u52d5\u66f4\u65b0\u3002',
1033
1080
  d_sk:'Panguard \u6703\u5be9\u8a08\u60a8\u7cfb\u7d71\u4e0a\u5b89\u88dd\u7684\u6bcf\u500b MCP skill\u3002\u5b89\u5168\u7684 skill \u6703\u81ea\u52d5\u52a0\u5165 whitelist\uff0c\u6709\u98a8\u96aa\u7684\u6703\u6a19\u8a18\u4f9b\u60a8\u5be9\u67e5\u3002',
1034
1081
  d_ai:'Panguard \u4f7f\u7528\u4e09\u5c64\u5075\u6e2c\u7cfb\u7d71\u3002Layer 1 (Rules) \u548c Layer 2 (Fingerprint & Heuristic) \u59cb\u7d42\u6d3b\u8e8d\uff0c\u96f6\u914d\u7f6e\u3002Layer 3 \u4f7f\u7528 Cloud AI \u9032\u884c\u6700\u6df1\u5ea6\u5206\u6790 -- \u5728\u4e0b\u65b9\u914d\u7f6e API key\u3002',
@@ -1073,7 +1120,7 @@ var lang=(function(){try{var s=localStorage.getItem('panguard_lang');if(s==='zh'
1073
1120
 
1074
1121
  function TL(){lang=lang==='en'?'zh':'en';try{localStorage.setItem('panguard_lang',lang)}catch(e){}document.querySelectorAll('[data-i18n]').forEach(function(e){var k=e.getAttribute('data-i18n');if(T[lang][k]){if(e.tagName==='INPUT')e.placeholder=T[lang][k];else if(k.indexOf('t_')===0||k.indexOf('d_')===0||k==='go_ai')e.innerHTML=T[lang][k];else e.textContent=T[lang][k]}});document.querySelectorAll('[data-i18n-wc]').forEach(function(e){var k=e.getAttribute('data-i18n-wc');if(T[lang][k]){if(k==='wc_title')e.innerHTML=T[lang][k];else e.textContent=T[lang][k]}});updateG6();}
1075
1122
 
1076
- function nav(t){document.querySelectorAll('.ni').forEach(function(n){n.classList.remove('on')});document.querySelector('[data-tab="'+t+'"]').classList.add('on');document.querySelectorAll('.pg').forEach(function(p){p.classList.remove('on')});document.getElementById('p-'+t).classList.add('on');if(t==='skills'){ldSk();ldISk()}if(t==='ai')loadAI();if(t==='rules')ldRules();if(t==='tcloud')ldTCloud();if(t==='threats')ldTh();if(t==='guide')updG();}
1123
+ function nav(t){document.querySelectorAll('.ni').forEach(function(n){n.classList.remove('on')});var tab=document.querySelector('[data-tab="'+t+'"]');if(tab)tab.classList.add('on');document.querySelectorAll('.pg').forEach(function(p){p.classList.remove('on')});var pg=document.getElementById('p-'+t);if(pg){pg.style.display='';pg.classList.add('on')}if(t==='dashboard'){ldSk();ldISk();ldSecScore()}if(t==='settings'){loadAI();updG()}if(t==='rules'){ldRules();ldTCloud()}if(t==='threats')ldTh()}
1077
1124
  document.querySelectorAll('.ni').forEach(function(n){n.addEventListener('click',function(){nav(this.getAttribute('data-tab'))})});
1078
1125
 
1079
1126
  function toast(m){var t=document.getElementById('toast');t.textContent=m;t.classList.add('show');setTimeout(function(){t.classList.remove('show')},2500)}
@@ -1113,7 +1160,8 @@ function updG(){af('/api/status').then(function(r){return r.json()}).then(functi
1113
1160
  function updateG6(){var el=document.getElementById('g6-status');var gn=document.getElementById('g6n');var mode=document.getElementById('v-mode').textContent;if(mode==='protection'||mode==='learning'){gn.classList.add('done');el.style.background='rgba(46,213,115,.1)';el.style.color='var(--ok)';el.textContent=lang==='zh'?'\u9632\u8b77\u5df2\u555f\u52d5 - Guard \u904b\u884c\u4e2d':'Protection Active - Guard is running'}else{el.style.background='rgba(239,68,68,.1)';el.style.color='var(--bad)';el.textContent=lang==='zh'?'\u5c1a\u672a\u555f\u52d5 - \u8acb\u57f7\u884c\u6b65\u9a5f 4':'Not started - complete step 4'}}
1114
1161
 
1115
1162
  /* Installed Skills */
1116
- function ldISk(){af('/api/installed-skills').then(function(r){return r.json()}).then(function(d){document.getElementById('isk-loading').style.display='none';document.getElementById('isk-table').style.display='';document.getElementById('sk-t').textContent=d.total||0;document.getElementById('sk-wl').textContent=d.whitelisted||0;document.getElementById('sk-tr').textContent=d.tracked||0;var tb=document.getElementById('isk-tb');tb.innerHTML='';if(!d.skills||d.skills.length===0){tb.innerHTML='<tr><td colspan="5" class="empty">'+(lang==='zh'?'\u672a\u627e\u5230\u5df2\u5b89\u88dd\u6280\u80fd':'No installed skills found')+'</td></tr>';return}d.skills.forEach(function(s,i){var tr=document.createElement('tr');var st=s.whitelisted?'<span class="badge badge-ok">Whitelisted</span>':'<span class="badge badge-w">Tracked</span>';tr.innerHTML='<td>'+(i+1)+'</td><td>'+esc(s.name||'')+'</td><td>'+esc(s.platform||'--')+'</td><td>'+st+'</td><td style="color:var(--tm);font-size:12px">'+esc(s.source||'--')+'</td>';tb.appendChild(tr)})}).catch(function(){document.getElementById('isk-loading').innerHTML='<span style="color:var(--bad)">Failed to load skills</span>'})}
1163
+ function ldISk(){af('/api/installed-skills').then(function(r){return r.json()}).then(function(d){document.getElementById('isk-loading').style.display='none';document.getElementById('isk-table').style.display='';var tb=document.getElementById('isk-tb');tb.innerHTML='';if(!d.skills||d.skills.length===0){tb.innerHTML='<tr><td colspan="4" class="empty">'+(lang==='zh'?'\u672a\u627e\u5230\u6280\u80fd':'No skills found')+'</td></tr>';return}d.skills.sort(function(a,b){return a.whitelisted===b.whitelisted?0:a.whitelisted?1:-1});d.skills.forEach(function(s,i){var tr=document.createElement('tr');var st=s.whitelisted?'<span class="badge badge-ok">'+(lang==='zh'?'\u5b89\u5168':'Safe')+'</span>':'<span class="badge badge-w">'+(lang==='zh'?'\u8ffd\u8e64\u4e2d':'Tracked')+'</span>';tr.innerHTML='<td>'+(i+1)+'</td><td>'+esc(s.name||'')+'</td><td style="color:var(--tm);font-size:12px">'+esc(s.platform||'--')+'</td><td>'+st+'</td>';tb.appendChild(tr)})}).catch(function(){document.getElementById('isk-loading').innerHTML='<span style="color:var(--bad)">Failed to load skills</span>'})}
1164
+ function ldSecScore(){af('/api/status').then(function(r){return r.json()}).then(function(d){var hasL3=d.config&&d.config.layer3&&d.config.layer3.provider;var base=hasL3?85:70;var evBonus=Math.min((d.eventCount||0)/10000,10);var thPenalty=Math.min((d.threatCount||0)*5,20);var score=Math.max(0,Math.min(100,Math.round(base+evBonus-thPenalty)));document.getElementById('sec-num').textContent=score;document.getElementById('sec-bar').style.width=score+'%';document.getElementById('sec-bar').style.background=score>=80?'var(--ok)':score>=50?'#dfb317':'var(--bad)';document.getElementById('sec-tier').textContent=hasL3?'Tier 1-3 (Regex + Heuristic + LLM)':'Tier 1-2 (Regex + Heuristic)';document.getElementById('sec-tier').style.color=hasL3?'var(--ok)':'#dfb317';var cta=document.getElementById('llm-cta');if(cta)cta.style.display=hasL3?'none':'block'}).catch(function(){})}
1117
1165
 
1118
1166
  /* Rules */
1119
1167
  function ldRules(){af('/api/rules').then(function(r){return r.json()}).then(function(d){document.getElementById('ru-loading').style.display='none';document.getElementById('ru-content').style.display='';document.getElementById('ru-atr').textContent=d.atr||0;document.getElementById('v-atr').textContent=d.atr||0;document.getElementById('ru-atr-m').textContent=d.atrMatchCount||0;document.getElementById('ru-atr-p').textContent=d.atrDrafterPatterns||0;document.getElementById('ru-atr-s').textContent=d.atrDrafterSubmitted||0;var sub=d.atrDrafterSubmitted||0;var cm=document.getElementById('contrib-msg');if(sub>0){cm.textContent=lang==='zh'?'\u60a8\u7684\u88dd\u7f6e\u5df2\u5411\u793e\u7fa4\u8ca2\u737b '+sub+' \u500b ATR \u63d0\u6848':'Your device has contributed '+sub+' ATR proposal(s) to the community'}else{cm.textContent=lang==='zh'?'\u5c1a\u7121\u8ca2\u737b\u3002\u5b88\u8b77\u5f15\u64ce\u6301\u7e8c\u904b\u884c\u5f8c\u6703\u81ea\u52d5\u751f\u6210':'No contributions yet. ATR proposals will be auto-generated as the guard engine runs.'}var sync=d.lastSync?new Date(d.lastSync).toLocaleString():'--';document.getElementById('ru-sync').textContent=lang==='zh'?'\u4e0a\u6b21\u540c\u6b65: '+sync:'Last sync: '+sync}).catch(function(){document.getElementById('ru-loading').innerHTML='<span style="color:var(--bad)">Failed to load rules</span>'})}
@@ -1141,7 +1189,7 @@ gTk();
1141
1189
  function enterDashboard(){
1142
1190
  localStorage.setItem('panguard_welcomed','1');
1143
1191
  document.getElementById('welcome').classList.add('hide');
1144
- setTimeout(function(){document.getElementById('welcome').style.display='none';nav('overview');showFirstVisitToast()},600);
1192
+ setTimeout(function(){document.getElementById('welcome').style.display='none';nav('dashboard');showFirstVisitToast()},600);
1145
1193
  }
1146
1194
  function showFirstVisitToast(){
1147
1195
  var t=document.getElementById('toast');