Skip to content

Commit b60c97f

Browse files
committed
docs: add experimental relay section to ARCHITECTURE.md
1 parent d580113 commit b60c97f

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

docs/ARCHITECTURE.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Components Overview
44

5-
pastelocal has four components, each with a single responsibility:
5+
pastelocal has four core components, plus one experimental component:
66

77
### 1. Daemon (`pastelocald`)
88

@@ -67,6 +67,23 @@ It instructs Claude to:
6767
3. Delete the file
6868
4. Confirm to the user: "Got it, image attached."
6969

70+
### 5. Experimental Relay Server (Preview)
71+
72+
A standalone relay server (`cmd/relay-server`) and supporting client libraries that enable E2E-encrypted clipboard sharing between multiple devices without requiring direct SSH tunnels.
73+
74+
**Components:**
75+
- `internal/crypto` — X25519 keypairs, ECDH, HKDF + AES-GCM encryption helpers
76+
- `internal/relay` — Client for device registration, peer management, inbox-based encrypted blob exchange
77+
- `cmd/relay-server` — Lightweight HTTP relay supporting device pairing, targeted uploads (`/upload/{receiver}`), and inbox consumption
78+
79+
**Current Limitations (as of launch):**
80+
- Relay server is in-memory only (no persistence)
81+
- Sending from the daemon is still placeholder/incomplete
82+
- Background polling and real-time notifications are not yet implemented
83+
- Intended for testing and non-critical use
84+
85+
The relay feature is under active development. The core SSH-based workflow remains the recommended production path.
86+
7087
---
7188

7289
## Trust Boundaries

0 commit comments

Comments
 (0)