A remote-access tool hands someone else your computer. Everything below exists to make sure that only happens when you meant it to.
Read this first, before anything technical.
If somebody phoned, emailed or messaged you and asked you to install this app and read them a number — stop. That is the shape of almost every remote-access fraud there has ever been. No bank, no courier, no tax office, no "Microsoft technician" and no cryptocurrency exchange will ever ask for remote access to your computer. Whoever is on the other end will be able to do everything you can do, including open your online banking while you watch and while it looks like nothing is happening.
Close the app. Hang up. Call the organisation back on a number you looked up yourself.
Your DuoDesk-ID is an address, not a key. Someone who has it can make your computer ask you a question, and nothing else. Every incoming request produces a dialog that:
Set a password and the machine can answer when nobody is sitting at it. This is the one setting that genuinely opens a door, so it is worth understanding how it is handled.
scrypt(password, salt) — never the password itself. A caller proves they know it by returning HMAC(verifier, nonce) for a nonce that exists only for that one session. Recording the connection gains an eavesdropper nothing, and replaying it later gains them nothing either.A standard TOTP secret you add to any authenticator app. When it is on, the password alone is not enough: the six-digit code is checked on your own machine, with one step of clock drift allowed either way, and a wrong code counts as a failed attempt.
Under Security → Who may connect, a machine can be switched from "anyone who knows my ID, and I decide each time" to only these IDs. On that setting an unknown ID is refused before anything appears on your screen — nothing pops up, nothing rings, there is nothing to misclick. There is a block list for the reverse case.
Permissions are granted per session and enforced on the machine being controlled, not requested politely by the machine doing the controlling. A viewer that sends a keystroke it was not granted has that keystroke dropped on arrival. You can revoke any of them mid-session from the Sessions list, and the change takes effect immediately:
The rendezvous server introduces two machines and then forwards opaque blobs between them. It stores three things: which ID belongs to which public key, a line per session saying which two IDs talked and for how long, and a ban list. It never sees your screen, your keystrokes, your clipboard, your files, your file names or your password — the first two because the media path is end-to-end encrypted between the peers, and the rest because they are checked on your own computer before anything is sent.
Your own session log lives on your machine, in the app, under Sessions.
On macOS, DuoDesk cannot show your screen without Screen Recording and cannot be controlled without Accessibility, both granted by hand in System Settings → Privacy & Security. The app says so on its front page when either is missing, and a caller trying to connect to a machine that cannot capture is refused with that exact reason rather than left staring at a black rectangle. On Wayland, capture goes through the desktop portal and may ask each time.
The honest summary. DuoDesk's transport is as strong as a video call's and its defaults are cautious, but no amount of cryptography helps against a person who is talked into pressing Accept. The accept dialog, the stranger warning and the allow list exist for that reason, and they are the parts worth actually using.
Found a security problem in DuoDesk? Say so before you say it anywhere else — the app and this site are maintained by one person and a real bug will be fixed rather than argued with.