How It Works

REmoTerm uses peer-to-peer WebRTC technology to create a direct, encrypted connection between your local development machine and your remote devices—no servers in the middle.

The Architecture

Your Desktop

Runs the REmoTerm desktop app on your development machine. This creates a WebRTC peer that can receive connections.

Terminal server
WebRTC peer
File browser

Signaling Server

Coordinates the initial peer-to-peer handshake. Once connected, all data flows directly between peers.

Authentication
WebRTC signaling
Subscription checks

Your Phone/Tablet

Access from anywhere using your browser. Initiates the WebRTC connection to your desktop peer.

Browser client
WebRTC peer
Terminal UI

Connection Flow

1

Authentication

Both the desktop app and your browser authenticate with the signaling server using secure JWT tokens.

Browser → Signaling Server
POST /auth/login
{ "email": "user@example.com", "password": "..." }
← Response
{ "token": "eyJhbGc...", "user": {...} }
2

Desktop Registration

Your desktop app registers as an available peer and validates your subscription status.

Desktop → Signaling Server
WebSocket: /signal
{ "type": "register-desktop", "token": "eyJhbGc..." }
← Response
{ "status": "registered", "peerId": "abc123..." }
3

WebRTC Handshake

When you connect from your phone, the signaling server coordinates a WebRTC handshake (SDP offer/answer + ICE candidates).

Browser → Signaling → Desktop
{ "type": "offer", "sdp": "v=0\r\no=..." }
Desktop → Signaling → Browser
{ "type": "answer", "sdp": "v=0\r\na=..." }
Both exchange ICE candidates
{ "type": "ice-candidate", "candidate": "..." }
4

Direct P2P Connection

Once the handshake completes, a direct encrypted connection is established. All terminal data flows peer-to-peer—the signaling server is no longer involved.

Desktop
Phone
End-to-end encrypted • DTLS (Datagram Transport Layer Security) • Direct connection
5

Terminal Commands

Your commands travel directly from your phone to your desktop over the encrypted P2P channel. Responses flow back the same way.

You type: ls -la
Phone (P2P) → Desktop
{ "type": "terminal-input", "data": "ls -la\n" }
Desktop (P2P) → Phone
{ "type": "terminal-output", "data": "total 48\ndrwxr-xr-x..." }
# Latency: 20-50ms (direct connection)

Security & Privacy

End-to-End Encryption

All terminal data is encrypted using DTLS (Datagram Transport Layer Security), the same encryption protocol used in WebRTC video calls. Your code never touches our servers—it flows directly between your devices.

Authentication Required

Both your desktop and browser must authenticate with valid JWT tokens before any connection can be established. Desktop registration verifies your subscription status in real-time.

Low Latency

Direct peer-to-peer connections mean incredibly low latency—typically 20-50ms. No data centers between you and your code. No relay servers slowing things down.

No Data Retention

We never see your terminal output, file contents, or code. The signaling server only handles the initial handshake—after that, we're out of the picture.

Why Peer-to-Peer?

Traditional Cloud Terminal

Most remote terminal solutions upload your code to a cloud server. Every command, every file read, every AI agent interaction flows through someone else's infrastructure.

Code stored on their servers High latency (100-300ms) Complex security compliance

REmoTerm's P2P Approach

Your code stays on your machine. The desktop app creates a secure WebRTC endpoint that only you can connect to. Direct, encrypted, and blazing fast.

Code never leaves your machine Ultra-low latency (20-50ms) End-to-end encrypted

Ready to try it?

Download the desktop app and start monitoring your AI agents from anywhere. Free for local access, $5/month for remote P2P.