Privacy
What leaves your machine, and what never does
Perch is a menu bar app that watches coding agents already running on your Mac. It reads local files and has no backend of its own, so most of this policy is a list of things that do not happen.
Last updated 2 August 2026 · Inkryptis Labs
The short version
Perch never collects your code, your prompts, your agent conversations, your file contents or your command output. There is no telemetry, no analytics and no crash reporting in the Mac app — not because they are switched off, but because Perch has no server of its own to send them to.
Data leaves your Mac in exactly four situations, listed below. Three of them go to companies you already have an account with. The fourth goes to a device you own.
The Mac app
1. Usage bars
The quota bars are fetched directly from each agent vendor — Anthropic, OpenAI, Cursor and Devin — using the login that agent has already stored on your Mac. Perch reads those credentials and never refreshes, rewrites or transmits them anywhere else. A vendor is only contacted while you have a live session with it, so an agent you don’t use is never called at all. OpenCode is different again: Perch makes no network request for it and reads no browser cookies, deriving its estimates entirely from the local database.
2. Your paired iPhone or Apple Watch
Nothing here happens until you pair a device. Once you do, your Mac sends the fleet snapshot straight to it over TLS on your local network, or over your own Tailscale network — no relay and no third party in between.
That connection carries session state, not your conversation. It includes the project name and working directory, the session title, the current activity line, the task checklist, git branch, state, model, token counts, cost, and the terminal identifiers the jump-to-session feature needs. No prompt, assistant message, file content, diff or command output crosses it.
3. Push alerts
If you turn on background alerts, they travel through our push relay to Apple’s Push Notification service. The relay is a thin forwarder. What it carries is bounded and specific:
- A finishedalert carries the agent’s closing summary.
- A needs youalert carries the thing you are being asked — the agent’s question, or the command awaiting your approval.
- The Live Activity carries project names, session states and counts.
- Rate-limit and usage-low alerts carry fixed text and the project name.
Project names ride along on all of them. Beyond those short fields, no prompts, transcripts, file contents or command output are sent. The relay identifies you only by a hash of your license key — it stores no name, no email and no account. Turning off “Send alerts to iPhone” stops all of it; unpaired, none of it happens at all.
4. Licensing and updates
A licensed copy revalidates with Polar, our payments provider, on each launch — sending your license key and activation id. Activating a key additionally sends your Mac’s hostname, as the label you see in your seat list, and a stable device id. Unlicensed, none of this runs. Perch also checks a public update feed for new versions, which is an ordinary HTTPS request for a file.
The iPhone and Apple Watch apps
Perch Companion has no account and no sign-in. It receives the fleet snapshot described above from your own Mac, over your own network. It registers a push token with Apple and passes it to your Mac, which gives it to the relay so alerts can reach you.
The apps store what they receive on your device so the fleet is visible when you open them. Deleting the app removes it. Unpairing from the Mac tells the relay to forget your push token.
This website
perch.run records aggregate page views and a small number of interaction events — such as which button led to the checkout — using Vercel Analytics. It sets no cookies for this and does not build a profile of you across other sites. Checkout itself is handled entirely by Polar; we never see or store your card details.
What we never collect
- Your source code, in any form.
- Your prompts, or the agent’s replies to them.
- File contents, diffs, or the output of commands you run.
- Your agent vendor credentials — those are read locally and never transmitted.
- Any advertising identifier, and we sell nothing to anyone.
Retention
Alert contents pass through the relay transiently on their way to Apple and are not retained afterwards. The relay keeps your push token and the hash of your license identity for as long as the device stays paired, evicting tokens Apple reports as dead. Polar retains your purchase record under its own policy, as your seller of record.
Children
Perch is a developer tool and is not directed at children. We do not knowingly collect personal information from anyone under 13.
Your choices
Most of what this page describes is optional and switchable inside the app: don’t pair a phone and nothing reaches one; turn off alerts and the relay is never contacted; the usage bars honour an opt-out. For anything held on our side — which is a push token and a license hash — write to us and we will remove it.
Changes
When what Perch sends changes, this page changes with it, and a change of substance is called out in the release notes rather than arriving quietly. The date at the top of this page is the last substantive edit.
Contact
Perch is made by Inkryptis Labs. Email us at support@inkryptislabs.com, or see the support page for the fastest route to a fix. Security issues have their own private channel — please report them privately rather than in a public issue.