Documentation Index
Fetch the complete documentation index at: https://docs.nusomi.com/llms.txt
Use this file to discover all available pages before exploring further.
The Nusomi desktop apps record everything in front of the user — every app, every window, including non-browser surfaces (Excel, SAP, Citrix, Tableau, custom internal tools). They speak the same session/frame/event model as the browser and SDK paths.
Install
curl -sL https://nusomi.com/install/macos | sh
- Apple-notarized, hardened runtime, sandboxed where possible.
- Auto-updates on a 7-day cadence (configurable).
- First launch prompts for Screen Recording + Accessibility permissions in System Settings → Privacy & Security.
iwr -Uri "https://nusomi.com/install/windows" -OutFile nusomi.msi
msiexec /i nusomi.msi /qn
- EV-codesigned MSI for SCCM / Intune deployment.
- Compatible with GPO and AD-aware install.
- No reboot required.
# Debian / Ubuntu
curl -sL https://nusomi.com/install/deb | sudo bash
# RHEL / Fedora
curl -sL https://nusomi.com/install/rpm | sudo bash
# Arch
yay -S nusomi
Supports Wayland and X11. AT-SPI is required for accessibility-tree extraction; install at-spi2-core if it’s missing.
What gets captured
| Surface | Frame source | AX tree |
|---|
| Native macOS apps | ScreenCaptureKit | AXUIElement |
| Native Windows apps | Windows.Graphics.Capture | UIA |
| Linux GTK / Qt | pipewire (Wayland) / XComposite (X11) | AT-SPI |
| Citrix / RDP / VNC | Capture surface only | None — vision pass extracts events |
| Browsers (when in foreground) | Native window capture + extension hand-off if installed | DOM via the browser extension |
Frame rate
Default capture is adaptive: 30 fps when the screen is changing, dropping to 1–5 fps when the screen is idle. This keeps storage and bandwidth bounded without losing fidelity during actual work.
To pin a fixed rate:
nusomi config set capture.fps 30
Trigger modes
The desktop app supports four ways to start a session:
| Mode | How |
|---|
| Manual | Click the menu bar icon → “Start recording.” |
| Hotkey | Default ⌥⇧R (mac) / Alt+Shift+R (win/linux). |
| Workflow trigger | App focuses a window matching a configured rule (e.g. bundle_id == com.salesforce.app). |
| SDK | A script calls nusomi.sessions.create(...) and the desktop app picks it up. |
Workflow triggers are configured per workspace in the dashboard or via the CLI:
nusomi workflows trigger add process_invoice \
--window-title "Invoice — *" \
--bundle-id com.intuit.QuickBooks
Multi-display
By default, only the display containing the foreground window is captured. To capture all displays:
nusomi config set capture.displays all
Permissions
Permissions are intentionally surfaced at first launch — Nusomi will not silently capture without them.
| Permission | Why |
|---|
| Screen Recording | Frames |
| Accessibility | AX tree (deterministic event extraction) |
| Input Monitoring | Click/key event timestamps |
If a permission is denied, capture continues with whatever’s available. The accuracy table on the frames & events page tells you how that affects event quality.
CLI
The desktop apps ship a nusomi CLI:
nusomi sessions list # recent sessions
nusomi sessions show ses_... # detail
nusomi config get / set / list # local config
nusomi doctor # permissions + connectivity check
nusomi self-host # configure pointer to a self-hosted control plane
Self-hosted
Point a desktop app at a self-hosted control plane:
nusomi self-host \
--control-plane https://nusomi.internal.acme.com \
--api-key nsk_local_...
See self-hosted overview.
Privacy controls
The desktop tray exposes:
- A pause button (frame capture suspends; events still stream if the SDK is driving).
- A redact next 30 seconds button — useful when an operator needs to type a credential.
- A delete this session button (only for sessions still in
recording state).