Security
The code stays with you; the screen stays between two ends.
Remote desktop is a door into your whole computer. This page explains how the door is locked and where the lock stops.
The code never reaches the relay
The one-time code is used by the two ends to agree on a shared key with SPAKE2. The code is never sent over the network. With a scheme that sends a hash of the code, the relay could try every code offline; with SPAKE2, the relay or anyone in the middle gets one guess per connection.
The code is 8 characters (about 40 bits) and changes after every session. After 3 failed attempts a new code is made; after 10 in one hour, sharing stops accepting connections until you restart it.
How the session is encrypted
From the shared secret, HKDF-SHA256 derives a separate key for each direction. Screen, keyboard and mouse records are encrypted with ChaCha20-Poly1305, each with a counter nonce that is never reused. Both ends confirm the key first: a wrong code is rejected there, before any content flows.
Once the connection is set up, the relay copies bytes without looking at them. It cannot read them, and a record it alters fails authentication.
The sharer decides
By default, every session opened with the code is put to the person sharing. With “Yalnızca izlensin” (view only), input events are not applied on that computer; the viewer can ask for control, and the sharer still decides. Stopping sharing ends the session at once.
Permanent password
The shared computer stores not the password but a key derived from it with Argon2id (19 MiB, 2 passes) and a random salt, in the keychain. The viewer derives the same key with that salt and feeds it to SPAKE2; the password never travels either. Argon2id makes guessing from a stolen keychain entry slow.
10 wrong passwords in an hour turn password access off until you turn it back on. Sessions opened with the password start without asking, so pick a strong password you don’t use anywhere else.
If you tick “Parolayı hatırla” (remember password) on the viewer, the password for that computer is kept in the keychain as typed (it is needed to derive the key with the other side’s salt). If you don’t, it isn’t stored.
IDs can’t be taken over
Each computer creates an Ed25519 key pair the first time and registers with the relay by proving it holds the key. The ID is bound to that key; without it, nobody can share under your ID. The key lives in a file only its owner can read.
An account opens no doors
Signing in with a us2usmail.com account only fills the “Bilgisayarlarım” (my computers) list. The account plays no part in the end-to-end key exchange; connecting to a computer on the same account still needs the code and approval, or the permanent password. The relay cannot add devices to anyone’s list without the accounts service’s signature.
Limits
Overstating security is a risk too. The limits we know about today:
- There has been no independent security audit yet.
- The relay sees which sign-in method (code or password) was chosen, and it can drop or delay a connection. It cannot read the content.
- There is no device verification beyond the code or password (trusted devices) yet.
- The Windows installer is not code-signed yet; compare the SHA-256 of your download with the one on this site.
- End-to-end encryption doesn’t make the computer on the other end safe. Whatever is on your screen, the viewer sees too.
Be careful who you give your code to
The most common remote-desktop scam is someone posing as a bank, a phone company or “technical support” and asking for the code. Never give your code to someone who called or messaged you. Only give it to someone you know and contacted yourself, and watch your screen for the whole session.
If you find a vulnerability
Write to support@us2us.app with steps to reproduce and the app version. Don’t send passwords, codes or anyone else’s data. The source code is public on GitHub.