Keeploop Privacy Policy
Effective date: [TO CONFIRM: set on public launch]
Keeploop is offered by Zach Moss Productions, LLC, an Illinois limited liability company ("we", "us").
Applies to: the Keeploop app for macOS, its keeploop-mcp connector, the Keeploop Claude Desktop extension (Keeploop.mcpb) and the Keeploop Claude Code plugin.
The short version
- Keeploop runs entirely on your Mac. There is no Keeploop account and no analytics, telemetry or crash reporting. The only time it contacts keeploop.app on its own is once, to start the Pro trial (see License checks).
- It reads the mail Apple Mail has already stored on your Mac, read-only. It never signs in to your mail provider and never sees your mail passwords or OAuth tokens.
- The developer of Keeploop receives none of your data: not your mail, your settings, your usage or your license checks.
- Mail content leaves your Mac only through something you connected or switched on yourself: the AI agent you connect, and a small set of optional features listed below. Each one is off until you turn it on.
What Keeploop reads
- Apple Mail's local index and message files in
~/Library/Mail, which macOS protects and which Keeploop can read only after you grant it Full Disk Access. Keeploop opens them read-only. It never changes, moves or deletes a message. - Your account list from Mail (account names and addresses), through Automation permission for Mail, so you can choose which accounts agents may see and so Keeploop can recognise mail you sent yourself.
- Only the accounts you allow. Settings > Accounts decides which accounts are visible to agents. An account you switch off is never searched or returned.
What Keeploop writes
| What | Where | When |
|---|---|---|
| Drafts and reply drafts | your Drafts mailbox in Apple Mail | only when an agent asks and the Pro drafts feature is on |
| Saved attachments | a copy in ~/Downloads |
only when an agent calls save_attachment |
| Settings | ~/Library/Application Support/Keeploop/settings.json |
when you change a setting |
| Monitors and their matches | ~/Library/Application Support/Keeploop/keeploop.db |
when an agent creates a monitor |
| Voice profile (statistics and cards) | ~/Library/Application Support/Keeploop/voice/ |
when you build a voice profile |
| Cached account list | ~/Library/Application Support/Keeploop/mail_accounts.json |
refreshed about hourly |
| Logs | ~/Library/Logs/Keeploop/ |
while running, for troubleshooting; they stay on your Mac |
| API keys you enter | the macOS Keychain | when you save a key in Settings > AI Models |
| Client registrations | each agent's own config file | only when you press that agent's Connect button |
Nothing is sent unless you allow it. Keeploop can send mail through Apple Mail only when your permissions (Settings > Permissions) allow it for that person, account, label and app. The default is Always ask: you see the whole message on your Mac and press Allow or Deny, and no answer means no. Every send then waits a few seconds so you can cancel it. Keeploop keeps a log of each decision and send on your Mac (~/Library/Logs/Keeploop/audit.jsonl): who, when and the subject, never the message body.
What can leave your Mac, and only when you turn it on
Keeploop itself makes no network connection unless you enable one of the features below, apart from the one Pro trial check-in described under License checks.
| Feature | What is sent | To whom | Default |
|---|---|---|---|
| The AI agent you connect (Claude Code, Claude Desktop, Cursor, Codex, VS Code or another MCP client) | whatever mail, attachments and account details the agent asks for, from the accounts you allowed | that agent, and from there to its model provider under that provider's terms | nothing is connected until you press Connect |
| Phone notifications (ntfy) | the monitor's name, and the sender and subject of the matching message | the ntfy server you choose (ntfy.sh unless you change it), on a random private topic |
off |
| Webhook destinations, including Slack and Discord webhooks | the monitor's name and filter, and the matching message's sender, subject, account, mailbox, IDs and a short text snippet (about 400 characters); for Reply notices, the thread's Message-IDs and your reply's IDs and address | the URL you enter, and no other: redirects are never followed | off |
| Voice profile cards | samples of recent mail you sent from that address, trimmed | the model you pick in Settings > AI Models: your own claude or codex command-line tool (and so that tool's provider, under your own subscription), Anthropic or OpenAI with your own API key, or a custom endpoint you enter |
only when you press Build, Refresh or Test |
| Update checks | a standard request for the update feed, including the app version and macOS version | the Keeploop update server | off until you opt in or press Check for Updates |
These stay on your Mac:
- Apple Intelligence voice cards. The on-device model runs inside Keeploop. Nothing is sent.
- Local model servers such as Ollama or LM Studio at
localhost. Keeploop looks for them on your Mac only. - Mac notifications and messages to your Claude Code session, which go over a local connection on your Mac.
- Codex session delivery (beta, off by default) hands your installed
codextool a message that carries only IDs (monitor, match and Message-ID), never a subject or body. What the Codex agent then reads is covered by the agent row above. - License checks. A license key is verified offline against a public key built into the app. Keeploop never contacts a license server to check one. The key itself contains the email address it was issued to and is stored in
settings.json. - Starting the Pro trial is the one exception. After the first-run Welcome page (or on the first launch of a version with the trial), Keeploop sends keeploop.app a one-way hash of this Mac's hardware ID and the date the trial started, and gets back a signed trial key, which it stores in
settings.json. If that fails, the trial runs offline and Keeploop asks again on a later launch; once a trial key is saved it never asks again. We keep a salted hash of that value, the trial key and its end date, so reinstalling returns the same trial. No email, name, IP address or app version is kept.
Statistics and examples used by the voice feature (greetings, sign-offs, typical length) are computed on your Mac and never call a model.
API keys and credentials
- API keys you enter are stored in the macOS Keychain, never in
settings.jsonor a log. A key is fetched only for the request that needs it, sent only over HTTPS (or tolocalhost), and never forwarded to another host. - Keeploop never reads, stores or forwards the login of your Claude or ChatGPT subscription. When you pick a subscription, Keeploop runs the command-line tool you already installed, and that tool handles its own sign-in.
- Keeploop has no access to your mail passwords or mail provider tokens. Apple Mail keeps those, and Keeploop never asks for them.
Your control
- Choose which accounts agents may see in Settings > Accounts.
- Pause Keeploop from the menu bar. While paused, no monitor scans and nothing is sent to ntfy, webhooks, notifications or agent sessions.
- Turn features and destinations on or off in Settings, at any time.
- Remove a client from an agent's own settings, or with Keeploop's Remove button where offered.
- Delete everything Keeploop stores by following Uninstall cleanly on the Support page.
Purchases
If you buy Keeploop Pro, the payment is handled by our payment provider, [TO CONFIRM: payment provider], which is named at checkout and processes your payment under its own privacy policy. That provider receives the details you give it to complete the purchase, such as your email address and payment information, and sends you your license key. Keeploop's developer receives your order record from the provider. The app itself never contacts the provider.
Children
Keeploop is not directed at children under 13 and collects no information from anyone.
Changes
If this policy changes, the new version is published at the same address with a new effective date. A change that makes Keeploop send anything new off your Mac will be off by default and described in the release notes.
Contact
Questions about privacy: [email protected]. Keeploop is offered by Zach Moss Productions, LLC, Illinois, United States.