Skip to content

Recording Mode

Recording mode hides everything in ZestSSH’s own interface that could identify your infrastructure, so you can take a screenshot, record a demo or share your screen while asking for help without leaking a host name or an address. It masks, it does not record anything.

While recording mode is on, every place the app itself renders one of these values shows a stand-in instead:

ValueShown asExample
Host, group, workspace and account namesFirst two characters, three zeros, last twoProxmox Pve3 becomes Pr000e3
Names shorter than seven charactershost-NNkali becomes host-42
IPv4 addressesA documentation address (RFC 5737)10.20.0.24 becomes 192.0.2.17
IPv6 addressesA documentation address (RFC 3849)2001:db8::4f
DNS nameshost-NN.example.invalidnas.home becomes host-31.example.invalid
UsernamesuserNN[email protected] becomes [email protected]
Key names, saved-password labels, certificate key idskey-NN
Key comments and ssh-agent key namesThe user@host rule, or key-NN for a bare worddesktop@homelab becomes [email protected]
Key fingerprintsA fixed fake SHA256: value of the real length that decodes to REDACTED-BY-ZESTSSH-REC-MODE
Network profile names and Wi-Fi SSIDsSame rule as host namesNordlund-5G becomes No000G
Sync storage endpoints, S3 bucket names and key prefixesThe address rule for the host part; the name rule for a bucket
Passwords and API keysBullets

Editors follow the same rule. While recording mode is on, a field that holds one of these values (a host address, a username, a key’s display name, a group or network name, an SSID) shows the masked value and cannot be edited; tapping it offers to turn recording mode off. Nothing in the underlying record is changed.

The same real value always gets the same stand-in, so a host looks the same in the sidebar, on its card, in its tab and in every dialog, and a bug report can still say “the third Proxmox is the one that disconnects”. Two names that would collide get a counter (ap00001-1, ap00001-2), assigned in sorted order so they stay stable for the session.

Host and session counts stay readable: they help in a bug report and reveal little. A masked name never shows the real name’s length.

The terminal shows whatever the remote machine prints. Recording mode cannot rewrite live terminal output, so clear the terminal or open a fresh session before you share the screen while something sensitive is on it.

LevelWhat you seeUse it for
Layout (default)Keeps the shape of your names (Pr000e3) so you can still follow alongBug reports, demos to people you trust
StrictReplaces names with unrelated words (willow, basalt, cinder)Anything public

Someone who knows your setup may recognise a Layout-level name. Pick Strict when that matters. Change the level under Settings, Privacy.

  • Desktop: click the camera glyph in the title bar, next to the notification bell. It becomes a red REC pill while the mode is on. Ctrl+Shift+R toggles it (rebindable under Settings, Keyboard), and the command palette and the Help panel (?) have the same entry.
  • Mobile: Help, then the Recording mode switch.

The mode persists across restarts and never turns itself off, so a crash in the middle of a recording does not quietly start leaking.

Help panel, Copy redacted screenshot puts a PNG of the whole window on the clipboard with the app’s own chrome masked (host names, addresses, usernames, key names), without turning the mode on. Terminal output, file names and editor text are not masked: look at the image before you paste it into Discord. On Linux the button saves the PNG to a file instead.

Anything that would put a real value on screen or on the clipboard while the mode is on asks first: revealing a password or passphrase, copying a key or a fingerprint, copying a host address or an ssh command, exporting a backup, copying an SFTP path, copying an API key. The dialog’s default is Cancel; Turn off recording mode turns the mode off and then continues, so there is never a moment where a real value is visible while you believe you are protected. There is deliberately no “do not ask again”.

Sending a report with a redacted screenshot

Section titled “Sending a report with a redacted screenshot”

The in-app report form (Help panel, Report a bug) attaches screenshots redacted by default, and shows you the exact payload before you send. See Getting help.