Last updated: 1 September 2026 · Deutsch
You are asked to hand a closed-source app an OAuth sign-in and, for cost figures, an admin API key. That is a fair thing to hesitate over. This page is the record you would otherwise only see after installing: what was examined, what was found, what was fixed — and what was deliberately left alone.
It is a documented, model-assisted framework review carried out with Claude Fable 5 across four dates, each producing a written report. It is not an external audit. No independent firm was commissioned, and nobody outside this project has read the source. If that is your bar, this app does not clear it, and no wording here will change that.
What the review does give you is a specific, checkable account rather than a badge. Every finding below names the class of defect and what was done about it.
The last full pass ran on 10 August 2026 against the code that shipped as version 5.0. The current release is 6.3.
Added since, and therefore not covered by a formal pass: the OpenRouter and Grok cards, the second Claude account, demo mode, the setup assistant, the drag-to-reorder cards, the monthly-total line, the rating prompt, GitHub Copilot, the live ChatGPT fetch, the outage indicator and the tip jar (6.5). The hardening the passes produced — no redirects, Keychain-only credentials, capped parsing of foreign transcripts — applies to all of it, because it sits in the shared layers. But the honest statement is that 6.3 has not been through its own review, and saying otherwise would defeat the point of this page.
2 August 2026 · two independent runs
.command file.startup in the Codex connector — access moved
onto the queue.SecRandomCopyBytes — it now throws
instead of silently producing weak randomness.agentId taken from a foreign
transcript — characters are filtered.4 August 2026 · two independent runs · 103 tests green
The five findings from 2.1 were verified as still closed.
"input_tokens": 1e300 crashed the app on
conversion — and again on every restart, because the file stayed in the
activity window. Values are now capped and sums saturate.cwd field of a foreign
transcript; if it pointed at an application bundle, the click started a
program. It now only reveals in Finder, and only for a real folder.O_NOFOLLOW.9 August 2026 · two runs: bugs and improvements, then the security of the display layer
Both reports were worked in before the release. This pass produced no separate security finding list, and it would be padding to present one here.
10 August 2026 · shipped as version 5.0
Int(…) on the remaining time in the
menu bar icon: an outsized resets_at from the server could crash
the app. Capped at eight days.Decimal(Double) distorts amounts, so the top-up amount
travels as a string; a stale subtotal could be shown against a new amount;
an unnecessarily public interface was closed.The findings from 2.1 through 4.1 were verified as still closed.
These are judgement calls, not oversights. They are listed because a review you cannot disagree with is worth nothing.
sess-… cookie —
and that cookie is full access to your OpenAI account. The balance is instead
derived from the top-up amount you enter yourself minus the daily costs the app
already fetches. No extra request, no new secret.~/.claude and
~/.codex freely. Since 5.1 the Mac App Store edition runs sandboxed
and asks for exactly those two folders as an explicit grant — access stays
read-only and comes from you.http://localhost:<port>/callback.
RFC 8252 §7.3 recommends the literal 127.0.0.1, but Anthropic's
client accepts exactly this form — switching would break sign-in. The rebinding
risk is contained because the server listens on the loopback interface only
(requiredInterfaceType = .loopback).This is the full list — the same one the app shows on its About page. Redirects are not followed, and the contents of your sessions are never transmitted.
| Address | What for | Needs |
|---|---|---|
claude.com, platform.claude.com |
Signing in and out of Claude | Your Claude subscription |
api.anthropic.com |
Subscription usage windows, and separately the cost of the API | Sign-in, or an admin key |
auth.openai.com |
Signing in to your ChatGPT account — the page belongs to OpenAI | During sign-in only (App Store edition) |
chatgpt.com |
Quotas and credits of the signed-in ChatGPT account | ChatGPT sign-in |
api.openai.com | OpenAI API cost and token usage | Admin key, optional |
api.moonshot.ai / api.moonshot.cn, api.kimi.com |
Kimi balance and coding quota | API key, optional |
openrouter.ai | Credits, spend and the limit on your key | An ordinary key, optional |
management-api.x.ai | xAI balance and spending cap | Management key, optional |
api.github.com |
The login name for your token, and the GitHub Copilot billing report | GitHub token, optional |
status.claude.com, status.openai.com,
status.moonshot.cn |
The providers' public incident reports — nothing is sent, only a public status file comes back | Only while that provider's card is set up |
localhost:<port>/callback |
The OAuth return trip, loopback interface only | — |
Local files: ~/.claude, ~/.codex |
Your Claude Code sessions and the ChatGPT subscription limits, read on your Mac. Nothing of it leaves the device. | Read-only access you grant once |
There is no server of ours anywhere in that list. ChatGPT limits on the Mac come
either from your local Codex install or, if you sign in to ChatGPT inside the app,
straight from chatgpt.com.
OpenAI and Anthropic expose cost and usage figures through their admin endpoints alone — a normal project key returns nothing there. That is a real concession on your part, so the two things worth knowing:
If that trade is not one you want to make, leave those two cards off. Every card is optional, and the rest of the cockpit works without them.
Use the contact form and say up front that it is a security report — leave an address you can be reached at and you will get a reply there, so the details need not go into the form itself. Please give it a few days before publishing — this is one person, not a security team.