Every ad SDK borrows your users' privacy. This one asks for one permission.

Appaloo reads no advertising ID, no device identifier and nothing about the device it is running on. Your app never shows a tracking prompt on its account, and your Data Safety form grows by exactly one row.

What the SDK asks your app for.

A mainstream ad SDK arrives with an advertising ID, a device fingerprint and a consent flow you now own. Here is the same block of your manifest, both ways.

A mainstream ad SDK
  • Reads the advertising ID on both stores
  • Ships a device and environment fingerprint
  • Personalised ads, so an ATT prompt to show
  • A consent platform to wire up for the EU
  • A Data Safety form with identifiers on it
Appaloo one line
  • No IDFA, no AAID, no vendor identifier
  • No model, OS, locale, screen or custom user agent
  • Non-personalised ads, so no ATT prompt
  • No consent SDK to integrate on our behalf
  • One row on the Data Safety form
Start for free
{# The objection this whole page has to answer: if you collect nothing, do the ads land anywhere? Every signal below is real (see apps/ads/serving.py). #}

It matches the app, not the person.

The fair worry about an ad network that collects nothing is that its ads land nowhere. Appaloo matches on what an app is rather than on who happens to be holding it, so a puzzle game is offered to people already playing puzzle games, in their store and in their language.

Nothing has to follow anyone between apps for that to work. The relevance comes from the app the ad appears in, which Appaloo already knows because a developer typed it in.

The forms, already filled in.

Both stores make you declare what every SDK in your binary collects. This is what Appaloo adds to each, in full.

Four things you now do not have to build.

A tracking prompt

No ATT dialog to design, localise, time correctly or watch people decline. There is nothing to ask permission for.

A second consent flow

No consent SDK to embed for personalised ads, and no per-vendor list to keep current. Appaloo goes in the consent manager you already run.

A disclosure argument

One row on Play, one line on Apple, both defensible because they are the truth. No guessing what a mediation stack collects downstream.

A deletion pathway

There is no per-user record to delete. The SDK stores no identifier the origin could key a user against in the first place.

The questions people ask next.

Does the SDK use the IDFA or the Google Advertising ID?

Neither. The Android SDK does not depend on play-services-ads-identifier and does not declare the AD_ID permission. The iOS SDK never reads the advertising identifier or identifierForVendor, and generates no persistent device id of its own.

Will my app have to show an App Tracking Transparency prompt?

Not on Appaloo's account. The SDK carries no cross-app identifier and the ads are non-personalised, so it does not meet Apple's definition of tracking. Its bundled privacy manifest declares NSPrivacyTracking as false, and Xcode folds that into your app's privacy report at build time without you adding anything.

What do I put on the Google Play Data Safety form?

One row. App activity, then App interactions, marked collected and encrypted in transit. Do not declare an advertising ID and do not add the AD_ID permission on the SDK's behalf, because it asks for INTERNET and nothing else.

The full disclosure reference, including the exact Data Safety selections, lives in the SDK docs.

Advertise your app without collecting anyone.

One permission, one disclosure row, no prompt. Add your app and serve your first ad today.

Free forever plan. No credit card required.