Skip to content

Security model

Permissions determine which operations a request may perform. Isolation determines what those operations can affect. Echo Agent combines intake authentication, tool policy, operation checks, and approvals; deployment, execution backends, and OS access define the actual boundary.

Layers

Layer Checks Purpose
Intake Senders, tokens, origins, pairing Admit authorized requests
Scope Sessions, ownership, memory, workspaces Select accessible data
Tool admission Profiles, capabilities, explicit denials Narrow requested operations
Operation constraints Paths, commands, destinations, parameters Constrain targets
Approval Allow, ask, deny Obtain additional authorization
Environment Local, container, remote backend Determine process and filesystem boundaries

Checks are distributed across call paths; not every tool follows an identical linear pipeline.

Runtime policies

Security profiles distinguish personal, daemon, and public-Gateway use. Tool profiles distinguish minimal, messaging, coding, and full sets. Effective capability follows the combined policies.

Calls can be allowed, held for approval, or denied. Unattended requests cannot rely on interactive approval to acquire high-risk permissions. Smart approval assesses risk without overriding hard denials.

Command checks reject recognized dangerous forms; file tools validate paths; protected fetches check protocols, addresses, DNS, and redirects. This does not establish equivalent isolation for all third-party code or external tools.

Multiple clients and tenants

One instance supports multiple clients and sessions. Session IDs primarily route context. Ordinary and admin tokens establish authentication and administrative levels, not complete tenant partitions.

Use separate instances, processes, data directories, databases, workspaces, credentials, and network entry points for mutually untrusted users or organizations. Fine-grained ownership on one interface does not establish the same boundary everywhere.

Desktop authorization

Desktop combines authorized directories, task permission modes, and capability authorization. Browser side effects receive separate confirmation. Computer tasks require explicit requests, run continuously within the task, and lose old authorization on pause or stop. OS permissions are controlled by the system.

A desktop workspace is not an OS filesystem sandbox. IDE terminals run as the current user. Read-only discussion, ordinary tool approval, and computer-task authorization are distinct mechanisms.

Data and credentials

Runtime-managed credentials can be encrypted, but model keys and channel tokens entered directly in configuration are not automatically moved into that store. Preserve matching keys during migration.

Desktop model configuration can also contain API keys. Protect local files. Local storage does not imply that models, MCP, connectors, or retrieval services receive no task data.

Content versus instructions

Websites, attachments, tool outputs, and extracted memory are reference material, not independent sources of user authorization. Memory scans, provenance, and skill admission reduce untrusted influence without guaranteeing detection of every injection.

See Tools and permissions, Hardening, and Desktop permissions.