Headspare

Headspare privacy policy

Headspare shows your AI subscription limits. Sign-in tokens stay on the device you signed in on and are sent only to that provider. Mac, iPhone and Apple Watch keep readings in your iCloud. If you pair a phone, sealed readings are meant to go through a relay. That relay is not deployed yet. The waitlist on this website is separate, and only if you join it. This page says what the apps read, where it is stored, and how to delete it.

Effective 25 October 2026. Applies to Headspare for iPhone, Apple Watch, Mac and Android, to this website, to the waitlist, and to the support email.

In short

Who I am

Headspare is made by Mike Zamayias, an individual developer. I am the controller of personal data processed through the apps, this website, the waitlist and the support email, and the person responsible for this policy.

Email: support@headspare.app. No phone number and no street address are published here.

What Headspare reads

On the Mac: direct sign-in

In Settings, Accounts, you can sign in to Claude, Codex, Antigravity, xAI or GitHub Copilot directly. Headspare signs in the way the providers’ own coding tools do.

On the Mac: VibeProxy

Instead of signing in, or as well, you can point Headspare at VibeProxy. The Mac app talks to VibeProxy, a separate app that holds your AI subscription logins. It connects only to the address 127.0.0.1, which is your own Mac, and never leaves it.

For VibeProxy accounts, the requests to Claude, Codex, Antigravity and xAI are made by VibeProxy, using your own accounts, in the same way as VibeProxy’s own quota page.

For sign-in, Headspare connects to the providers you sign in to directly, on the Mac or the iPhone, and to VibeProxy on your Mac when you use it. Sign-in tokens are sent only to the provider they belong to. They are not sent to a Headspare server. Readings on the Mac and the iPhone also go to your iCloud. A paired phone is meant to send sealed readings to the relay once that relay is deployed. Nothing is sent there yet.

Headspare does not read your prompts, conversations, code or other files. The Mac app refreshes when it opens and then every 30 minutes while it runs.

On the iPhone: direct sign-in

In Settings, Accounts, you can sign in to the same providers on the iPhone. No Mac is required for those accounts.

On Apple Watch

The Watch reads what your Mac and iPhone saved to your iCloud. It does not sign in, hold tokens, or connect to VibeProxy or to any AI provider.

The one-time unlock is bought through Apple’s App Store. Apple handles the payment, and I do not receive your name, email or payment details. The app checks with the App Store whether this Apple Account owns the unlock, and stores that yes or no on the device so widgets can read it. When the iPhone confirms a purchase, it also writes an unlock record to your private iCloud database so the Mac can see it. That record holds the platform, the time of the unlock, the App Store original transaction ID and the product ID. The iPhone removes the record if the App Store revokes the purchase.

On Android, and the relay

Android does not sign in to the providers and does not read iCloud. The plan is to pair it with the Mac. The Mac will seal the readings with a key that stays on your devices and send the sealed bytes to a relay. The relay is a Cloudflare Worker, and it is not deployed yet, so nothing is sent there now. When it is, the phone will download the sealed bytes and open them on the phone. The Android app uses Google’s AndroidX libraries. It has no advertising code. It sends crash reports and counts of actions such as pairing and feedback to Sentry, as the crash reports section describes.

Android is meant to use the same one-time price, US$4.99. That Play Billing purchase is not built yet, so the Android app does not charge.

Where it is stored

WhereWhatWhy
Your private iCloud database, container iCloud.com.mikezamayias.headspareThese records:
  • Snapshot, one per device that signed in, named source- plus that device’s id: each account’s provider, name (email or label), plan, limits with used share and reset time, notes and error messages. The Mac also writes an older single record named latest so earlier app versions still have something to read.
  • Sources index, named sources-index: the ids of the devices that have a snapshot.
  • History, one record per day, named history- plus the date: the time and used share of each limit. A history index, named history-index, lists those days.
  • Settings, named settings: the display settings the devices share (top card, sort, pinned limits, limits hidden from the top card, hide account names, account order, hidden providers and hidden accounts) with the time each was last changed.
  • Refresh request, named refresh-request: two times, when the iPhone last asked the Mac to refresh and when the iPhone app was last open.
  • Unlock, named unlock: the platform, the time of the unlock, the App Store original transaction ID and the product ID.
