Privacy Policy - Tappie

Effective date: August 19, 2026

Short version: Tappie has no in-app analytics, telemetry, or crash-reporting SDKs. It runs on your Mac and talks to Homebrew. The only thing we count is how many distinct installs check for updates - an anonymous, aggregate tally (see §3.2), never tied to you. The optional CVE Lookup feature scans your packages locally - no per-package data ever leaves your Mac. Since 1.4.0, Tappie can fetch icons for casks you have not installed from GitHub's raw CDN, but only if you say yes when it asks on first launch; the request carries the cask name and nothing about you (see §3.3).

1. What this app does

Tappie is a native macOS user interface for Homebrew. It runs entirely on your Mac, executing brew commands on your behalf and displaying the results. By default Tappie operates fully offline apart from:

  • Querying Homebrew's public formula index (which is what brew itself does).
  • Querying Empiric Apps' update server at https://www.empiricapps.com/api/updates/tappie/latest to check whether a newer version of Tappie itself is available.
  • Fetching application icons for casks you have not installed, from GitHub's raw CDN (see §3.3), if you agree to it when Tappie asks on first launch.

2. What we collect - short answer

Nothing by default. Tappie does not include analytics, telemetry, crash reporters, or advertising SDKs. The Apple Privacy Manifest (PrivacyInfo.xcprivacy) bundled with the app reflects this.

3. Optional features that send data off-device

This section lists everything Tappie sends off your Mac beyond Homebrew's own package index. Two of the three are opt-in and stay off until you turn them on: CVE Lookup (§3.1) and cask icons (§3.3). The third, the update check (§3.2), is on by default and can be switched off. Note that the Smart Filter feature is not one of these: it uses Apple's on-device Foundation Models, runs entirely on your Mac, and sends nothing off-device.

3.1 CVE Lookup (opt-in, runs locally)

When you enable CVE Lookup in Tappie's Preferences, Tappie scans your installed Homebrew packages for known vulnerabilities using grype, an open-source vulnerability scanner published by Anchore. The scan runs entirely on your Mac.

What leaves your Mac:

  • grype downloads its vulnerability database from Anchore's servers when it's first installed and then refreshes it periodically (typically once a day). The download is a standard HTTPS request, which means Anchore's servers can see your IP address - exactly as any website you visit can.
  • That is the only network activity. The scan itself is local.

What is not sent:

  • The list of your installed packages, or any per-package query, ever
  • Your name, email, Apple ID, or any login credential
  • Installation paths, filesystem layout, or hardware identifiers
  • Scan results

How it works: grype reads /opt/homebrew/Cellar (or /usr/local/Cellar on Intel Macs), identifies the installed formulae and casks, and matches them against its local database. The matched advisories are surfaced in Tappie's Health Report.

How long results live on your Mac: Tappie caches grype's output in ~/Library/Caches/Tappie/cve-lookup/ for one hour to avoid repeated scans during a single session. You can clear the cache from Preferences at any time. The grype database itself is managed by grype in its own directory (~/Library/Caches/grype on macOS).

Anchore's policy: See Anchore's Privacy Policy. The grype tool itself is open source and self-contained.

Disabling: Toggle the switch off in Tappie → Preferences → CVE Lookup. After disabling, the in-app cache is cleared. Tappie does not install or uninstall grype on your behalf when you toggle the feature - you control that with brew install grype / brew uninstall grype.

3.2 Tappie update check (always on)

On launch, Tappie queries https://www.empiricapps.com/api/updates/tappie/latest for the latest published version. The request includes:

  • Your IP address (as with any HTTPS request)
  • A standard User-Agent containing the Tappie version (e.g. Tappie/1.0.2)

We log these requests for aggregate volume and operational monitoring (e.g. detecting outages of the update endpoint). This includes counting how many distinct installs check for updates in a given period - an anonymous tally derived from a one-way hash of your IP address and the request's User-Agent with all version numbers removed, so updating Tappie or macOS does not make you look like a new install. It is not the raw IP (we don't store that here), it is never linked to your identity, and we build no per-user profile. We do not share it with third parties. These records are discarded within 90 days.

You can disable update checks in Tappie → Preferences → Updates, but you'll then need to check for new versions manually.

3.3 Cask icons (opt-in, asked on first launch) - new in 1.4.0

Homebrew's package index carries no icon field, so casks you have not installed have no artwork to show. To fill that gap, Tappie fetches icons from CaskFlow, an open-source (MIT) icon catalogue hosted on GitHub. The request goes to raw.githubusercontent.com.

Tappie asks first. On first launch it shows a prompt explaining the fetch, and no icon is requested until you answer. Decline and nothing is ever sent; you can change your answer at any time in Settings → Privacy.

What leaves your Mac:

  • One HTTPS request per cask, whose URL contains only the cask's public Homebrew name (e.g. firefox) - the same name anyone can read in Homebrew's public index.
  • Your IP address, as with any HTTPS request. GitHub can see it; see GitHub's privacy statement.

What is not sent:

  • No account, no cookies, no query parameters, no user or machine identifier of any kind
  • No list of what you have installed. Icons are fetched for casks as they appear on screen, installed or not, so a request does not mean you installed anything
  • Nothing at all for formulae - they are never fetched, they get a colored monogram tile

Caching: Icons are stored in ~/Library/Caches/Tappie/icons/. A cask with no icon in the catalogue is remembered as such for seven days, so Tappie does not re-ask on every launch.

Installed casks are unaffected: their icon is read straight from the application bundle already on your Mac, with no network request, exactly as in 1.3.0.

Disabling: Turn off Settings → Privacy → “Download icons for casks”. This stops all icon requests and clears the cache. Casks then fall back to the same monogram tile formulae use.

4. What we do not do

  • No analytics SDKs (no Mixpanel, Amplitude, Segment, GA, Firebase Analytics, etc.).
  • No crash reporters (no Sentry, Crashlytics, Bugsnag).
  • No advertising.
  • No account system - Tappie does not have logins.
  • No selling or sharing of personal information to third parties for marketing.

5. Children's privacy

Tappie is a developer tool not directed at children under 13. We do not knowingly collect data from children.

6. Your rights (GDPR / CCPA)

Because Tappie does not maintain a user account and does not send identifying data anywhere, we hold no personal data about you that we could provide, correct, or delete.

Two third parties may briefly see your IP address, each only if you turned the relevant feature on: Anchore, when grype downloads its vulnerability database (CVE Lookup), and GitHub, when Tappie fetches a cask icon (§3.3). Each is the data controller of any logs they retain from that connection. Refer to their privacy policies for access / deletion requests.

If you believe Tappie is handling data in a way that violates GDPR, CCPA, or another applicable regulation, email contact@empiricapps.com and we'll respond within 30 days.

7. Changes to this policy

We may update this policy as features change. Material changes (e.g. a new third-party service Tappie communicates with) will trigger a fresh consent prompt inside the app for the relevant feature - your previous consent does not roll over to a new data flow.

8. Contact

contact@empiricapps.com · empiricapps.com