AegiDesk

Security

How each connection is authorised, what the server sees, and the cases AegiDesk does not protect against.

Every connection asks the person at the computer. The default button is Deny, and a request with no answer in 60 seconds is refused. The dialog shows who is asking and whether the device is new or known. A remembered device still has to be accepted on every connection.

In pre-release While someone is connected, the computer shows a notice that stays on top, with a button to end the session.

In pre-release Mouse and keyboard control is a separate permission, asked in the same dialog, and can be taken back at any time. The person at the computer has priority over the remote mouse and keyboard.

Verification code

Both screens show the same 6-digit code. If they differ, someone may be intercepting the request: do not accept, and disconnect.

Each computer fixes its part of the code before it learns the other part. Someone trying to intercept the connection cannot pick a code that matches on both screens.

Encryption and identity

Both computers prove their identity with Ed25519 keys, over TLS 1.3 on QUIC. The connection is end-to-end encrypted and there is no unencrypted mode. If the identity of a known computer changes, AegiDesk warns you and stops the connection.

The server In pre-release

To connect by ID outside the local network, the server only introduces devices to each other and relays encrypted data it cannot read. On a local network no server is needed.

The server takes no part in checking identities. Each computer checks the other’s key, and the verification code must match even when the connection goes through the server.

Diagram of a connectionThe computers of the person asking and the person accepting connect over an end-to-end encrypted channel. Outside the local network, the data goes through a server that only relays it and cannot read it. On a local network, the connection is direct.Local network: directEnd-to-end encryptedServerRequesterHost

What is recorded

Requests, accepted or refused, and sessions are recorded on the computer being shared.

Known limits

AegiDesk does not protect against these cases:

  • attacks that need code already running as the same Windows user;
  • physical access to an unlocked computer;
  • social engineering that gets the computer’s owner to click Allow;
  • denial of service by flooding the network.

There are no stable releases yet. The protocol and the format of stored data may change between pre-releases.

Report a vulnerability

Do not disclose the issue in public. Use private vulnerability reporting and include the affected version, the issue and its impact, and how to reproduce it, without destructive payloads.

Open the private form on GitHub

Response targets: acknowledgement in 7 days, initial assessment in 14 days, fix or mitigation for high or critical issues in 30 days.