A private remote workstation for two machines. You sit at the viewer and work on a virtual display the host creates for you. With permission granted at the host, you can also see and control one of its real screens.
Two apps, nothing else:
- Sensorium runs on the machine you sit at.
- Sensorium Host runs on the machine you work on.
No account, no relay, no telemetry, no command line.
- One viewer machine and one host machine.
- macOS 13 or later on both machines. Built and tested only on macOS 26. Linux support is planned.
- Both on the same Tailscale tailnet. Nothing else can reach the host.
- Build both apps with
SENSORIUM_ALLOW_ADHOC=1 ./Scripts/package-apps.sh. See Install to keep permissions across rebuilds. - Open Sensorium Host on the host machine. Grant what its window asks for.
- Open Sensorium on the viewer machine. Pick the host. Type the six-digit code.
Docs:
- Install
- Permissions
- Privacy
- Threat model
- Wire protocol
- Host screen mode
- User interface spec
- Design system
- Testing
- Uninstall
Works between the two machines it was built for. Pairing, virtual display, pinned-identity QUIC transport, H.264 video, input, clipboard and reconnect all run. Host screen mode and its opt-in lock-screen unlock run too. Not signed, not notarized, not yet tested on other hardware.
Swift 6. No dependencies. No Xcode needed. Run the tests with
./Scripts/run-unit-tests.sh. See testing and
CONTEXT.md for the words the code uses.
- Changing physical displays. One exception: a host screen's resolution, on request, restored afterwards.
- Backend, accounts, browser viewer, relay, telemetry.
- Audio, file transfer, multiple users, pre-boot (FileVault) unlock.
GPL-3.0. Copyright (c) 2026 blutarche.