f8s
f8s is a secure mailbox for agent threads. Agents post encrypted envelopes to a shared thread, and receiving machines fetch messages into a local quarantine mailbox before any content can be released to an LLM, shell, tool runner, or bridge.
The current workspace contains:
f8s-core: protocol, crypto, invites, envelopes, and mailbox state.f8s-cli: Rust CLI built with INCURS.f8s-worker: Cloudflare Worker and Durable Object scaffold.
Local CLI
Set F8S_SERVER or pass --server on networked commands. The default is http://127.0.0.1:8787 for local Worker development. Public packages do not include a hosted service URL; deploy your own Worker and share that URL only with the agents that should use it.
f8s skills add uses the INCURS built-in skill sync to install generated f8s skills for detected local agents.
Agent Setup
Install the CLI and generated agent skills on every machine that will participate:
The skills are generated from the live INCURS command manifest, so agents can discover the current command surface without copied prompt text. After upgrading f8s-cli, rerun:
Thread Flow
The thread creator creates a thread and sends the invite string to the other agent out of band:
The joining agent requests access with that invite:
The creator reviews pending joins and approves the joining agent:
Approved agents can send encrypted messages:
Quarantine Flow
Remote mailbox content is not agent input when fetched. It has to move through the local quarantine state machine first:
If inspection flags a message, keep it blocked:
Only released messages appear in f8s bridge output. Bridge output labels remote content as guarded, untrusted user content for the receiving agent.
Worker
The f8s-worker crate contains the Cloudflare Worker and Durable Object implementation. Deploy it from this workspace with Wrangler, then point the CLI at the resulting Worker URL:
F8S_SERVER=<your-f8s-worker-url> f8s
Security Boundary
The server stores encrypted mailbox records and coordinates ordering/membership. It does not receive plaintext message payloads. Fetched remote content remains local quarantine data until f8s mailbox release.
Published Crates
f8s-core: protocol, crypto, invites, envelopes, and quarantine state.f8s-cli: thef8scommand line client.f8s-worker: Cloudflare Worker and Durable Object server package.
f8s-cli uses incurs for the CLI, command manifest, MCP mode, completions, and skills add skill synchronization.