Skip to content

Dashboard

Tony West edited this page Aug 28, 2026 · 5 revisions

Dashboard

The Dashboard is the landing tab when you open the Joro UI. It is a configurable frame: a preset arrangement of slots, each holding a widget you choose, above a resizable bottom bar.

Widgets

  • Network Graph: a visual overview of operators, the team server, and C2 sessions, with the associations between them. Proxy mode only. Node labels and their hover tooltips — hostnames, addresses, and implant usernames — are barred while streamer mode is on (see Settings).
  • Detected Findings: a summary of passive scan results — a count per severity band plus the most recent findings. Clicking through jumps to Detect with the filter already applied. Proxy mode only.
  • Proxy Health: what the proxy is doing right now — bind address and port, UI port, whether the CA is present, whether a testing browser was detected, requests captured against the buffer size, the active project, both intercept toggles, scope state and rule count, and the upstream SOCKS proxy if one is set. Proxy mode only.
  • Automation Activity: capability calls made by automations and agents — calls in the last hour, denied and error counts, and the most recent calls. Runs started by a trigger or by you count here alongside an agent's calls; they hold no token, and the widget no longer hides them behind one. The active-tokens tile appears only when you have issued a token, so a Joro driven entirely by installed automations shows three tiles rather than a row of zeroes. When Joro was launched with --no-automation the widget says so instead of reading as idle. Clicking through jumps to Settings → Automation. See Automation. Proxy mode only.
  • Recent Interactions: out-of-band callbacks and XSS Hunter fires, newest first. See Interact.
  • Flagged Requests: requests your team has flagged, with the operator who flagged each one. Click to open the full request and response. Team server only.
  • Team Chat: the shared chat channel and its slash commands. Without a team server it degrades to a local-only scratchpad.
  • Active Users: every operator currently connected, their status, and your own status controls. Without a team server it lists just you.

Widgets that need proxy mode or a team server are still selectable in the layout editor — you may be configuring the other mode's layout — and are simply left out when the page renders, letting the remaining widgets take the space.

The dashboard only polls for the data its current widgets need, so a widget you remove costs nothing.

Layouts

Four presets decide how many slots you get and how they are arranged:

Preset Slots
Classic One large panel beside a stacked pair
Triptych Three equal columns
Grid Four equal panels in a 2×2
Single One full-width panel

Every preset also has two bottom-bar slots. The bar is drag-resizable, and disappears entirely when both its slots are empty.

Joro keeps two layouts and swaps between them automatically depending on whether you are connected to a team server. The team default is Classic — Network Graph beside Recent Interactions and Flagged Requests, with Team Chat and Active Users in the bar. The local default is Grid — Detected Findings, Recent Interactions, Automation Activity, and Proxy Health, with an empty bar. The Network Graph is one dropdown away in the layout editor; it moved out of the local default to make room, and an existing layout that still held it in that slot was migrated rather than reset.

Customizing

Open SettingsAppearanceDashboard layout.

Pick which of the two layouts you are editing with the Team / Local toggle; the one currently in use is marked. Choose a preset from the Layout dropdown, then assign a widget to each slot from its own dropdown. Widgets that will not render in that mode are annotated as such. Reset restores that mode's default.

Switching presets carries your widget choices across positionally, so you can try a different arrangement and switch back without losing your selections. This is deliberately not drag-and-drop.

Your layout is personal, not part of the engagement. It is stored per operator and travels in your User Config rather than the project file — see Settings and Projects.

Presence depends on the Team Chat widget

You appear online to your teammates only while the Team Chat widget is part of your active dashboard layout. Remove it and you announce yourself offline and drop off everyone's roster, and your own status dropdown greys out.

"Part of your layout" is not the same as "on screen" — switching to another tab does not take you offline. The layout editor warns you before you remove the widget. See Team-Server.

Replaced by a plugin

A plugin of type dashboard can replace this page entirely with its own UI, in which case the layout editor has no effect and says so. See Plugins.

Clone this wiki locally