Privacy

Local-first, with clear boundaries.

This page describes what the MacStick app does with your data. The short version: core work stays local, the app collects no analytics, and checkout and license verification use Dodo Payments. Last updated 2026-11-11, for MacStick 1.1.

Summary. MacStick does not upload your files, events, or AI usage logs. Dodo receives purchase and license information when you use checkout or activate a license. Core features keep working offline.

What the app reads, and why

Focus timer

Your chosen duration and the deadline are stored in the app’s preferences on your Mac so a session survives a restart. Nothing else is recorded.

Battery and power

MacStick asks macOS for the current battery percentage, charging state, and estimated time remaining, and displays it. These values are not logged or stored.

AI usage monitor

To show tokens and estimated cost, MacStick reads the session logs that Claude Code, the ChatGPT Codex CLI and Gemini CLI already write to your home folder (~/.claude/projects, ~/.codex/sessions and ~/.gemini/tmp). Limit percentages and reset times for Codex come from the same Codex logs; Claude Code’s 5-hour reset is an estimate worked out on your Mac from session times, unless you connect Claude Code limits. If you press Connect in Settings → Monitors, MacStick adds itself as Claude Code’s status line command in ~/.claude/settings.json (a backup of that file is kept beside it). Claude Code then hands MacStick its limit percentages and reset times after each reply; MacStick saves only that limits block in its own folder under ~/Library/Application Support and prints a short line in Claude Code. Disconnect removes the entry and the saved file. It parses token counts locally and applies published list prices to estimate cost. It does not read your prompts or responses for any other purpose, does not store copies of the logs, and never sends anything to Anthropic, OpenAI, Google, us, or anyone else. Cost figures are estimates; your provider’s billing is authoritative.

File shelf

The shelf stores security-scoped references (bookmarks) to the files you drop on it, so it can find them again after a restart. It never copies, uploads, or modifies your files. Removing an item from the shelf removes only the reference.

Meetings and calendar

When you enable it, MacStick asks macOS for Calendar access and reads upcoming events on the calendars you choose, to show the next meeting and its join link. Events are read on your Mac through EventKit and are not stored or sent anywhere. Meeting links open in your default browser or app; MacStick does not join calls itself.

Microphone indicator

The “Mic live” chip reflects whether macOS reports the microphone as in use by any app. MacStick does not access, record, or process audio.

Now Playing

Track and artist are read from Apple Music or Spotify on your Mac through their supported scripting interfaces. Nothing about your listening is stored by MacStick.

Display and appearance settings

Which display the panel lives on, whether it appears over full-screen apps, and your theme template (Midnight, Graphite, Forest or Daylight) are saved as local preferences.

What the app does not do

  • No mandatory account for core features. Dodo collects the billing email needed for your purchase and license delivery.
  • No analytics, telemetry, crash reporting, or “anonymous usage counts” in the Mac app.
  • Network connections to Dodo support checkout and license activation, validation, and deactivation. Signed in-app update checks are not implemented yet.
  • No third-party analytics SDKs in the Mac app. The website server uses Dodo’s official payment SDK.
  • No permission prompts at first launch. Calendar access is requested only when you turn on Meetings, and explains why.

Where data lives

All preferences and shelf references are stored in the standard per-user locations macOS provides for apps, inside your home folder. Deleting app preferences removes those local settings. License credentials are stored separately in the login Keychain; deactivate the Mac before uninstalling to release the device slot.

This website

Marketing assets are served locally without third-party fonts. An optional theme preference is stored in your browser. Starting checkout sets a necessary, HTTP-only purchase-status cookie for seven days. Dodo’s hosted checkout has its own payment-processing privacy terms.

Website measurement

The website (not the app) uses Google Analytics 4 to count page views and a few interactions: download and pricing clicks, checkout starts, demo use, opened FAQ answers and scroll depth. Events describe what was clicked and where on the page; we do not send names, email addresses or license keys to Google. If you arrive from an advert, Google may also record the campaign so we can tell which adverts work.

The website also loads the X (Twitter) pixel so X Ads can tell us which of its adverts led to a visit, a download, a started checkout or a purchase. It sends X the page address and which of those four things happened; for a purchase it includes the amount and an order reference, never your name, email address or license key. X receives this under its own privacy policy.

In the EEA, the UK and Switzerland nothing is measured until you choose Accept in the consent banner. Elsewhere measurement is on by default and the banner lets you decline. The X pixel follows the same choice; because X offers no regional setting, we treat a European time zone as needing consent. Global Privacy Control and Do Not Track browser signals are treated as a decline, with no banner. Your choice is stored in your browser under ms-consent; clear site data to be asked again. Google acts as a processor for this data under its own terms.

Changes

If any of the above changes — for example when a release build adds an update checker — we will revise this page and note the date at the top before the change ships.

Contact

For billing or license questions, use the merchant contact on your Dodo Payments receipt. To recover a license key, use the recovery page.

Checkout and licensing

When configured and enabled, checkout opens Dodo Payments. Dodo processes billing information and sends receipts and license keys. When branded license emails are enabled, MacStick uses Resend to deliver your key and activation instructions to your purchase email address. Resend processes the recipient address, license email content and delivery status. These are transactional messages, not marketing subscriptions. MacStick sends your license key and activation identifier directly to Dodo for activation, validation and deactivation. Merchant API keys remain on the server.

The website stores minimal order/payment references and webhook delivery IDs in PostgreSQL. It does not store full license keys, card details or webhook bodies. Email jobs store provider references and delivery status. Recovery abuse limits use a keyed hash of the submitted email, cleared after two days by the email worker. Your entered address is used to find your purchase with Dodo; recovery never exposes a license in the browser. A necessary, HTTP-only purchase cookie expires after seven days. Keys are stored in the Mac login Keychain; files, calendar contents and AI usage logs are not uploaded for licensing.

This development privacy statement requires business/legal review before live checkout. Configure hosting logs to exclude checkout return query strings, which Dodo may populate with sensitive fields.