Privacy

What stays on your devices, what doesn't.

Last updated 10 August 2026. Plain English, no fine print, no clever exceptions.

The short version

Perch reads your App Store Connect data and shows it to you. On Mac and iPhone your credentials live in that device's Keychain, and your sales, reviews and app status are cached on the device. Use Perch on more than one device and they sync through your own private iCloud, never a Perch server. We never see your data.

What Perch sees

When you set up Perch, you paste an App Store Connect API key (Key ID, Issuer ID, Vendor Number and the .p8 private key file). Perch uses these credentials to make signed requests directly to Apple's App Store Connect API.

Perch fetches sales reports, app metadata, app store states and reviews. That data is stored locally in a SwiftData database on your Mac. Nothing about it is ever sent to PaperCloud Studios, the developer or any third party.

Where your credentials live

Your API credentials are stored in the device's Keychain, macOS or iOS, encrypted at rest by the system. Perch reads them only when it needs to make an API call. They never appear in logs or in app preferences, and the key itself never syncs between devices.

Across your devices

On iPhone, Perch works one of two ways. Set it up on the phone directly and your API key lives in the iPhone's Keychain, making the same signed requests to Apple that the Mac app does. Or, if you already run Perch on a Mac, the phone simply reads the numbers your Mac has already fetched.

When you use Perch on more than one device, that data travels between them through your own private iCloud database (CloudKit), encrypted by Apple and tied to your Apple ID. It is not sent to PaperCloud Studios and there is no Perch server in the middle. Your App Store Connect key stays in the Keychain of the device you entered it on and never rides along.

Third parties Perch talks to

  • Apple's App Store Connect API (api.appstoreconnect.apple.com). The source of your sales, reviews and status data. Signed requests go directly from your Mac to Apple.
  • Apple's iTunes Lookup (itunes.apple.com). Used to fetch each tracked app's icon and a baseline rating count. The request includes the public App Store ID only.
  • Apple's storefront pages (apps.apple.com). Fetched per-storefront to read the exact rating count Apple shows on each country's product page, which the developer API doesn't expose. Public-page requests, same data anyone could fetch in a browser.
  • open.er-api.com and frankfurter.app. Used once a day to fetch exchange rates so revenue can be displayed in your home currency. open.er-api.com is the primary; frankfurter.app is a fallback if it's unreachable. Neither request includes identifying information.

That's the entire list. Perch does not call any analytics service, ad network, crash reporter, or A/B testing platform.

What we don't collect

  • No usage analytics. We don't track which buttons you tap or how long you spend in the app.
  • No telemetry. We don't ping a server when you open or close Perch.
  • No diagnostic logs sent anywhere. Crash logs stay in your local macOS log store unless you choose to share them with us.
  • No account. There's no Perch login because there's no Perch server to log into.

Your control

From Settings, you can clear your credentials and cached reports at any time. The Reset button in the Data section deletes everything Perch has stored on that device.

Children

Perch is built for App Store developers. It is not directed at anyone under 13 and we do not knowingly collect any data from children.

Contact

Questions, concerns or curiosities about privacy? Send us a note. We read every message.

Changes

If we update how Perch handles data, we'll update this page and date the change at the top. Material changes will be flagged inside the app on next launch.