A local-first Gmail cleanup agent that pairs a local LLM with an identity-gated security perimeter, so bulk cleanup is fast, automated, recoverable, and private. Built for people who use AI heavily and trust it exactly as far as it can be verified.
Do not ask the model to behave. Make misbehavior impossible.
Inboxes decay by default: promotions, expired verification codes, dead calendar invites, drafts you abandoned on your phone. The tooling to fix it at scale has been stuck between two bad options.
Hosted assistants need full mailbox access, and your mail becomes someone else's context window. Statements, medical mail, family threads: all of it leaves the machine.
LLMs invent outcomes and misread instructions. Give one delete authority and a single confident mistake becomes unrecoverable data loss.
Manual cleanup does not scale and does not repeat. Nothing watches the piles that rebuild every week, and nothing tells you what is actually safe to clear right now.
Reasoning runs on a local LLM (Ollama, Qwen 3). Mailbox content never reaches a hosted model, and once the laptop is on your desk, the intelligence is free. Cloud brains are optional, never required.
The Google credential holds gmail.modify and nothing more, so permanent deletion is structurally impossible. Every action is two-phase: the model proposes a preview, a human confirms, and only then does a one-time token execute. A build-failing test guards the structure.
IBM Verify fronts the app: OIDC with PKCE, token introspection on every call, and DPoP sender-constrained tokens (RFC 9449) bound to a private key that stays on the laptop. A stolen token is useless without the key. Sensitive cleanups require a push approval on your phone, and a suspicious tap fires a kill switch that revokes the Google grant and tears down every session.
A dashboard of built-in cleanups shows truthful ready counts (starred and protected mail already excluded, so a number never overpromises). Toggle any cleanup to run automatically, daily or weekly, and it surfaces what is ready every time you open the app. Every action lands in an activity log with one-click Undo.
Policy-evaluated step-up via IBM Verify Token Exchange (RFC 8693). Today the tier engine gates sensitive actions in code and fires the push directly. Next, every sensitive execute is fronted by a real token exchange evaluated by a Verify access policy: an auditable, centrally managed decision the agent cannot see, influence, or bypass. No hallucination and no compromised prompt gets past policy, because the model was never part of the decision.
SSF/CAEP transmitter. The kill switch becomes a shared-signals emitter, so a revocation here propagates as a standard continuous-access event to everything else that trusts the session.
Nudges when the app is closed. A background launchd agent and native macOS notifications, so "448 ready to clear" can find you without the app open. Same rule as everything else: it can tell you, it cannot act.
Analytic cleanups. Cadence detection for daily digests (keep today's, clear the backlog), high-volume rarely-opened senders, and unsubscribe candidates ranked by noise.
An LLM-written health read. The daily summary gets a natural-language voice over the same deterministic counts. The model narrates numbers; it still never produces them, and it still never decides an action.