Reviewer's guide

Reviewing SwarmMarshal? Start here.

This page is for journalists, reviewers, and anyone writing about local-first AI. No spin: a fact sheet, the story angles we think hold up, the steps to verify every claim yourself, and the limitations we'd rather tell you about than have you discover.

Fact sheet

The basics, checkable.

What it is A local-first desktop mail & chat client with an assistant that answers questions from the user's own message history, citing the original message behind every answer.
Platforms Windows and Apple Silicon macOS. (No Intel Mac or Linux build today.)
Price Free during the public preview. No paywall on the desktop app.
Channels Gmail, Microsoft/Outlook, and IMAP email; Apple Messages (iMessage/SMS, macOS); Slack, Telegram, Discord. Works alongside existing mail clients via standard IMAP sync.
AI Bring your own: local models via Ollama or LM Studio (free), or cloud keys for OpenAI, Anthropic, Gemini, DeepSeek, Grok, and others. Claude Code / Codex subscription sessions work as routes too. Every AI job can run fully local.
Where data lives On the user's machine, in per-account local databases. No hosted service holds the mail; nothing is used to train models.
Family Part of the Swarm family with SwarmMarshal CRM (hosted, for teams), Vibes (plain-English app builder), and SwarmSpan (Mac↔PC clipboard/file utility).
Story angles

Six claims — and how to test each one yourself.

We'd rather you verify than quote us. Each angle below pairs the claim with the fastest way to check it in the shipping app.

1 · Every answer carries a receipt

The claim: answers aren't plausible-sounding text — every important claim links to the exact email or message it came from, and the app says "not in the record" rather than guessing.

Verify it: ask something only your mail knows ("what did the plumber quote me?"), then click the citation and read the original message. Then ask something your mail can't know and watch it decline instead of inventing.

2 · The AI is swappable mid-conversation — including fully local

The claim: the context layer belongs to the user, so the model is a plug-in part. The same question works on GPT, Claude, Gemini, or a free local model, with the same citations.

Verify it: ask a question on a cloud model, flip the assistant to a local Ollama model, ask again. Same grounded answer, zero cloud traffic — you can pull the network cable first if you want the theatrical version.

3 · It reaches the channels cloud AI can't

The claim: iMessage has no API — a cloud assistant simply can't see it — and corporate IT rarely lets a SaaS AI ingest the company mailbox. A local app can do both, with the user's own credentials.

Verify it: on a Mac, connect Apple Messages and ask a question that spans a text conversation and an email thread. Watch one answer cite both channels.

4 · The agent writes its own tools, then stops needing the model

The claim: for repeated jobs, the AI authors a small, typed, sandboxed C# tool once — then the job runs as deterministic code. A portfolio tracker's refresh dropped from ~42 model calls to zero.

Verify it: in Vibes, describe a stock or weather tracker, let it build, then open the app's “Inside” view: read the generated tool's code, its declared parameters, and its last-run record — and refresh the rows without a single model call.

5 · The engineering fails closed, and the docs admit the sharp edges

The claim: work pinned local-only can never fall back to a cloud model (it stops and says so instead); unproven models can't silently take over the mail pipeline (calibration-gated routing); paying per message is off by default; and the docs state plainly that Claude Code subscription routes do not count as "local."

Verify it: read the white paper and routing page, then check the behavior in the app — set a function to local-only with no local model installed and watch it stop instead of silently going to the cloud.

6 · The agent-workforce idea, without the exposed gateway

The claim: if you've covered the self-hosted agent-gateway wave, you know the failure modes — exposed ports, token-burning heartbeats, surprise bills. SwarmMarshal's workers are the containment-first version: each is a real hire running in its own supervised OS process, bound to the machine that hired it, talking only to paired same-owner devices over signed local traffic. There is no public gateway and no always-on LLM loop — and paired machines share compute, so a PC can run a local model on the Mac's GPU.

Verify it: hire a worker in chat and watch it wait for your explicit approval before activating. Open your OS process list and see the worker as its own process. Then check your firewall: nothing is listening for the internet. The workers page maps the whole system.

On the record: “I started building SwarmMarshal because I found the agent gateways everyone was excited about unusable. This is the version I could trust on my own machines.” — Scott Crossen, creator of SwarmMarshal. Quote freely.

Hands-on

Ten minutes to a verdict. Twenty to the good stuff.

  1. Minutes 0–3 · Install and connect one inbox Gmail, Microsoft, or IMAP. OAuth walkthrough takes a few minutes; the first sync starts immediately. (Big mailboxes keep indexing in the background — recent mail is askable first.)
  2. Minutes 3–8 · Ask, then click the citation Ask something only your mail knows. The citation click-through is the moment that separates this from a chatbot — you're reading the actual email behind the answer.
  3. Minutes 8–10 · Swap the model out from under it Flip the assistant to a local model via Ollama and re-ask. Same context, same citations, zero cloud. That swap is the product thesis in one click.
  4. With 10 more minutes On a Mac, connect Apple Messages and ask across texts + email. Build a tracker in Vibes and open its “Inside” view to read the tools it wrote for itself. Or point Claude Code at the built-in MCP server and query your own history from your terminal.
Known limitations

What we'd rather tell you than have you discover.

It's a public preview

Version 0.x. It's a real, daily-drivable app, but you will find rough edges — and we'd genuinely like to hear about them.

Local AI wants real hardware

The app and indexing run fine on a normal laptop. Local models want RAM and ideally a recent GPU or Apple Silicon; on weaker machines, cloud models carry the assistant.

First index takes time

Years of mail take a while to sync and index. Recent history is askable quickly; the deep archive fills in as the background pass completes.

iMessage is macOS-only

Apple Messages support reads the local Messages database on a Mac and needs Full Disk Access granted once. There is no iMessage path on Windows — Apple doesn't offer one.

Platform coverage

Windows and Apple Silicon Mac today. No Intel Mac, Linux, or mobile app — a Telegram bridge covers the on-the-go assistant case.

Answer quality tracks the model

The grounding and citations are the app's; the prose is the model's. A small local model gives terser, occasionally clumsier answers than a frontier model — the receipts are the same either way.

Boilerplate & assets

Copy, paste, publish.

Boilerplate

SwarmMarshal is a free, local-first desktop app for Windows and Apple Silicon Mac that brings email and messaging — Gmail, Outlook, iMessage, Slack, Telegram, and Discord — into one client and turns that history into a private, source-cited knowledge layer. Users ask questions in plain English and get answers that link back to the original message. AI work runs on local models by default, with cloud models opt-in per task and a router-enforced local-only mode. SwarmMarshal is part of the Swarm family alongside SwarmMarshal CRM, Vibes, and SwarmSpan. More at swarmmarshal.com.

Screenshots & logos

Every screenshot on this site is the real app running a demo profile — reuse them freely with attribution to swarmmarshal.com. The full gallery has the complete set. Logos: SwarmMarshal (512px PNG) · mark (SVG) · SwarmSpan (512px PNG).

The honest test

Install it and click one citation.

Everything else on this page is commentary on that moment.