A Windows screen-recording and keystroke-logging suite for consensual monitoring (self-auditing, documented testing, supervised devices).
v0.2 rewrite — Rust, single self-contained
.exe. The previous Python 3.12 + portable-Python + PyInstaller stack has been replaced with a native Rust application. The legacy Python code is preserved underlegacy/for reference; all new work lives inrust/.
- Download
silentwitness.exefrom the Releases page, or build it yourself (see below). - Place
ffmpeg.exeandffprobe.exeon your PATH, or drop them atffmpeg\bin\ffmpeg.exenext tosilentwitness.exe. - Run it:
.\silentwitness.exe # tray + recorder .\silentwitness.exe monitor # open the recordings/status window .\silentwitness.exe config # graphical config editor .\silentwitness.exe doctor # verify install
The first run writes a default config.toml to
%LOCALAPPDATA%\SilentWitness\config.toml — edit it via silentwitness config
or by hand.
- Single self-contained
.exe— no Python, no installer, no virtualenv. - Always-visible tray icon that changes colour while recording.
- Modern
eguiGUI — DPI-aware status monitor with a live recordings list, and a schema-validated config editor. - Automatic start / stop based on
GetLastInputInfoidle time. - Optional keystroke logging alongside video (Ctrl+V paste content is captured; printable/control keys are serialised with timestamps).
- Daily-rotated structured logs via
tracing. - Start Menu shortcut + HKCU\Run autostart installer
(
silentwitness install --autostart).
Legacy UI screenshots (still representative — same layout, new widgets):
Requires Rust 1.78+ and the MSVC toolchain on Windows.
cd rust
cargo build --release
# or, for a packaged release including LICENSE and README:
.\build.ps1 -ZipThe resulting rust\target\release\silentwitness.exe is fully self-contained
(minus the FFmpeg sidecar). CI builds are produced by
.github/workflows/release.yml on every tag
starting with v.
See rust/README.md for the full TOML
schema. Anything you could set in the old config.ini has an equivalent key.
This tool is not stealth software and must not be used as such. Before deploying:
- Only install on devices you own or administer.
- Notify every user whose keystrokes or screen will be recorded.
- Comply with local wiretap / privacy / workplace monitoring law.
- Store recordings on encrypted volumes.
Contributions that add anti-detection, process-hiding, or silent-install features will be rejected.
Non-commercial use only — see LICENSE.md.
The original Python suite (portable Python 3.12 + pyinstaller + PowerShell
setup scripts) lives in legacy/. It is no longer maintained but
remains runnable for anyone mid-migration.


