Privacy Policy
Effective November 15, 2026. KeepNeat is operated by an independent individual developer based in Utah, United States, under the name Switchgrove Studio.
Prelaunch: KeepNeat is in development and is not yet available to buy or download. The app and purchase sections below describe the planned release. This website and support email are available now.
The short version
- The app requires no KeepNeat account and includes no ads or analytics. Purchases and support use the services described below.
- Scans of your apps, storage, permissions and battery run on your Mac. KeepNeat doesn't upload your files, file names or scan results to us.
- KeepNeat goes online only for the things listed below: checking for and downloading app updates, looking up what an app or approved item is, checks you start, your license, its own updates and, if this version has it, a daily process-notes update.
- We don't receive your scan results. Online requests go directly to the services described below, including the providers that host our website, downloads and update files.
When KeepNeat goes online, and what it sends
Every web request carries your IP address and ordinary connection details, which the receiving service can see. Beyond that, here is what each kind of request contains.
Checking your apps for updates
- Apple App Store: KeepNeat asks Apple's public lookup service about your App Store apps'
identifiers (batched up to 50 identifiers per request, for example
com.example.app) and your Mac's two-letter App Store region. - Homebrew: KeepNeat downloads Homebrew's whole public list of apps and checks your apps against it on your Mac, so Homebrew doesn't learn which apps you have.
- GitHub: for apps published on GitHub, KeepNeat asks GitHub's public API for that project's latest release.
- Developers' own update feeds: many apps publish an update feed (Sparkle or Electron style). KeepNeat reads that feed from the developer's server, which shows the developer that someone with their app checked for updates.
- Command-line tools: when you check or update them, KeepNeat runs Homebrew, npm, uv or Claude Code on your Mac when installed, and they contact their own registries as they normally do.
Downloading updates you choose
When you update an app, the update is downloaded from that app's own source (the developer, GitHub, Homebrew or the App Store). If an update download fails with a certificate error, KeepNeat checks whether a local network filter intercepted that download host. Opening "What's New" loads release notes from the App Store, GitHub or the developer's site (including MusicBrainz Picard's official changelog when Picard is installed).
Looking up what an app or item is
Opening an app’s details in Applications automatically fetches its description and screenshots when needed. KeepNeat asks the App Store about the app’s identifier, or loads a page and preview image from Setapp, the app’s homepage, update-feed host or recorded download source. This automatic lookup is separate from the approved search below.
When KeepNeat doesn't have enough local detail for an app, running process, startup item or unnamed cleanup folder, you can click Look Up on the Web…. Nothing is sent until you review the exact query text and approve it. The query is based on the item’s name, with the developer’s name when verified by macOS code signing. KeepNeat filters paths and common identifiers, but item names can still contain personal details; review the query before sending it. The approved query goes over HTTPS to these fixed services:
- Apple App Store Search (
itunes.apple.com) - Homebrew Formula & Cask JSON (
formulae.brew.sh) - GitHub Repository Search (
api.github.com) - DuckDuckGo Instant Answer (
api.duckduckgo.com)
For this optional lookup, search result pages, suggested developer pages and cross-host redirect targets are pages you choose to open after KeepNeat names that exact host and you approve it separately. Plain-language summaries are composed locally on your Mac with deterministic rules and a bundled glossary (never cloud AI), and only descriptions you confirm are saved locally.
Checks you start
- "Why won't this site load?" contacts the site you type and
www.apple.comfor comparison. - Internet speed runs Apple's built-in
networkQualitytest against Apple's servers. - "Why won't it install?" checks whether the App Store, Google and GitHub download sites can be reached.
- macOS updates asks Apple, through macOS's own
softwareupdate.
None of these run unless you start them.
Your license (paid version)
- Activating a license sends the license key and your Mac’s computer name (as set in System Settings, so you can
tell your Macs apart) to Lemon Squeezy (
api.lemonsqueezy.com). Checking or deactivating it sends the key and its activation ID. - A saved key is checked about once a day while KeepNeat is open.
- Lemon Squeezy's reply includes details from your order. KeepNeat uses only the product, the key's status and dates, and the activation ID, and doesn't keep your name or email.
- During the free trial, nothing about the trial is sent anywhere.
KeepNeat's own updates
When it checks for its own updates, KeepNeat reads its update list from downloads.keepneat.app and downloads
new versions from there. Each download is checked against our signing key and Apple's Developer ID before it
is installed.
Process notes (if your version includes them)
About once a day, and sooner after an offline failure, KeepNeat asks downloads.keepneat.app for newer process notes with one plain request to a fixed
address (plus the saved file's public version tag when a verified copy is already stored). It sends no
identifiers, cookies or information about your Mac or your apps. You can turn this off in Settings.
What stays on your Mac
- Settings and history: your preferences, ignored updates, notification history, Quick Open
groups and cleanup totals, in KeepNeat's preferences file (
~/Library/Preferences). - Caches: the Homebrew app list, GitHub release tags, and looked-up app descriptions and
screenshots, in
~/Library/Caches(App Store version lookups stay in memory while KeepNeat is open). - Recently Removed and What Grew?: a 90-day list of items KeepNeat moved to the Trash so you
can put them back, plus up to 30 local folder-size snapshots for What Grew? (automatic daily snapshots can be
turned off on that page), in
~/Library/Application Support. - Process notes and confirmed lookups: verified downloaded process notes and any web lookup
descriptions you explicitly confirmed (removable anytime with Forget), in
~/Library/Application Support. - License and trial: the trial start and last-seen dates (mirrored in preferences so a locked Keychain doesn't restart the trial), your license key, its activation ID, its last-check and included-updates dates, and any seat deactivation waiting to be confirmed, in your login Keychain.
- Previous versions of apps: for direct updates, KeepNeat normally keeps the previous copy in the Trash. It warns when that copy could not be kept and Undo Update is unavailable.
Deleting KeepNeat and these folders removes this data. The license entries stay in your Keychain until you remove them in Keychain Access.
Copy Diagnostics
Help › Copy Diagnostics only copies a summary to your clipboard: versions, settings, app counts, the license state in a word, and recent error messages. The license summary excludes your key and email, but error messages can contain app or folder details. Review the copied text before sharing it. Nothing is sent automatically.
Payments
Purchases are handled by Lemon Squeezy, the merchant of record. They process your payment, issue your license key and send your receipt under their own privacy policy (lemonsqueezy.com/privacy). We receive the order details Lemon Squeezy shares with sellers (such as your name, email and country) to provide support and handle refunds.
Our website and download server
This website is hosted by Cloudflare Pages. KeepNeat’s update list, downloads and process notes are hosted by Cloudflare R2. These providers receive connection details, including IP addresses and the requested address, and may log them for security and operation. We don’t add analytics or tracking to the site.
Email sent to [email protected] passes through Cloudflare Email Routing and is delivered to a dedicated Gmail inbox provided by Google. These providers process the message and ordinary delivery details to route and store it. Your message may include your email address, name, questions and any diagnostics or attachments you choose to send. Review diagnostics before sending them.
We use these conversations to answer questions, investigate reported problems and handle license or refund requests. We retain support conversations for 12 months after the issue closes, then delete them, unless an ongoing dispute or a legal obligation requires longer retention. Deletion from our mailbox does not mean that the providers remove every backup or security record at the same time; their own retention policies apply. See Cloudflare’s Privacy Policy and Google’s Privacy Policy.
Your choices and rights
- Turn off background update checks and the process-notes update in Settings.
- Deactivate a Mac in Settings › License to remove its activation from Lemon Squeezy.
- Ask us to see or delete what we hold about you (support emails and order records), subject to what we must keep for tax and legal reasons. Write to [email protected].
Children
KeepNeat isn't directed at children and we don't knowingly collect information from them.
Changes
If KeepNeat's network use changes, we update this page and its effective date before that version is released.
Contact
Switchgrove Studio, the public name of an independent individual developer in Utah, United States. Email [email protected].