Real-time H.264 stream
The Mac's hardware encoder (VideoToolbox) delivers 30 frames per second and lowers the bit rate the moment the link narrows — the picture softens for a beat and sharpens again, rather than freezing and then jumping ahead.
Everything a working session needs is already in the app: picture, mouse, keyboard, clipboard. Nothing extra to install, no service to subscribe to, no configuration to remember.
The Mac's hardware encoder (VideoToolbox) delivers 30 frames per second and lowers the bit rate the moment the link narrows — the picture softens for a beat and sharpens again, rather than freezing and then jumping ahead.
The 6-digit code never crosses the wire. Both ends prove they know it via an HMAC over a fresh random challenge, then derive session keys from that PLUS an X25519 ECDH secret the server holds no part of, and wrap the video and input in authenticated ChaChaPoly.
The Mac at home registers with the meeting point over HTTPS and waits there. Two machines on one network connect directly; only distance sends them the long way round — and you never pick the route yourself.
Full gestures, a pointer that stays exactly where you touched, and a row of familiar macOS shortcuts so you never have to hunt through the on-screen keyboard.
Keyframes are rare; most of the time the link carries just the differences from the previous frame. Reading a document costs almost nothing — bandwidth only climbs when you start dragging windows around.
The same protocol runs inside Chrome or Safari: go to the remote page, type the ID and the code, and the screen is there. The browser's own WebCodecs decodes the H.264, the encryption is untouched, and closing the tab ends it — the borrowed machine keeps nothing of yours.
The server issues the ID once and it stays with that machine, which must sign with Ed25519 to claim it — nobody can impersonate your Mac. The last digit is a checksum, so a typo is caught on the spot, before anything is sent anywhere.
Copy here, paste there. The text rides inside the same encrypted stream — no extra port, no extra service.
macOS merges every active display into a single frame, so two wide screens double what has to travel. The panel can lower the resolution or mirror the second screen into the first — the only thing that genuinely cuts the data when the line is thin.
You rarely need the whole desktop. Pick one running app and only its window crosses the link: easier to read on a small screen, and whatever else is open stays your own business.
Dropped signal, a Wi-Fi switch, a phone that locked and woke again — the session quietly rebuilds itself, and you only see an error when the picture is genuinely stuck.
No stray windows, no Dock icon, no background updater. Start it once on the Mac at home and forget it is there.
Same protocol, same H.264 stream — but the person in front of each one works differently. One has a real keyboard and room for several windows, one has ten fingers on a small sheet of glass, and the third is a tab on somebody else's computer. So each build carries things the others do not.
One install covers both roles. The Mac you leave at home runs Client, the one you carry runs Remote, and two buttons at the bottom of the panel swap them whenever you like.
No main window, no Dock icon unless you want one, no background updater. Set it running on the Mac at home and forget about it — it can start itself every time you log in.
A sleeping Mac drops its connection, and Wake-on-LAN cannot cross your ISP's router. So the Mac at home schedules its own wake-ups in hardware, opens the door for a moment to see if anyone is calling, then goes back to sleep. While a session is running it keeps itself awake.
Each machine gets its own window, side by side on the same screen. Closing a window really does end the session — the app disconnects first and closes second, so nothing is left dangling.
Set a global hotkey and the panel appears from anywhere. It deliberately uses an old Carbon API so it does NOT have to ask for Accessibility — a Mac in Remote mode needs that permission for nothing else, and asking for something that heavy just to open a panel is worth being suspicious of.
On the same network a single magic packet wakes it right away, no waiting for the schedule. The wake button only appears when that packet can genuinely arrive — it never guesses “probably asleep” and hides the real error underneath.
macOS merges every active display into one frame: two 3440×1440 screens become 6880×1440, and all of it goes over the wire. The panel can lower the resolution or mirror the second screen into the first — the only thing that genuinely cuts how much has to travel.
A 1920-pixel Mac screen squeezed into 390 points of iPhone width means one fingertip covers about five pixels over there. Nearly everything in this build comes from that one number.
The pointer is drawn on the device in your hand rather than waiting for a frame to arrive from the Mac. Over a long link the picture is always a few hundred milliseconds late — let the pointer lag with it and every swipe looks like it is chasing your finger, and that sluggishness attaches itself to everything you do.
An iPad with a Magic Keyboard is the most serious way to use this. Every physical key, including combinations with ⌘ ⌥ ⌃ ⇧, goes straight to the Mac — no more typing on an on-screen keyboard that eats half the display.
A title bar is 28 pixels tall — about 5 points on an iPhone screen — and a resize edge is thinner than the error in your fingertip. So there is a proper panel for snapping a window to a half or a corner, moving it and resizing it: buttons instead of trying to hit a thread.
Finger speed is measured by the touch's own clock, not the display refresh — otherwise the same swipe gives different results on a 60 Hz and a 120 Hz screen. There is also a precision mode that slows the pointer right down for grabbing a divider or a title bar.
The combinations you actually use sit in a strip on screen: ⌘Q, ⌘Tab, screenshot, lock. You choose which ones appear. A few that macOS ignores when synthesised are wired to the real function instead of a fake keypress — measured one by one.
The floating toolbar sits exactly where the macOS menu bar is, so it hides itself after a few idle seconds and leaves one small button in the corner. Turn the device sideways and the key strip moves to a column on the right, on black that blends into the bezel so it never reads as part of the Mac's screen.
The list of apps open on the Mac sits in the toolbar: switch to one, quit it, or stream only its window. A small screen is easier to read with one app on it than a whole desktop — and the connection gets noticeably lighter too.
Not a cut-down viewer bolted on for show: this is a full client of the same protocol, with the same handshake and the same encryption. The Mac at the other end cannot tell whether it is talking to the app or to a Safari tab.
Nothing to download, nothing to install, nobody to sign in as. On a borrowed or shared machine, closing the tab leaves nothing of yours behind beyond the page it loaded like any other website.
The H.264 stream goes into WebCodecs and is painted straight onto a canvas — the same path the browser uses for video, so no plugin or extension is involved. The Mac has to be encoding in H.264; if you switched it to HEVC the page says so plainly instead of leaving you in front of a black rectangle.
⌘W, ⌘Q, ⌘T and ⌘N belong to the browser before they belong to you. Chrome hands most of them back in full screen; Safari has no such API, so those combinations live on a key strip on the page. Everything else types as it would on a real keyboard.
Copy on the machine you are sitting at, press one button, and the text lands in the Mac's clipboard. A browser only grants clipboard access on a deliberate action, so this is a button rather than a silent background sync.
The Mac app builds a ready-made link with the ID in it, to send to yourself or to someone else — but the 6-digit code is never in it. Anyone who finds the link is still standing outside the door. On the first connection the browser pins the Mac's key, and from then on a swapped key is refused.
A browser cannot open the kind of direct connection the app can, so there is no LAN shortcut here: every session goes the long way and counts against the free time allowance. When you are in the same house as the Mac, the app is still the better tool — faster, and no clock running.
Sometimes you cannot install anything: the machine at the café, a colleague's Windows laptop, the shared computer at the office. Open Chrome or Safari, go to the remote page, type the 9-digit ID and the 6-digit code — and your Mac's screen appears right there in the tab.
The page asks for the 9-digit ID, then the 6-digit code — the code is always typed by hand and never travels inside a link.
Windows, Linux, or an unfamiliar Mac all work. The only requirement is a reasonably recent browser.
Same handshake, same session keys, same ChaChaPoly as the app. The 6-digit code never crosses the wire, and the meeting point still cannot read a thing.
No account to sign out of, no app to uninstall. The machine you borrowed keeps nothing.
The browser build always goes via the meeting point, because a browser cannot open a direct connection, so every session counts against the free time allowance — this is where the app is genuinely better on a shared network. It needs a browser with WebCodecs (Chrome, Edge, or Safari 16.4 and later) and a Mac encoding in H.264.
Install the app on the Mac at home, give it a role, then type two numbers at the other end — from the app or from a browser, either works. Ten minutes or so, and nothing to disclose about yourself.