diff --git a/public/docs-static/img/use-cases/clientless-rdp/tcp-service-access-control.png b/public/docs-static/img/use-cases/clientless-rdp/tcp-service-access-control.png
new file mode 100644
index 00000000..3fcab7ff
Binary files /dev/null and b/public/docs-static/img/use-cases/clientless-rdp/tcp-service-access-control.png differ
diff --git a/src/components/NavigationDocs.jsx b/src/components/NavigationDocs.jsx
index 48cce8e3..bedbbb93 100644
--- a/src/components/NavigationDocs.jsx
+++ b/src/components/NavigationDocs.jsx
@@ -879,6 +879,10 @@ export const docsNavigation = [
title: 'Active Directory & Windows File Shares',
href: '/use-cases/remote-access/active-directory',
},
+ {
+ title: 'Clientless RDP for Third Parties',
+ href: '/use-cases/remote-access/clientless-rdp',
+ },
{
title: 'Cloud to On-Premise',
href: '/use-cases/remote-access/cloud-to-on-premise',
diff --git a/src/pages/use-cases/index.mdx b/src/pages/use-cases/index.mdx
index 585119ff..b699f80f 100644
--- a/src/pages/use-cases/index.mdx
+++ b/src/pages/use-cases/index.mdx
@@ -19,6 +19,7 @@ You know what you want to achieve; this page finds the guide that gets you there
| Access services running on the routing peer itself | [Reach Services on the Routing Peer](/use-cases/remote-access/reach-services-on-the-routing-peer) |
| Route all my internet traffic through one peer | [Exit Nodes](/use-cases/remote-access/exit-nodes) |
| Reach Active Directory and Windows file shares remotely | [Active Directory & Windows File Shares](/use-cases/remote-access/active-directory) |
+| Give third parties RDP access without installing NetBird | [Clientless RDP for Third Parties](/use-cases/remote-access/clientless-rdp) |
### Deploy NetBird in the cloud
diff --git a/src/pages/use-cases/remote-access/clientless-rdp.mdx b/src/pages/use-cases/remote-access/clientless-rdp.mdx
new file mode 100644
index 00000000..7da077df
--- /dev/null
+++ b/src/pages/use-cases/remote-access/clientless-rdp.mdx
@@ -0,0 +1,242 @@
+import { Note, Warning } from '@/components/mdx'
+
+export const description =
+ 'Give third-party contractors RDP access to internal hosts without installing NetBird on their devices, using a TCP reverse proxy service as an RDP gateway replacement.'
+
+# Clientless RDP Access for Third Parties
+
+A common blocker when replacing a VPN or an RDP gateway with NetBird: some of
+the people who need access do not work for you. An outsourced firm's devices
+are managed by someone else, and installing the NetBird client on them is
+often not an option. Today those users typically connect through an RDP
+gateway or, worse, straight to an exposed port `3389`.
+
+This guide shows how to retire that gateway using the
+[NetBird Reverse Proxy](/manage/reverse-proxy): you publish the internal RDP
+host as a TCP service, and the third party keeps the exact workflow they have
+today, a saved `.rdp` file, now pointed at a NetBird proxy address. No
+software on their devices, no gateway to maintain, and no inbound ports on
+your network.
+
+## What You'll Achieve
+
+```
+Contractor device ──► NetBird proxy ──► NetBird tunnel ──► routing peer ──► RDP host
+ (no NetBird, (public TCP service, (peer) (10.10.20.15:3389)
+ saved .rdp file) IP allowlisted)
+```
+
+After following this guide, users at a third-party firm can open a `.rdp`
+file and reach an internal Windows host, while the host itself needs no
+public IP address and no open inbound ports.
+
+## When Not to Use This
+
+If you **can** install the NetBird client on the connecting devices, do that
+instead: enrolled users get identity-based [access policies](/manage/access-control),
+posture checks, and per-user audit, which this clientless path cannot
+provide. Use the reverse proxy only when installing the client is genuinely
+off the table.
+
+This guide also assumes the third party connects from **fixed office
+networks**. A TCP service cannot put a login page in front of the connection
+(see [the boundary below](#security-boundaries)), so an IP allowlist is the
+main gate. If their users work from changing networks, prefer enrolling
+their devices or placing a browser-based RDP portal (a web application)
+behind an HTTP reverse proxy service, where
+[SSO authentication](/manage/reverse-proxy/authentication) does apply.
+
+## Two Ways to Publish RDP
+
+There are two proxy deployments this can run on, and they differ in ways
+that matter for RDP specifically:
+
+| | NetBird Cloud shared proxy | [Bring Your Own Proxy](/manage/reverse-proxy/bring-your-own-proxy) |
+|---|---|---|
+| Setup effort | None, works immediately | You run the proxy container |
+| Listen port | Assigned automatically (high port) | Your choice, including `3389` |
+| RDP transport | TCP only | TCP, plus RDP's optional UDP transport |
+| Best for | Fast rollout, few users | Standard ports, smoother sessions, more control |
+
+The UDP difference comes from port mechanics: RDP's UDP transport must reach
+the server on the same port number as the TCP connection. On the shared
+cluster every service gets its own auto-assigned port, so a UDP service can
+never land on the TCP service's port; clients detect the missing UDP path
+and continue over TCP automatically. On a BYOP cluster you bind a TCP and a
+UDP service to the same custom port, and Windows clients then negotiate the
+UDP transport through the proxy.
+
+Both use cases below share the same resource setup, access restrictions,
+and verification; only the service creation step differs.
+
+## Example Setup
+
+One example runs through this guide:
+
+- **RDP host:** `10.10.20.15`, a Windows machine on the server subnet
+ `10.10.20.0/24`, RDP enabled with Network Level Authentication (NLA)
+- **Routing peer (`site-router`):** a Linux machine on the same subnet,
+ running the NetBird client
+- **Third-party firm:** an outsourced contractor whose office egress IP is
+ `203.0.113.40`
+
+## Prerequisites
+
+- The RDP host reachable inside your NetBird network: either it runs the
+ NetBird client itself, or it sits behind a routing peer as a network
+ resource. This guide uses the resource shape; see
+ [Networks](/manage/networks) for the concepts.
+- The third-party firm's office egress IP addresses (ask them, or check your
+ current gateway's logs).
+- For the BYOP use case only: a host for the proxy container, set up per
+ [Bring Your Own Proxy](/manage/reverse-proxy/bring-your-own-proxy).
+
+## Step 1: Make the RDP Host a Network Resource
+
+Skip this step if the RDP host already runs the NetBird client; you will
+select it directly as a **Peer** target when creating the service.
+
+1. In the dashboard, go to **Networks** and create a network, for example
+ `office-servers`.
+2. Add a **resource** for the single host `10.10.20.15`. Prefer a
+ single-host resource over the whole subnet: the proxy should be able to
+ reach exactly the machines you publish, nothing else.
+3. Add `site-router` as the routing peer.
+
+
+
+