So each device’s readings stay separate, the iPhone and Watch can show them, the devices agree on settings, and the Mac knows about the unlock. The records hold readings and settings, not sign-in tokens.
Each device, in the app’s shared storage (app group)The latest snapshot, your hide-names setting, and on iPhone and Watch a copy of the history file.So the apps, widgets and complications show data without waiting for iCloud.
The Mac, in the app’s Application Support folderThe full usage history file.To draw pace charts and to feed iCloud.
The Mac, in the keychainFor each account you sign in to directly: the provider, the email or name, the sign-in status, and the access and refresh tokens. Readable only by Headspare on this Mac, and only after you unlock it once after a restart. Not synced.So the Mac app can read your limits without asking you to sign in every time.
The iPhone, in the keychainFor each account you sign in to on this iPhone: the provider, the email or name, the sign-in status, and the access and refresh tokens. Readable only by Headspare on this iPhone, and only after you unlock it once after a restart. Not synced to iCloud, the Apple Watch, or any other device.So the iPhone app can read your limits without asking you to sign in every time.
The Mac, in the app’s settingsThe permission to open the folder you chose (a macOS security-scoped bookmark). It points to the folder. It does not contain the management key.So the Mac app can read VibeProxy without asking every time.
Your device’s system logShort technical messages, such as “Refresh failed”, written by Apple’s logging.Troubleshooting. These stay on the device and Headspare does not send them anywhere.
Sentry, EU region (Frankfurt, Germany)Crash and performance reports, as listed in the crash reports section. Sentry deletes crash and performance reports within 90 days.To find and fix crashes and slow screens.
Brevo (Sendinblue SAS, France)The waitlist: your email address, the platforms you tick, your consent, the form language, and the signup, confirmation email and confirmation times. Brevo's servers also see your IP address when the form is sent. Kept until I have sent the release email for every platform you ticked, or 24 months. If you unsubscribe, only the address is kept, marked as unsubscribed, so you are never emailed again. Brevo deletes email delivery logs within two months, including those of signups never confirmed.To hold the list, confirm your address and send the release emails.
My email inbox (Gmail), reached through Cloudflare Email RoutingMessages you send to support@headspare.app or mike@headspare.app, and my replies.To answer support and privacy requests and to read feedback.
A relay on Cloudflare, one channel per pairing, not deployed yetWhen it is deployed: sealed readings, settings, history and unlock state. Also the phone’s name, its role, and a SHA-256 hash of its device token. Not the key, and not sign-in tokens.So Android can show what the Mac saved, once the relay is deployed, and a paired iPhone can publish its own sealed readings. The key stays on your devices.

Headspare does not store VibeProxy’s management key or any VibeProxy token. It reads the key from your folder at each refresh and keeps it only in memory while the request runs. The only tokens it stores are those of accounts you sign in to directly, in the keychain, as above.

Hidden account names

Headspare shows “Claude 1”, “Claude 2” instead of emails until you turn names on. Hide Account Names is on by default, and the setting syncs between your devices through iCloud.

This hides names on screen, in widgets and on the Watch. It does not remove them from storage. The iCloud snapshot and the on-device copies still hold the real email or label so that you can switch names on at any time. They sit in your own iCloud and on your own devices, as described below.

Who can access it

Crash and performance reports (Sentry)

I do not sell or share your data. The apps contain no advertising or tracking code. They include one third-party library, Sentry, which sends the crash and performance reports described below. Their privacy manifests declare crash data, performance data, other diagnostic data and product interaction, none linked to you and none used for tracking.

If you choose to share app analytics with developers in your device’s Apple settings, Apple may give me anonymous crash and usage statistics. I do not control or receive anything beyond what Apple provides.

The apps also keep crash and hang reports on the device. Watch crash records go to your paired iPhone. Those copies stay on your devices unless you share them yourself. Separately, the apps send the reports below to Sentry.

Support and feedback email

