The month every Claude-powered Mac app had to stop saying "nothing leaves your device"
Every roundup of Anthropic news from April 2026 tells the same six stories. Opus 4.7 GA. Routines preview. Mythos and Project Glasswing. The $800 billion round. Google TPU. Vas Narasimhan on the board. None cover the knock-on effect on the consumer apps built on top. The month Anthropic shipped this much new user-visible API policy was also the month every Mac assistant that routes queries to api.anthropic.com had to rewrite its own onboarding copy. Here is what Fazm swapped, line by line, in the four working hours before v2.3.2 went out.
What Anthropic shipped and surfaced in April 2026
The contradiction
Two sentences that used to coexist, and stopped
Every Claude-powered consumer Mac app has a long system prompt that tells the assistant what to say on first run. Fazm's lived in Desktop/Sources/Chat/ChatPrompts.swift. For months it carried two claims side by side: "local-first" and "nothing leaves your device." In a calendar month when Anthropic was publishing model access policy, consumer terms updates, weekly rate limits, funding news, and a Bloomberg story on a model they chose not to ship, those two claims stopped being able to sit next to each other.
Onboarding safety message, STEP 0
Welcome: "Hey! I'm Fazm, your AI assistant that lives right here on your Mac." Safety: "Everything runs locally and I'm fully open-source, your data never leaves your machine."
- "your data never leaves your machine" is false the moment a chat query goes out
- Conflates on-device storage with outbound inference
- Survivable in silence, not in a month of Anthropic headlines
“Desktop/Sources/Chat/ChatPrompts.swift, lines 134 / 173 / 216 / 293. All three commits (e3666089, f1d07e72, 5196e220) were pushed on 2026-04-15 between 15:13:12 and 15:14:39 PDT. v2.3.2 shipped the next day.”
git log, mediar-ai/fazm
The two-week timeline
How Anthropic's calendar pushed Fazm's copy over the line
The rewrite did not happen on April 15 by accident. Each prior Fazm shipment in April had chipped away at the old copy without replacing it. By the time the Claude Code redesign and Routines preview landed, there was nowhere left to hide the contradiction.
Apr 3, v2.0.1 ships
Pop-out chat window, 30% wider default, push-to-talk mic. Anthropic is quiet. The onboarding copy still says 'your data never leaves your machine.'
Apr 5-7, model access and credit errors surface
Fazm v2.0.7 fixes chat failing silently when the personal Claude account lacks access to the selected model. v2.1.2 upgrades ACP to v0.25.0 with improved handling for credit exhaustion and rate limits. The contradiction starts: a credit-exhausted error is an outbound error, by definition.
Apr 11, custom API endpoints ship
Fazm v2.2.0 adds a 'custom API endpoint' setting for proxies and corporate gateways, because enterprises want to route assistant traffic through their own infrastructure. The setting only makes sense if assistant traffic is outbound. 'Nothing leaves your device' is now architecturally false in the product's own settings.
Apr 14, Anthropic's loudest day
Claude Code desktop redesign, Routines research preview, funding offers at $800B valuation, Vas Narasimhan named to the LTBT board. Anthropic is in every tech headline. Any consumer app that claims its Claude queries don't leave the device is visibly bluffing.
Apr 15, the copy rewrite
Three commits on the same day: e3666089 at 15:13:12 PDT, f1d07e72 at 15:14:14 PDT, 5196e220 at 15:14:39 PDT. Four strings in Desktop/Sources/Chat/ChatPrompts.swift swap 'nothing leaves the device' and 'data never leaves your machine' for 'local-first' plus an explicit 'AI queries are sent to Claude's API for processing but are not stored or used for training.'
Apr 16, v2.3.2 ships it
CHANGELOG entry: 'Tightened privacy language in onboarding and system prompts to accurately say local-first instead of nothing leaves your device.' Same day, Bloomberg publishes the Mythos / Project Glasswing story. The new copy is already in production when the story hits.
The anchor fact
Four diffs, one file, one afternoon
Every claim on this page maps back to these four exact string swaps. Open the repo at github.com/mediar-ai/fazm and run git show f1d07e72 -- Desktop/Sources/Chat/ChatPrompts.swift to see three of them in one diff. The fourth is one commit earlier, at e3666089.
The one outbound hop, the rest local
The rewrite would not have been truthful if it implied more or less than the architecture. Here is the exact shape: many on-device subsystems, one remote API call per assistant message.
What stays local vs the one thing that doesn't
The rewrite by the numbers
What the copy now promises
The shape of "local-first, AI queries excepted"
Stored on your machine
Every conversation, memory, file, knowledge-graph node, and browser-profile extract is a row in a local SQLite database. The app is still useful when the Mac is offline.
Sent to Claude's API
Each assistant message is a single POST to api.anthropic.com. Per Anthropic's published API policy, these are not stored or used for training.
Encrypted across devices
Cross-device sync uses end-to-end encryption, so only the user can read the cloud copy. The server never holds plaintext.
Open source
The entire Swift source is published at github.com/mediar-ai/fazm, including the commit diffs this page cites.
Custom endpoint optional
v2.2.0 (Apr 11, 2026) added a custom API endpoint setting. Enterprises can route all assistant traffic through their own proxy, and the 'local-first' claim remains accurate under that configuration.
First-run, post-rewrite
What a new Fazm user hears on 2026-04-17
The copy rewrite is only meaningful if it reaches the actual first-run flow. Here is what the post-v2.3.2 onboarding sequence looks like, with the inline pointer to the exact line in ChatPrompts.swift the assistant is reading from.
What the SERP for "anthropic april 2026" missed
The news did not end at the API
Every roundup stops at the Anthropic boundary: Opus 4.7 pricing, the $800B figure, the Mythos briefing, the Routines screenshot. The interesting second-order effect is what happens on the other side of that boundary, in the consumer Mac apps that route their chat traffic to api.anthropic.com.
Those apps have their own copy. Their own onboarding. Their own first-run safety messages. And in April 2026, Anthropic's own news volume made it visible that some of that copy was overpromising. A month earlier, nobody would have noticed the gap between "nothing leaves your device" and the existence of a credit-exhausted error. In April 2026, a month where every tech site was writing about Anthropic's API policy, the gap was unavoidable.
Fazm's response was to rewrite four strings on 2026-04-15 and ship them the next day. The rewrite is the story the SERP does not have. It is also the thing a reader can verify in five keystrokes against a public repo.
Want to see what 'local-first, AI queries excepted' looks like on your Mac?
Book a 20 minute walkthrough with the team. We will open the ChatPrompts.swift diffs live.
Book a call →Frequently asked questions
What is the real story of Anthropic in April 2026?
The surface story is the one every roundup runs: Opus 4.7 reached general availability at the same $5 / $25 per MTok pricing as 4.6, Claude Code got a redesigned desktop app and the Routines research preview on April 14, Bloomberg reported on April 16 that Anthropic held back a model called Mythos after internal red-team results and began a controlled Project Glasswing rollout to roughly 40 enterprises including Amazon, Apple, Microsoft and JPMorgan Chase, new funding offers valued the company near $800 billion, a multi-year Google Cloud / TPU expansion and a Broadcom multi-gigawatt deal both landed, and the Long-Term Benefit Trust appointed Vas Narasimhan to the board. The quieter story, and the one this page is about, is what all that shipping forced every consumer app built on the Claude API to rewrite in its own user-facing copy.
Why did consumer Mac apps have to change their onboarding copy in April 2026?
Because two things cannot both be true. A consumer Mac app that sends every assistant message to api.anthropic.com cannot also tell a first-run user 'nothing leaves your device.' It was survivable as marketing shorthand while Anthropic was quiet. It was not survivable the month Anthropic was in the news every 48 hours about new user-visible API policy. The honest word for that architecture is 'local-first', not 'local-only', and April 2026 is the month the gap between those two words became too visible to paper over.
What exactly did Fazm change, and where is it in the source?
Four specific strings in Desktop/Sources/Chat/ChatPrompts.swift, across three commits all pushed on 2026-04-15. Commit e3666089 (15:13:12 PDT) rewrote the browser-profile migration prompt around line 134 from 'Nothing leaves the device' to 'The extracted profile stays on the device.' Commit f1d07e72 (15:14:14 PDT) rewrote three onboarding strings in the same file: the PRIVACY & DATA block at line 173 ('nothing leaves the device unless they opt in' -> 'AI queries are sent to Claude's API for processing but are not stored or used for training'), STEP 0 SAFETY at line 216 ('Everything runs locally and I'm fully open-source, your data never leaves your machine' -> 'I'm fully open-source and local-first, your data is stored on your machine, and AI queries aren't stored or trained on'), and STEP 5 PRIVACY NOTE at line 293 ('your data stays on your machine, you own it all' -> 'your data is stored locally and you own it all'). Commit 5196e220 (15:14:39 PDT) added the one-line CHANGELOG entry. All three landed in v2.3.2, released 2026-04-16.
Is Fazm still local-first?
Yes. The distinction that matters is the word 'first' vs the word 'only.' Memories, files, conversations, the knowledge graph, the browser profile extract, the skill library at ~/.claude/skills, the ACP bridge's JSON line subprocess, every observer thread and every scheduled task all run on the user's machine. AI inference is the remote piece: each assistant message is sent to Anthropic's API for model generation. That is the one outbound hop. Anthropic's own API policy states those calls are not stored for training. The April 2026 copy change is about stating that architecture accurately in the moment a new user is deciding whether to grant permissions, not about changing the architecture itself.
Which Anthropic April 2026 events made the old copy untenable?
Four of them, stacked over a two-week window. (1) The April 7 rollout of the ACP v0.25.0 error handling for credit exhaustion and rate limits, because telling a user 'nothing leaves your device' and then showing them a credit-exhausted error is a self-contradiction. (2) The April 11 addition of a 'custom API endpoint' setting for proxies and corporate gateways (Fazm v2.2.0), which literally exists to let admins route assistant traffic through their own infrastructure. (3) The April 14 Claude Code desktop redesign and Routines preview, which put Anthropic's own assistant app in the news as a thing that talks to their API. (4) The April 16 Bloomberg piece on Mythos and Project Glasswing, which made clear that what model you get and whether you get one at all is an Anthropic-side decision, not a local-side one.
How is 'local-first' different from 'private'?
Local-first means the canonical copy of your data lives on your machine and the app can still be useful when it is the only copy. Private is a claim about who can read a remote copy. They overlap but are not the same. Fazm is local-first in the first sense (all data is stored on-device, and cross-device sync is encrypted so only the user can read it) and relies on Anthropic's API privacy terms for the remote inference hop (queries are not stored for training per Anthropic's stated policy). Before April 15, Fazm's onboarding conflated the two by saying 'nothing leaves your device.' After April 15, it separates them: 'your data is stored on your machine, and AI queries aren't stored or trained on.' Two clauses, each narrowly true.
Can I verify the commits and strings this page cites?
Yes. The repository is public at github.com/mediar-ai/fazm. The three relevant commit SHAs are e3666089 (2026-04-15 15:13:12 PDT, 'Update privacy copy in browser profile migration prompt'), f1d07e72 (2026-04-15 15:14:14 PDT, 'Update chat prompts to clarify Claude API usage and data privacy'), and 5196e220 (2026-04-15 15:14:39 PDT, 'Add changelog entry for local-first privacy language update'). All three touch Desktop/Sources/Chat/ChatPrompts.swift except 5196e220 which only touches CHANGELOG.json. The user-facing release is v2.3.2 dated 2026-04-16 in CHANGELOG.json. Run 'git show f1d07e72 -- Desktop/Sources/Chat/ChatPrompts.swift' to see the diff. The changed line numbers are 134, 173, 216, and 293 in the post-commit file.
Does this apply to other Claude-powered Mac apps, or is it a Fazm-only story?
It applies broadly. Any Mac assistant that routes queries to a hosted LLM API (Anthropic, OpenAI, Google, anyone) faces the same copy problem. Most apps handled it by never making the claim. Fazm had made the claim and corrected it in public, which is why the commit diff exists and is citable. The broader lesson is not about Fazm; it is about the difference between 'local-first' as an architecture pattern and 'nothing leaves your device' as a marketing line, and the importance of saying which one you actually have.
Comments (••)
Leave a comment to see what others are saying.Public and anonymous. No signup.