Mac@Xa
Security

It is not that we promise not to look — we cannot

There is no account to leak and no data store to raid, and nobody on our side has a route into your machine. Here is what actually runs under the hood.

  • A session key the server cannot guess

    A 6-digit code is only a million possibilities. If the session key came from that alone, whoever runs the server could record one handshake and try them all in under a second on an ordinary machine. So every session also exchanges an X25519 ECDH secret the server holds no part of. Exhausting all million codes still leaves 128 bits nobody can guess.

  • A separate key per direction

    Session keys are derived with HKDF-SHA256, one for each direction. Reusing a single key both ways is the classic mistake that breaks a stream cipher's guarantees — it is avoided here by design.

  • Every frame is sealed

    After the handshake, both video and input travel in authenticated ChaChaPoly with a counter as the nonce, so nothing from one session can be replayed into another.

  • The meeting point has nothing to read

    Its whole job is to let the two machines find each other and then splice the pipes together. It never sees the 6-digit code, and even knowing it would not be enough: the session key also mixes in a per-session ECDH secret the server holds no part of. Only random bytes pass through. Logs keep the session id, machine id, IP, byte count and duration — not one fragment of content.

  • The machine's key is pinned, the way SSH remembers a host

    The Mac's ECDH secret is signed with its permanent Ed25519 key — the same one it uses to claim its ID. On the first connection the controlling app pins that key, exactly as SSH remembers a host. If the meeting point ever tries to swap the key and sit in the middle, the app catches it from the second connection onwards. The old handshake was removed outright, with no fallback: leave one in place and an attacker simply forces both ends to speak the old version.

  • Nobody can impersonate your Mac

    If claiming an ID were enough, anyone could steal someone else’s. So each machine keeps an Ed25519 private key in its local store; on every registration the server issues a random challenge that the machine must sign — no signature, no ID.

  • Guessing IDs gets nowhere

    A 9-digit ID is scannable in theory. The server therefore rate-limits failed calls to ten per minute per IP and never tells the caller whether an ID is unknown or simply offline. Session tickets are single-use and expire after 20 seconds.

  • Secrets live in a file only you can open

    The ID and code sit in a local store readable only by your account on that machine. Nothing is synced to a cloud, nothing is backed up off the device.

  • System permissions kept to the minimum

    Screen Recording to send the picture, Accessibility to receive mouse and keyboard. macOS grants both, you can revoke them whenever you like, and the app stops at that moment.

Getting started is quick

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.