Privacy Policy
- The app has no account, no analytics, no advertising and no crash-reporting SDK.
- Your reports, keys and settings stay on your devices and in your own iCloud, which we can't read, unless you connect an agent on your Mac.
- The app connects only to Apple and the download links Apple signs, two exchange-rate services that get no information about you, and our purchase server to restore a purchase.
- This website sets no cookies, runs no analytics and loads nothing from other companies.
- Purchases are handled by Apple; we keep a record of your SwiftSales purchase to restore it and to answer Apple's refund questions.
Contents
Who we are
SwiftSales is made by GitSwift LLC, 30 North Gould Street, Suite R, Sheridan, WY 82801, United States. For anything in this policy, write to swiftsales@gitswift.com.
No server of ours sees your App Store Connect data. Our purchase server keeps only the records of SwiftSales purchases described under Purchase records; beyond that, we generally don’t process personal data about you. Where a law still gives you rights over personal data, contact us and we will honor them.
Data we do not collect
To be explicit, SwiftSales has:
- No account or profile. The only things you add are Team Keys from App Store Connect.
- No collection of your sales, subscription, finance or review data, your app names, your Team Key or anything else the app shows.
- No analytics, advertising, fingerprinting or tracking SDKs, and no third-party Swift packages.
- No crash-reporting service. If the app misbehaves, we only know when you tell us.
Apart from the purchase records below, SwiftSales doesn’t collect data about you, and we can’t read what it keeps on your devices or in your iCloud. When you email us, we receive what you choose to write and your email address, and we use them only to help you.
What stays on your device
Everything SwiftSales needs lives locally:
- Your Team Key. The private key file (.p8) is stored in the device Keychain, protected by the system.
- Your reports and settings. Downloaded reports, the figures calculated from them and your settings are stored on the device, including for the widgets and the Mac menu bar item.
- Notifications. The daily notification is created on your device after a new report day arrives. Nothing is sent through a notification server of ours.
- Agent activity log. If you use Agent Access, the log of calls stays on your Mac. It records which agent did what and when, and never what an agent wrote or your keys.
Connections to Apple
SwiftSales connects only to Apple and the download links Apple signs, plus the exchange-rate services and our purchase server below. It talks directly to the App Store Connect API, using the Team Key you add, to download your sales, subscription, finance and review data and, if you connect an agent, to do the App Store Connect work you allow it, such as uploading a build, changing your App Store page or submitting a version you approve. Files your agent uploads go to the upload addresses Apple gives for them, and some reports and packages download from links Apple signs, which can point to Apple’s cloud storage. These requests go from your device to Apple. We are not in the path; there is no relay, proxy or cloud service of ours in between. Apple’s handling of them is governed by Apple’s Privacy Policy.
Transactions
If you add an In-App Purchase key for a team, the Transactions page shows your apps’ purchases, renewals and refunds as they happen:
- The In-App Purchase key is stored in the device Keychain, like your Team Key, and with iCloud sync on it also syncs through iCloud Keychain.
- The app asks Apple’s App Store Server API for your apps’ purchase events directly from your device, using that key. No server of ours is in between.
- The events (product, price, currency, App Store country, dates and Apple’s transaction IDs) are stored on your devices and, with iCloud sync on, in the private CloudKit database of your own iCloud account. Customer identifiers that your apps attach to purchases are not stored.
- Notifications about them are created on your device. Nothing about your transactions reaches us.
Exchange-rate services
To show your figures in your display currency, SwiftSales asks two exchange-rate services, Frankfurter and open.er-api, for daily rates. These requests contain only currency codes and dates, and no information about you, your apps or your sales. As with any web request, those services can see your device’s IP address; their handling of it is governed by their own policies.
Optional iCloud sync
Lifetime Premium and the 7-day trial include iCloud sync. It is on by default, and you can turn it off in Settings. When it is on:
- Your data (teams, settings, sales data, transactions and reviews) syncs through the private CloudKit database of your own iCloud account.
- Your Team Keys sync exclusively through iCloud Keychain, which Apple end-to-end encrypts. They are never stored in CloudKit records.
- Apple transmits and stores this data on your behalf under the iCloud Terms and the Apple Privacy Policy. We cannot access, read or receive any of it; it belongs to your Apple account, not to us.
- Turn sync off to stop syncing. You can manage or remove iCloud data for SwiftSales in your device’s iCloud settings.
Agent Access on Mac
If you connect an AI agent on your Mac, the agent can read your sales figures, transactions (with transaction IDs shortened to their last four digits), reviews (their text, ratings and country), app information and analytics and, where you use them, the names and contact details of your testers (TestFlight and sandbox), team members and App Review contacts, the feedback testers send, the names and UDIDs of your registered devices, and Game Center player IDs, as far as its access level and the apps you chose allow, and send them to the AI service it uses. That service handles the data under its own terms and privacy policy. SwiftSales doesn’t take part in that transfer and doesn’t know where the data goes, and we can’t access it. Agent Access is off until you turn it on and agree, is part of Lifetime Premium (including the trial), and you can turn it off at any time.
Purchase records
The free trial and Lifetime Premium are bought through Apple’s App Store. Apple processes the payment; we never see your name, address or payment details. The app checks your purchase on your device with StoreKit.
To restore Lifetime Premium after you change the Apple Account you buy with, and to answer Apple’s questions when you ask for a refund (see section 6 of the Terms of Use), we keep a record of your SwiftSales purchase:
- What our server receives. When you start the free trial or buy Lifetime Premium, and when Apple refunds, revokes or asks us about that purchase, Apple sends our purchase server a signed notice with its record of the purchase: the transaction and original transaction IDs, the product, the purchase date and, where there is one, the refund date and the reason Apple gives, the price, currency and App Store country, whether it was a test purchase, and a random identifier (a UUID) that the app creates for your purchases.
- What it never has. Your name, email address, Apple Account, payment details or anything from App Store Connect. The random identifier is not linked to you.
- Where and for how long. Our purchase server runs in Sydney, Australia, and requests reach it through Cloudflare’s network. It keeps these records for at most 24 months and then deletes them. If you withdraw your consent to refund answers, we keep your purchase’s transaction ID so that we never answer for it. The server keeps no access logs and stores no IP address.
- Restoring a purchase. When the record in your iCloud Keychain (below) shows Lifetime Premium but the App Store doesn’t show it for the Apple Account on this device, for example after you change the Apple Account you buy with, the app asks our server for your purchase, and checks again about once a week while that lasts. It sends the original transaction ID and the random identifier; our server asks Apple for that transaction and returns Apple’s signed record unchanged, and your device checks Apple’s signature itself and keeps that record in its own Keychain. We keep nothing from these requests. Your IP address is used only in memory, to limit how often requests can be made, and is never stored.
- The record in your iCloud Keychain. The app keeps a small purchase record in your iCloud Keychain: the random identifier, when your free trial started and, once you buy, the original transaction ID of Lifetime Premium. It lets the app restore your purchase and count your free trial from when it first started, even after you change the Apple Account you buy with. It is always kept, whether or not iCloud sync is on, and it follows your iCloud account: your devices signed in to the same iCloud account share it, and if iCloud Keychain is off it stays on that device. Apple end-to-end encrypts iCloud Keychain, so we can’t read it. The record stays there as long as your iCloud Keychain does.
Our website
swiftsales.gitswift.com runs on our own server, which keeps no access logs, so we write down no visitor IP address. As with most websites, requests pass through Cloudflare’s network (CDN and security) on the way, and Cloudflare processes them under its privacy policy. The website sets no cookies, uses no analytics, loads no fonts, scripts or media from other companies and makes no requests to them.
Children
SwiftSales is a professional tool for people who publish apps and is not directed at children. We do not knowingly collect personal information from anyone, including children.
Your rights
Privacy laws such as the GDPR and the CCPA give you rights over personal data that companies hold about you. Our answer is simple: apart from emails you send us, we do not hold personal data about you, so there is usually nothing for us to access, export, correct or delete. The only other thing we keep is the purchase records described above, which contain no name or contact details. We do not sell or share personal information. If you believe we do hold something about you, or you want to exercise a right under the law that applies to you, email swiftsales@gitswift.com and we will respond.
Changes
If SwiftSales’s data practices ever change, we will update this policy, change the effective date above and describe the change plainly. Meaningful changes will also be called out in the app’s release notes.
Contact
GitSwift LLC · 30 North Gould Street, Suite R, Sheridan, WY 82801, USA
swiftsales@gitswift.com