Security architecture

Remote access is powerful. The trust boundary should be explicit.

Vibe Remote keeps code execution and credentials on your Mac, binds access to paired device identities, and encrypts development traffic between the phone and laptop.

No repository OAuth scope No inbound Mac port Revocable device access
Security postureHosted Vibe Remote
Protected
CONTROL
AES-256-GCM
SCREEN
WebRTC DTLS-SRTP
PAIRING
5 min / one use
MAC PORTS
Outbound only

This describes the product design, not a third-party security certification.

Trust boundary

Three systems. Three deliberately different roles.

The hosted relay authenticates and routes connections. The endpoints hold the keys that protect application content.

01 · Trusted endpoint

Paired phone

Holds its private device key and presents the remote interface.

Can decrypt session content
E2E encrypted records
02 · Hosted control plane

Vibe Remote relay

Authenticates the account, authorizes devices, and routes encrypted records.

Cannot decrypt app records
E2E encrypted records
03 · Execution boundary

Your Mac

Owns the code, credentials, processes, files, terminal, and screen permissions.

Executes every local action
Screen media remains encrypted end to endVibe Remote prefers a direct phone-to-Mac WebRTC path. TURN is only a transport fallback and cannot decrypt the media.
Protection controls

Concrete controls, not a generic “secure” label.

These controls reduce credential lifetime, network exposure, and the impact of a lost device.

Control traffic

AES-256-GCM

Agent, terminal, file, Git, SSH, approval, and input records use connection-specific keys shared by the paired phone and Mac.

Screen transport

DTLS-SRTP

Screen video and input use encrypted WebRTC. TURN relays encrypted packets only when a direct connection cannot be established.

Device identity

Device-bound keys

The Mac signs relay challenges with Ed25519. The phone creates a non-extractable P-256 identity with WebCrypto.

Enrollment

Short-lived, one-use

Mac enrollment expires after ten minutes. Phone pairing expires after five minutes and the relay stores only its hash.

Mac exposure

Outbound only

The Mac agent connects outward to the relay. Local control endpoints remain on loopback; no inbound public port is required.

Access lifecycle

Revocable

Device grants can be revoked. Revocation closes active routes and prevents the removed identity from reconnecting.

Data visibility

Where each class of data belongs.

Vibe Remote is not zero-knowledge for account and routing metadata. It is designed so the relay does not need the content of your development work.

Mac only

Execution and secrets

  • Source trees and local files
  • Shell, Git, SSH, and AI credentials
  • Agent processes and local session stores
  • macOS privacy permissions
Encrypted path

Remote work content

  • Prompts, responses, and approvals
  • Terminal, file, Git, and SSH records
  • Screen video and remote input
  • Push notification payloads
Hosted service

Identity and routing metadata

  • GitHub account identifier
  • Device public keys and identifiers
  • Grants, revocations, and token hashes
  • Coarse connection and reliability metadata
Responsible disclosure

Found a security issue?

Send a reproducible report with affected version, impact, and steps. Do not include live credentials or another user’s data.

Report privately