How Olympus Console compares
How Olympus Console stacks up against cloud-bastion, identity-mesh, and reverse-tunnel alternatives buyers compare it to. Each section below is a side-by-side — what the competitor does, where it runs, and the concrete differences that come from how Olympus Console decides what an agent is allowed to do. For the deeper why behind these choices, read the FAQ, the Security page, and the technical-architecture post. FAQ, the Security page, and the technical-architecture post.
Teleport
Teleport is a cloud bastion for SSH, Kubernetes, and databases — Olympus Console is an on-device biometric relay for agent supervisors you already run.
Runs where: Teleport terminates SSH, Kubernetes, and database sessions on a Teleport-operated cloud (or self-hosted) access plane; every session is recorded and replayable.
- Cloud-bastion session termination vs your-machines-only termination. Teleport acts as a man-in-the-middle for your sessions — traffic flows through Teleport-operated infrastructure. Olympus Console runs the companion on the same Mac that hosts Claude Code or Codex, and the app-to-backend connection is pinned to your own server certificate; there is no cloud bastion terminating your frames.
- Session-record by default vs no recording at all. Teleport captures full session recordings for compliance and audit. Olympus Console is built so there is nothing to record — the operations log stores a length and a routing key, never the body of the WebSocket frames it forwards, because the session keys live on the two paired endpoints.
- Operator-issued certificates as the identity anchor vs on-device biometric as the approval gate. Teleport trusts short-lived certificates issued by the Teleport auth server. Olympus Console does not check identity at all — sensitive ops are gated on `LAContext` / Face ID or Touch ID on the paired iPhone, with no fallback to a PIN, no skip flag, and no programmatic path that can bypass the gate.
- Cloud-hosted control plane dependency vs dumb E2E pipe relay. Teleport depends on a Teleport-operated (or self-hosted) control plane that can read your session flow. The Fortune Five relay is a deliberately minimal push mechanism that carries end-to-end encrypted pointers it cannot decrypt; APNs is used as a wake channel only, never as a transport.
Tailscale SSH
Tailscale SSH is identity-based SSH over a WireGuard mesh — Olympus Console is a mobile command plane with biometric approvals for the agent supervisors you already run.
Runs where: Tailscale SSH runs SSH on your machines but routes authentication through the Tailscale control plane using Tailscale-issued identity (key-based or web-auth), on top of an always-on WireGuard mesh.
- SSH-on-your-machines vs Face ID-gated approvals before agent syscalls. Tailscale SSH gives you `ssh user@host` authenticated by Tailscale identity. Olympus Console does not replace SSH — sensitive agent operations (credential reads, secret material, repository writes) are intercepted at the companion layer and gated on `LAContext` / Face ID / Touch ID, then routed on; the OS aborts the syscall before the agent driver receives the payload if you deny.
- Key-based or web-auth identity vs biometric + pairing-derived tokens. Tailscale SSH authenticates with Tailscale keys or Tailscale web auth (MagicAuth links). Olympus Console never derives trust from an identity server — paired approvals are derived from a short-lived challenge token rooted in the original QR pairing, and trust lives only on your paired devices.
- Live session streaming and push wake vs a server-management console. Tailscale SSH is a remote shell over your mesh; the UX is the existing SSH client on whatever device you happen to be on. Olympus Console is an iPhone and Mac client built for streaming Claude Code or Codex sessions live, with push notifications that wake the app for a decision and a stop control that actually aborts the run.
- Always-on WireGuard mesh vs phone-dead = denied by default. A Tailscale mesh is reachable whenever any node is up. Olympus Console treats an absent pair as deny by design — if the iPhone is dead, sensitive ops are denied; if push delivery fails, ops are denied after a short grace period. The phone is the second pair of eyes, and a missing pair closes the door.
ngrok
ngrok is a public reverse tunnel that exposes a local port through ngrok-operated infrastructure — Olympus Console is an outbound-only mobile command plane for the agent supervisors you already run.
Runs where: ngrok takes a port on your machine and exposes it to the public internet through ngrok-operated tunnel infrastructure; traffic terminates on ngrok's edge before reaching your host.
- Public inbound tunnel vs outbound-only TLS WebSocket. ngrok opens a reachable URL that points back to your machine — anyone with the URL can hit your local port. Olympus Console only opens outbound connections: the companion dials out to your self-hosted backend over TLS, with private cert pin, so there are no inbound ports to open and no public surface to discover.
- General-purpose port forwarder vs narrow supervisor protocol. ngrok forwards any TCP/HTTP traffic you point at it, with no awareness of what is flowing. Olympus Console runs a deliberately narrow supervisor protocol designed specifically for Claude Code and Codex — credential reads, secret access, repository writes, and approval requests are typed at the protocol level and intercepted at the companion layer.
- ngrok-operated middleware that can observe traffic vs a relay that cannot decrypt payloads. ngrok terminates your tunnel at its edge; in principle it could observe the bytes of your traffic. The Fortune Five relay is end-to-end encrypted — it sees a length and a routing key, not the session body, because the session keys live on the two paired endpoints and the relay is not a TLS terminator for your data.
- Local-machine proxy for any app vs a self-hosted backend on your infrastructure. ngrok runs a small client on your machine, but its analytics, billing, and operational visibility are ngrok-side. Olympus Console runs the companion on your Mac and the backend on your own infrastructure — both are open source (companion Apache-2.0, backend AGPL-3.0), so the entire on-the-wire surface is auditable, not just asserted.
Why Olympus Console takes the opposite trade
Each of the comparisons above lands in the same place: Olympus Console does not run your sessions on infrastructure we operate, does not derive trust from an identity server we operate, and does not expose your agent sockets to the public internet. Instead, sensitive operations are gated on a biometric prompt on your paired iPhone, every payload that crosses a vendor network is end-to-end encrypted, and the only thing on our side is a deliberately dumb push relay. That posture is auditable, not just asserted — the companion is Apache-2.0 and the backend is AGPL-3.0, so the protocol surface is in a repo you can read.
- On-device biometric gate, not an identity-server trust anchor
- Self-hosted backend on your machines, not a cloud bastion we operate
- No telemetry, no analytics SDKs, no crash beacons — read the binary
- App Store IAP billing — we never see your Apple Account details
- AGPL-3.0 backend, Apache-2.0 companion — fork, audit, and patch