01
Node data plane
The AgentSight Node captures, stores, and serves detailed runtime data. Session databases, snapshots, prompts, process activity, and other detailed records remain authoritative on the Node.
Architecture · AgentSight v1.0.15
AgentSight separates the machine that owns detailed runtime data from the service that coordinates people, organizations, discovery, connectivity, and authorization. Direct Node access and Controller Relay are transports to the same Node protocol, not separate telemetry stores.
The boundary
This page describes the released v1.0.15 implementation, reviewed against product commit ba14044491d2. It intentionally separates shipped behavior from design ideas that may exist elsewhere in the repository.
01
The AgentSight Node captures, stores, and serves detailed runtime data. Session databases, snapshots, prompts, process activity, and other detailed records remain authoritative on the Node.
02
Controller handles identity, organizations, memberships, plan and entitlement metadata, Node discovery, relay presence, and authorization decisions. It is not the authoritative telemetry store.
03
The hosted app, local UI, and CLI reach a Node through a local or Direct connection, or through Controller relay when that transport is available and authorized.
Current deployment paths
Direct is not merely a fallback for Controller Relay. Since the v1.0.13 Direct transport change, a browser-reachable Node can be used by IP or URL even when Relay is unavailable or not deployed. Controller adds coordination rather than replacing that path.
Run and query AgentSight on one machine. No Controller account or relay is required for local capture and saved-session analysis.
A browser reaches a Node by an explicit HTTP(S) endpoint. Direct remains usable without Controller Relay and is preferred when a saved Direct path is available.
Controller adds OAuth identity, organization-scoped Node discovery, plan gates, relay connectivity, roles, and authorization before remote operations.
Direct pairing
In v1.0.15, a Direct binding link carries a bootstrap key long enough to identify the Node and mint a scoped capability. The browser then stores the returned capability for normal Node requests. The default Direct capability covers node.info,evidence.read, session.read, and session.message for up to twelve hours; the persistent bootstrap authority is not stored as the normal Direct access token.
Long-lived Direct capabilities are persisted locally by the Node with expiry, so a Node restart does not necessarily force immediate re-pairing. The Node still validates the capability action and optional session scope on each protected protocol operation.
Transport order
1. Saved Direct path
Use the browser-reachable Node endpoint when one has been paired.
2. Controller Relay
Use Relay only when Controller reports that transport online and the operation is authorized.
Controller data boundary
The released Controller stores OAuth identity, organizations and memberships, organization configuration, plan and entitlement metadata, Node registration, relay credentials and presence, and the authorization decision used before a relayed operation.
Stored centrally
Users, organization membership, roles, plan state, Node discovery, relay state, and organization configuration live in Controller.
Authoritative on Node
Snapshots, session transcripts, prompts, process data, and detailed runtime evidence remain authoritative on Nodes.
Relay behavior
Controller does not persist relay response bodies; relay traffic exists in Controller runtime memory only while the request is active.
Authorization
OAuth authenticates a human. Controller resolves organization membership and the requested semantic action. The Node does not need to understand users, billing, or organization RBAC; it enforces the scoped capability presented to its protocol surface.
Node capability
node.infoRead Node identity and protocol information.
Node capability
evidence.readRead the Node snapshot/runtime evidence surface.
Node capability
session.readRead a session, optionally restricted to one session identifier.
Node capability
session.messageSend a message to a session, optionally restricted to one session identifier.
Organization roles
Nodes are registered into an organization namespace rather than being owned directly by a user. Every account receives a personal organization; Team organizations use the same membership model and add multiple members.
Role
Inspect organization metadata, Nodes, runtime evidence, sessions, configuration, and billing state.
Role
Viewer permissions plus the ability to send session messages.
Role
Operator permissions plus Node, member, and organization-configuration management.
Role
Admin permissions plus organization and billing management.
Failure and trust boundaries
Local capture and saved-session data do not depend on Controller persistence. A saved Direct path can continue to be the browser transport without Relay. Conversely, an organization-listed Node with neither a reachable Direct path nor an online Relay has no usable remote transport until one of those paths is restored.
Direct and Relay change how a request reaches the Node, not what the underlying runtime data means.
Its coordination records are intentionally not a second copy of full session data.
Use organization actions and Node capabilities rather than handing normal clients the persistent bootstrap credential.
Choosing a mode
Use Local when one machine and local artifacts are enough. Use Direct when the browser can reach the Node through loopback, LAN, VPN, or an HTTPS endpoint and you do not need Relay. Use Controller-managed access when identity, organization membership, managed discovery, plan gates, roles, and Relay connectivity are part of the operating model.
Team and Enterprise plans extend the organization and governance boundary; they do not change the basic rule that detailed runtime data is authoritative on the Node. See Pricing for the currently published plan catalog rather than inferring a deployment feature from a design document.
Primary sources
Reviewed on 12 August 2026 against AgentSight v1.0.15 at ba14044491d2fdb52e8b9d0f3e9a94c5d3a12dd1. Product behavior changes quickly, so use the tagged release and exact source links below when a deployment or security decision depends on a specific version.