Guide

Privacy-first iOS analytics

"Privacy-first" is a claim anyone can print on a landing page. This is the checkable version: what Apple actually enforces, what GDPR actually requires, and the questions that separate an analytics SDK that respects your users from one that just says so.

We make one of these tools, so we have a horse in this race. Everything below about Apple's and the GDPR's rules is checkable independently, and you should check it — this is a developer's summary, not legal advice. Written August 2026.

What Apple means by "tracking" (it's narrower than you think)

Most of the confusion in this area comes from one word. In Apple's vocabulary, tracking is not "collecting data about users". It is specifically:

Counting how many people opened your own app, keeping it to yourself, and never joining it to anyone else's data is not tracking. This is why a well-built analytics SDK needs no App Tracking Transparency prompt, and why the "Data Used to Track You" section of its privacy label reads None.

✓ The rule of thumb.

If the data never leaves your control and is never joined to another company's data for advertising, you are not tracking — no ATT prompt. The moment an ad SDK, an attribution network, or an audience-sharing integration enters the app, that answer flips for the whole app, not just that SDK.

The ATT prompt: when you genuinely need it

You need to call ATTrackingManager.requestTrackingAuthorization before accessing the IDFA or otherwise tracking, which in practice means: you run ads with attribution, you use an ad network's SDK, you share data for audience building, or you fingerprint devices. Note that Apple treats fingerprinting — deriving a stable identity from device signals, however cleverly — as tracking too, and it is not cured by asking permission; it's simply not allowed as a substitute for the IDFA.

The prompt is also expensive. Opt-in rates are low, and the prompt itself costs you trust and screen space. Not needing it is a feature.

App Privacy labels: three buckets, one honest answer

Every app answers the App Privacy questionnaire in App Store Connect, and the result appears on your store page in three buckets: Data Used to Track You, Data Linked to You, and Data Not Linked to You. Privacy-first analytics should put you entirely in the third one:

Purpose: Analytics. Linked to identity: No. Used for tracking: No. That's a two-line label, and it stays two lines unless you deliberately attach an identity. Generate yours with the free tool →

Consent banners: what GDPR actually asks

The cookie banners you see on the web come from the ePrivacy Directive's rule about storing or accessing information on a user's device, plus the GDPR's requirement of a lawful basis for processing personal data. Two things follow for an app:

⚠️ Careful with certainty here.

Regulators differ, an identifier stored on the device can itself be in scope, and your obligations depend on what your whole app does — not just its analytics. Anyone who tells you "definitely no banner ever" is selling something. What a privacy-first tool can honestly promise is that it gives you the shortest possible thing to disclose.

Identifiers: the part that actually matters

Analytics has to tell one returning user from a new one, and how it does that is the whole privacy story:

ApproachWhat it meansVerdict
IDFAApple's advertising identifier, shared across apps by design. Tracking. ATT prompt required.
FingerprintingDeriving a stable id from device signals — model, locale, screen, fonts. Tracking, and against the rules even with a prompt.
Random install idA UUID minted on first run, meaningless outside your app. Fine. Not linked, no prompt.
Hashed user idYour account id, hashed on device before sending. Fine, and stronger — but you can't reverse it either.
Email / account idSent as-is and stored against the install. Legitimate, but it is personal data: linked label, disclosure, deletion.

A detail worth asking about: where the random id is stored. In the iOS Keychain it survives a delete-and-reinstall, so one person counts once; in plain storage, every reinstall looks like a new user and your numbers quietly inflate.

"Where are my users?" without location data

A country map is one of the most useful things analytics shows and one of the easiest to get wrong. There are two ways to draw it: from the device's region setting — a locale the user chose, which is not Location data — or from a geo-IP lookup, which means processing an IP address, and an IP address is personal data in the EU. Same map, different privacy label. Ask which one your tool does.

Ten questions to ask any analytics SDK

  1. Do you touch the IDFA or the AdSupport framework at all? (Should be: no.)
  2. What identifier represents a user, and where is it stored?
  3. Do you do anything that could be called fingerprinting?
  4. Is country derived from the locale or from the IP address?
  5. Are IP addresses written to the analytics database, ever?
  6. Which country is the data stored in, and under whose jurisdiction?
  7. Can I delete one user's data — and all of it — on demand, immediately?
  8. Is the SDK source readable, and does it ship a privacy manifest and a signature?
  9. Is my data ever used for anything other than showing it back to me? (Model training, benchmarks, ads.)
  10. What exactly do I tick on the App Store questionnaire, in your default configuration?

A tool that answers all ten quickly and in writing is a privacy-first tool. One that answers with a marketing page is not.

Privacy manifests and required-reason APIs

Since 2024 Apple requires a privacy manifest (PrivacyInfo.xcprivacy) declaring collected data types and your reasons for calling certain APIs — UserDefaults and file timestamps among them — and SDKs on Apple's commonly-used list must ship both a manifest and a code signature. If your analytics SDK doesn't include one, you inherit the paperwork; if it does, you only declare your own app's use.

How AppGlance answers all of this

The full detail is in the privacy policy and the SDK documentation. Comparisons with the two tools people usually weigh this against: Firebase and TelemetryDeck.

Two lines of Swift, and a label that stays short

Free up to 100,000 events a month. No credit card, no consent banner, no ATT prompt.