Vyre / Architecture
How Vyre is built.
The architecture, on one page.
Vyre is one product for a team and its agents. It runs on a server you own and on the computers your people use. This page shows the layers, how a call is checked, how an agent’s turn runs and how the Gate holds anything that leaves your server.
Three ideas shape all of it
One small trusted core
The code that decides who may do what, keeps the history and holds secrets is small and separate. Features are modules around it, and a module cannot invent a new kind of permission.
A person decides
Anything that leaves your server waits until a person has seen the exact words and approved them. An agent can ask. It cannot approve.
Secrets stay out of the model’s reach
A model sees a placeholder. The real value is put in outside the model, at the moment of sending.
The layers.
From the app to the kernel, and out to the world.
Every machine runs the same daemon. Its config says whether the machine is a server, a solo Mac or a device that joins a server, and that picks which modules start.
Surfaces
One daemon on each machine
Work
- Chats
- Tasks
- Records
- Flows
- Agents
- Documents
Keep
- Files
- Vault
- Memory
Outward
- Gate
- Publish
- Connections
Run
- Sessions
- Providers
- Model routing
Kernel
Kernel
Identity, grants and the five roles, the event log, tasks and approvals, sealing, and the Flows engine. Almost no dependencies, and the same code runs on a server, a phone and a browser.
Core modules
The services features are made of: records, chats, files, vault, the Gate, agents, sessions, publishing, documents and connections. Each is a folder with a manifest.
Apps
One Expo codebase for web, iPhone and Android, and the Mac and Windows shells around it. They talk to the daemon’s API and never read a store directly.
Relay
Lets a paired device reach a server with no open port. It carries only encrypted traffic between devices that proved each other’s keys.
Local helpers
Code on a person’s own computer: running a Space’s sessions in a sandbox, computer use, the Mac app.
How a call flows.
Every caller goes through the same check.
A person in the app, an agent in a session, a Flow step and an outside AI over MCP all make calls the same way.
- 1The callerA person, an agent or a Flow calls a tool by name.
- 2The doorBuilds the chain from facts the daemon verified itself, then applies the role’s tool list.
- 3AuthorizeThe kernel answers allow, ask or deny for this chain, this action and this resource.
- 4The toolA module tool does the work. Every read and write of a record goes through one gateway.
- 5The logEvery decision and change is an event: who, what, when and the full chain.
Allow
The tool runs as that chain, writes what changed and returns the result.
Ask
The call is held and becomes a task for a person.
Deny
The caller is told the thing is not found. The real reason goes to the log.
- The chain is never a name or a header.It is the paired device, the signed session, the agent that person started and the Flow step. The call has the intersection of what every link may do, so an agent never has more than the person who started it.
- The log can be checked.Events are hash-linked and checkpointed, so a rollback is detectable.
How an agent’s turn runs.
A message or a task in, tool calls back through the door.
- 1A message or a taskA message in a chat, or a task given to an agent by a person, a tool or a Flow step.
- 2Model routingStarts headless sessions and streams them to every surface. A chat is a Vyre thread, so changing provider mid-conversation loses nothing.
- 3Session driverOne driver for each provider: Claude, Codex, Grok or OpenRouter, on the account you added.
- 4The providerClaude Code, Codex and Grok run as their own command-line agents with only Vyre’s tools connected.
- 5Vyre’s toolsEvery tool call the model makes comes back through the door, as the person or agent the session belongs to.
- Waking on a task.The agent starts one job session with the task, its record and where it came from. It finishes the task, hands it on, or marks it stuck, and a job that ends without doing so is marked stuck with the reason.
- Instructions.Each agent and each project has an AGENTS.md. A session starts in its project’s folder and reads it natively.
The Gate.
Everything that leaves your server waits for a person.
The Gate is the hold queue for an email, a text, a post, a payment, a delete and a publication.
- 1Wants to sendAn agent or a Flow asks, with the text, the recipient and the reason.
- 2HeldThe request appears in Needs you.
- 3A person readsThey read the exact words and edit them if they want.
- 4ApprovesWith a hardware proof over those exact words. It works once.
- 5The VaultThe credential is fetched at send time. The model never sees it.
- 6SentExactly the approved words.
- An agent cannot approve, revise or reject.Those calls refuse an agent caller.
- The proof is a signature over the exact request.It is made on the person’s own device with Face ID, Touch ID, Windows Hello or a passkey, and works once for that act only.
- Outward is declared, not guessed.A connector marks each operation as read, draft, change, send, spend or delete, and anything undeclared cannot be called.
- A failed send goes back to held.Two screens approving at once send once.
Where data lives.
On your server and on your devices.
Records
The built-in SQLite store, or one Twenty CRM database for each Space behind the same interface.
Files
The Space’s Drive: encrypted chunks over local disk, S3 or a device. Linked Google Drive and Dropbox folders stay at the source and are read through each person’s own account.
Vault items
Sealed at rest. A member’s own vault opens with their own master password and Secret Key.
Sealed fields
Only inside the sealing process, a separate child process.
Keys that prove a person is there
Hardware on the person’s device: Secure Enclave, TPM, StrongBox or a passkey. They never reach the server.
Chat sessions
The machine that ran them. A chat can move between a person’s computer and the server with its turns.
Go deeper
Every claim on this page is explained in the repository, with the code paths. The architecture overview takes ten minutes. ARCHITECTURE.md lists one page for each feature. An AI agent can follow Map your business onto Vyre to see how a business would run on it.