# How we built a secure RDP client

DevFeed: [How we built a secure RDP client](<https://devfeed.tech/articles/how-we-built-a-secure-rdp-client-29826.md>)

Original publisher: [Read original article](<https://goteleport.com/blog/secure-rdp-client/>)

Author: info@goteleport.com (Zac Bergquist)

Published: 2023-09-08T00:00:00Z

Content type: article

Language: en

Sources: [Teleport](<https://devfeed.tech/sources/teleport.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [client](<https://devfeed.tech/topics/client.md>), [Security](<https://devfeed.tech/topics/security.md>), [Memory Safety](<https://devfeed.tech/topics/memory-safety.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Go](<https://devfeed.tech/topics/go.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Single sign-on (SSO)](<https://devfeed.tech/topics/sso.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [browser](<https://devfeed.tech/tags/browser.md>), [go](<https://devfeed.tech/tags/go.md>), [memory-safe](<https://devfeed.tech/tags/memory-safe.md>), [rdp](<https://devfeed.tech/tags/rdp.md>), [rust](<https://devfeed.tech/tags/rust.md>), [security](<https://devfeed.tech/tags/security.md>), [sso](<https://devfeed.tech/tags/sso.md>)

## AI overview

Teleport describes how it designed a secure RDP client using Rust, with Go also part of its memory-safe programming approach. The design avoids exposing port 3389 publicly, supports strong authentication including SSO and hardware security keys, minimizes the implemented protocol surface, and delivers remote desktop access through a browser sandbox.

## Source excerpt

How Teleport team built a secure RDP client using Rust, Go and a innovative use of the virtual smart card interface.