FlashDesk Security

FlashDesk is designed to handle the communication, connection approval, device verification, and operational management required for remote control. Screen video and control data are encrypted per session, and access to the destination can be controlled through manual approval or a password.

Per-session encryption

FlashDesk media communication and control data are encrypted with keys generated when a session starts. Key exchange uses ECDH P-256, key derivation uses HKDF-SHA256, and encryption uses AES-256-GCM.
Each packet includes a sequence number and authentication tag so tampering and replayed old packets can be detected.

P2P first, relay when needed

During a session, video and control data are sent directly between devices whenever possible. If the network environment prevents direct connection, FlashDesk switches to relay routing, while media and control payloads continue to be sent encrypted with the session key.

Explicit permission on the destination side

On the destination side, access can be allowed through manual approval or password-based authorization. Manual approval can allow a connection only once, or allow it for a selected amount of time. Time-limited sessions disconnect automatically when the limit is reached.

Device fingerprint verification

FlashDesk creates a device identity key for each installation and derives a fingerprint from its public key. If the fingerprint of a previously trusted destination changes, FlashDesk warns so you can check whether the destination device has changed.

Signaling and license communication

FlashDesk uses WebSocket over TLS (wss://) to start connections and exchange candidate information. API communication such as license verification uses HTTPS. The signaling server relays the information needed to start a connection, while media communication is handled by the encrypted session after it is established.

External TLS certificate

FlashDesk signaling communication uses WebSocket over HTTPS / TLS. The following is the public TLS certificate information.

Domains
Loading certificate information...
Issuer
Loading certificate information...
SHA-256 fingerprint
Loading certificate information...
Expires
Loading certificate information...

If certificate details do not load, please verify the current TLS certificate from your browser before entering sensitive information.

External Security Testing

FlashDesk has completed security testing of its public website and related endpoints using OWASP ZAP. We have also confirmed ratings of A or higher on Mozilla Observatory, SSL Labs, and Security Headers.

OS permissions and local protection

FlashDesk follows the permission flows required by each OS, such as macOS Screen Recording and Accessibility permissions, and Linux Wayland screen sharing permissions. Saved connection information is processed to avoid plaintext storage.

Data handled by FlashDesk servers

FlashDesk servers may handle the following information as needed for service operation, abuse prevention, support, billing, and team administration.

DataPurposeStored or temporaryNotes
FlashDesk ID / device identifierConnection start, device lookup, license associationStored where neededUsed to identify devices and route requests.
Device fingerprint public informationDevice verification and ID bindingStored as a hash where applicableThe server stores fingerprint-related hashes, not the private identity key.
App version and OS typeCompatibility, support, and operational analysisStored or updated with client statusShown in admin and support contexts where applicable.
Connection status and path statusConnection maintenance, seat control, admin visibilityTemporary during sessions; selected audit records for ProIncludes whether a session is direct, relay, or probing when reported.
IP address and network metadataService operation, abuse prevention, diagnosticsStored in operational records where neededMay include last seen IP, download tracking, and WebSocket diagnostic metadata.
License / subscription statusLicense verification, billing, seat managementStored where neededPayment card details are handled by the payment provider, not by FlashDesk.
Error logs or operational logsSupport, outage investigation, abuse preventionStored as operational logs; server logs are automatically deleted after 30 daysWebSocket logs redact ssh_tunnel_data payloads; other metadata may be logged for diagnostics.
Admin console activity for Pro usersTeam administration, license and session reviewStored as admin recordsIncludes organization, user, license, seat, and session audit records.

Data not stored by FlashDesk servers

FlashDesk servers do not store the following information during ordinary remote connections:

  • remote screen video contents
  • keyboard input contents
  • mouse operation contents
  • file transfer contents
  • SSH tunnel payload contents handled as ssh_tunnel_data
  • recorded session video contents

Network endpoints and protocols

The following table summarizes communication that administrators may want to review before deployment.

PurposeProtocolPortTypical destinationNotes
Website / downloadHTTPS443/TCPFlashDesk official serversDownload pages show the version and SHA-256 checksum for official release files.
SignalingWebSocket over TLS (wss://)443/TCPflashdesk.io/wsUsed to start sessions and exchange candidate information.
API / license checkHTTPS443/TCPflashdesk.io/api/license/verifyUsed when checking a registered license key and seat status.
Update checkHTTPS443/TCPflashdesk.io/data/latest.json and package pathsThe app periodically checks the update manifest over HTTPS, downloads update packages from official servers, and verifies the expected SHA-256 hash before applying an update.
STUN / P2P candidate checkUDP3478/UDPFlashDesk official serversUsed to discover a reachable network endpoint before attempting direct P2P.
Direct P2P connectionUDP media/control pathDynamic UDP ports on peer devicesPeer device network endpointsDirect connection is preferred when NAT/firewall conditions allow it.
Relay connectionEncrypted media/control payloads over the relay path40020/UDP in the current desktop appFlashDesk relay serverUsed when a direct device-to-device path is not available. SDK relayws responses use 443/TCP.

Relay server behavior

FlashDesk first attempts a direct device-to-device path. Because NAT, firewall, VPN, and mobile-network conditions can prevent direct UDP communication, sessions may continue through a relay path when needed.

When relay routing is used, the relay server forwards packets for the session. Media and control payloads continue to be encrypted with the per-session key, and packets include authentication data used to detect tampering or replayed old packets.

Installation and background behavior

FlashDesk can run in the background and can start automatically with the OS when the setting is enabled. The current default setting enables OS startup.

  • Windows: startup is managed through a user logon scheduled task named FlashDesk_Autostart, with a legacy Run-key fallback check.
  • macOS: startup is managed through a LaunchAgent plist.
  • Linux: startup is managed through XDG Autostart.

OS permissions are requested only as needed for features. macOS may require Screen Recording for screen capture and Accessibility for remote input control. Linux Wayland sessions use the desktop portal / PipeWire screen-sharing flow. FlashDesk periodically checks an HTTPS update manifest, downloads update packages from official servers, and verifies the expected SHA-256 hash before applying an update.

Local settings are stored under the user's application data folder in FlashDesk/flashdesk_settings.json. Local app logs are written under the user's local application data folder in FlashDesk/logs with a 7-day retention setting in the current app code. Local screen recordings, when enabled by the user, are stored under FlashDesk/recording on the user's device.

File authenticity and code signing

Download pages show the version and SHA-256 checksum for official release files. Before installation, users can compare the downloaded file's SHA-256 checksum with the value published on the download page.

  • Windows: FlashDesk .exe files are signed with Authenticode. You can check the signature from file Properties > Digital Signatures, or run Get-AuthenticodeSignature .\FlashDesk.exe in PowerShell.
  • macOS: FlashDesk .pkg and .app distributions are signed with Apple Developer ID certificates and notarized by Apple.
  • Linux: verify the published SHA-256 checksum for .deb, .rpm, and AppImage downloads.

Vulnerability reporting

For security issues, please use the Contact page with [Security] in the subject.

Please include the affected version, OS, reproduction steps, logs if available, and screenshots if relevant.

Operational recommendations

We recommend avoiding saved passwords on shared PCs, deleting destinations you no longer need, not approving fingerprint changes you do not recognize, and using time limits or automatic disconnect for long-running sessions.