This applies if you write to support@headspare.app or mike@headspare.app, including with Send Feedback in the apps. Cloudflare Email Routing forwards both addresses to my Gmail inbox.

Waitlist (website)

This applies only if you join the waitlist on headspare.app. The apps never send anything to the waitlist. Mac, iPhone and Android are not available to download yet.

The form on this website sends your details straight to Brevo. They do not pass through a Headspare server, and Cloudflare no longer stores the list. The Worker that runs this website no longer receives the form.

To leave the list, use the unsubscribe link in any release email. To change the platforms you chose, to leave before any release email, or to have your address deleted, email support@headspare.app.

Retention and deletion

Headspare keeps your snapshot until the next refresh replaces it, and keeps usage history until you delete it. History is not trimmed by age, so it grows by one sample per limit every 30 minutes while the Mac app runs. Each day takes roughly 20 KB.

Headspare has no in-app delete button. To remove everything, do these steps in this order. The order matters, because a running Mac or iPhone app writes to iCloud again within 30 minutes.

  1. Remove direct accounts on the device you signed in on. On the Mac or the iPhone, open Settings, Accounts, and choose Remove for each account. This deletes its tokens from that device’s keychain. The Apple Watch holds none. Deleting the app does not remove keychain items.
  2. Quit Headspare on your Mac (Quit, at the bottom of the panel), and close it on the iPhone if it is installed.
  3. Delete the iCloud data. On iPhone: Settings, your name, iCloud, Manage Account Storage, Headspare, Delete Data. On Mac: System Settings, your name, iCloud, Manage, Headspare, Delete Data. Deleting it removes the snapshot and history records for all your devices.
  4. Delete the Mac files. Move the Headspare app to the Trash. Then delete the folders ~/Library/Containers/com.mikezamayias.headspare and ~/Library/Group Containers/DW97QZ7F3B.com.mikezamayias.headspare. Moving the app to the Trash does not remove them.
  5. Delete the iPhone and Watch apps. Deleting the app removes its on-device cache, widgets and complications.

To end Headspare’s access on the provider’s side as well, sign out of its sessions or revoke its access in your provider account settings, where the provider offers it.

The data in a backup of your device or iCloud is held by Apple under your Apple Account and is removed as those backups expire.

The iPhone and Android apps have a Send Feedback item. On iPhone it is in the app icon menu and in Settings. On Android it is in the app icon menu and in the menu that holds Accounts. If you send feedback, you send it yourself from your own mail app to support@headspare.app. It includes the app details listed on the feedback screen when that switch is on.

Your rights

Apart from the waitlist, the support email and the crash reports, I do not receive your sign-ins or your iCloud data. The relay is not deployed. When it is, I would hold the sealed bytes and the phone’s name, and I would not be able to read the sealed bytes. For the waitlist or the support email, write to support@headspare.app and I will give you a copy or delete it. I cannot look up crash reports, as the crash reports section explains. You control the iCloud data and the on-device tokens with the steps above.

If you are in the European Union or the United Kingdom, you have the rights set out in data protection law, including access, correction, erasure, restriction, portability and objection. Where I rely on your consent (the waitlist), you can withdraw it at any time. Where I rely on legitimate interest (crash reports, support email), you can object. Write to me at the email below and I will answer within one month. You can also complain to your national data protection authority. My supervisory authority is the Hellenic Data Protection Authority (HDPA), www.dpa.gr, Kifisias 1-3, 115 23 Athens.

Children

Headspare is a tool for people who pay for AI subscriptions and is not aimed at children. It has no accounts, no chat, no user content and no web browsing. I do not knowingly receive any data from children. The apps do not send me sign-in tokens. A paired phone will be able to send sealed readings to the relay once it is deployed, and I will not be able to read them. If a child’s email is on the waitlist, write to me and I will delete it.

Changes

If the apps change what they read or where they store it, or if this website changes what the waitlist stores or where, I will update this page and its effective date before that change. I will describe material changes in the release notes of that version and on this website.

Contact

Mike Zamayias

Email: support@headspare.app

No phone number and no street address are published on this site.