Crew Tower
Install Features Works with
Get for Mac

Privacy

Version 1.0. Last updated 28 July 2026.

Your code, your prompts and your agent transcripts never leave your Mac. Crew Tower reads a great deal locally and sends almost none of it anywhere.

Three features make network requests, and this page lists all three: the optional usage meter, which talks to Anthropic using your own Claude Code login; license activation, which talks to us and to our payment provider; and update checks.

There is no analytics, no crash reporting, no account, no advertising and no tracking of any kind, in the app or on this website.

Who this is

Crew Tower is made and sold by Said Altan, an individual based in Ontario, Canada. For anything on this page, including a request to see or delete your data, write to support@crewtower.app.

Payment is not handled by us. Polar is the merchant of record for every purchase; see Buying the app below.

What the app reads on your Mac

Crew Tower's job is to watch coding agents, so it reads a lot of what those agents do. All of it stays on the machine. None of it is transmitted anywhere by us, and none of it is written anywhere except inside your own home folder.

What Where it comes from
Hook events: session ids, the working directory, your prompts, tool names and the full tool input, such as the command a shell tool wants to run The agent sends these to a Unix socket in ~/Library/Application Support/CrewTower, readable only by your user account
Agent transcripts: assistant replies, tool activity, context usage, session titles Read-only tailing of the JSONL files your agent already writes on disk
Your agents' hook configuration, plus a backup of each file before it is changed ~/.claude/settings.json, ~/.codex/hooks.json, ~/.cursor/hooks.json, ~/.gemini/settings.json, ~/.qwen/settings.json
Session state so the panel survives a restart, including working directories and the last line of activity Written to sessions.json in the same support folder
A list of running processes: process ids, terminal device, and parts of the command line /bin/ps, matched locally against a fixed list of agent names, so an agent with no hooks still shows up
Your Claude plan name, shown in the usage strip ~/.claude.json
Your license key and license token Two plain files in the support folder

Crew Tower does not read your source files. It sees a file's contents only in the narrow case where an agent is asking you to approve writing them, because that is the text you are being asked to approve.

What leaves your Mac

1. The usage meter, to Anthropic. Optional.

If the usage strip is on, which it is by default, Crew Tower shows how much of your Claude subscription window you have left. To do that it reads Claude Code's own login token from ~/.claude/.credentials.json, or from your login keychain by running /usr/bin/security find-generic-password -s "Claude Code-credentials", and calls api.anthropic.com/api/oauth/usage with it about every five minutes. If that token has expired it is refreshed once against console.anthropic.com/v1/oauth/token.

Said plainly: the app uses your existing Claude Code credentials, on your behalf, against the same Anthropic servers the Claude Code CLI already talks to. Those credentials never reach us and are never written anywhere new. What Anthropic does with the request is covered by Anthropic's privacy policy.

You can switch the usage strip off in Settings, and then none of this happens. If you pick Codex as your usage source instead, Crew Tower asks a codex app-server process on your own machine over local JSON-RPC and makes no request of its own.

2. License activation and renewal, to us.

When you activate, and at most once a day afterwards, the app sends three things to license.crewtower.app:

  • Your license key.
  • A device hash. This is your Mac's hardware identifier (IOPlatformUUID) combined with a fixed secret and put through SHA-256. The identifier itself never leaves your Mac and the hash cannot be turned back into it.
  • A label for the activation, which is your Mac's name as it appears in Sharing settings. This is often a person's name, for example "Said's MacBook Pro". It exists so that a support email about a lost machine can be matched to the right activation.

That request is handled by a small Cloudflare Worker of ours, which stores nothing at all: it forwards the activation to Polar, signs a short-lived token and returns it. The token is signed proof that this license belongs to this Mac, it contains the device hash, it lives on your Mac, and it lets the app confirm your license offline for up to three weeks if we are unreachable.

Our Worker does not log request bodies. Cloudflare necessarily processes the request itself, including your IP address, as our hosting provider.

This one is not optional. It is what a paid license is.

3. Update checks, to our download host.

Crew Tower checks about once a day whether a newer version exists, using Sparkle, the standard update framework for Mac apps. It fetches dl.crewtower.app/appcast.xml, which is a static file on Cloudflare R2.

Sparkle's optional "anonymous system profiling" is switched off, so no report about your machine is sent. What the request unavoidably reveals is what any web request reveals: your IP address, and a user agent string naming the app version and your system's Darwin version.

Buying the app

Purchases go through Polar, which acts as merchant of record. In their own words, you buy the product from Polar, not from us. They collect your email address, billing address, tax details and payment card information at checkout, and they handle sales tax and VAT. See Polar's privacy policy and their buyer terms. Polar uses Stripe to process cards.

We never see your card details. As the seller behind Polar we can see the order record in their dashboard, which includes your email address, your country and the license key issued to you, and after activation the device hash and Mac label described above.

Who else is involved

  • Cloudflare hosts this website, the license Worker and the update files.
  • Polar, and Stripe behind it, handle payment and issue license keys.
  • Anthropic, only if the usage strip is on, and only with credentials you already gave to Claude Code.

That is the entire list. Nobody is sent your data for advertising, analytics or profiling, because nobody is sent your data at all beyond what is above.

How long anything is kept

Our license Worker keeps nothing; it holds a request only for as long as it takes to answer it. Your activation record, which is the key, the device hash and the Mac label, lives with Polar for as long as the license does. Delete your license files or delete the app and the copies on your Mac are gone.

If you want the activation record removed, write to us and we will remove it. Removing it means the license stops working, so we will normally suggest doing it as part of a refund.

Your rights

Under Canada's Personal Information Protection and Electronic Documents Act you can ask what personal information we hold about you, ask for it to be corrected, and challenge how we handle it. If you are in the European Union or the United Kingdom you additionally have the rights the GDPR gives you, including access, correction, deletion, restriction, portability and objection.

Either way the address is the same: support@crewtower.app. There is one person reading it, so please say what you want in plain words and it will get done.

The legal basis for the license data is that we cannot deliver a paid license without it. The legal basis for the usage meter is your choice to leave it on.

Children

Crew Tower is a developer tool sold to adults. It is not directed at children and we do not knowingly collect anything from them.

This website

The site sets no cookies, runs no analytics and has no tracking scripts, and it makes no requests to any third party at all. Everything it loads, including the typeface, is served from this domain. Cloudflare, as the host, processes requests to the site.

Changes

This page is dated and versioned. When it changes, the date at the top changes with it, and the previous wording stays in the site's public git history. If a change materially widens what we collect, we will say so in the app's release notes rather than quietly editing this page.

Crew Tower Changelog Privacy Terms Refunds crewtower.app · © 2026