What Supabase means for your app's privacy disclosures
Supabase is an accounts and backend service. What it involves, whether it needs the tracking prompt, what goes on the App Store labels and the Play Data safety form, and the rejection it is usually behind.
What Supabase actually does
Postgres, authentication, storage and realtime as a hosted backend.
What its job necessarily involves
These follow from what the thing is for, so they are true whichever version you installed:
- Whatever your application stores, since this is your database.
- Authentication records and session state.
- The region the project runs in, which is the transfer question in one line.
What to open and check in Supabase
The settings below decide what the honest answer on the forms is, and they are specific to this SDK rather than to its category:
- The project region, which is your transfer answer in one line.
- What the tables actually hold, since this is your database rather than a vendor's telemetry.
Supabase does not need the tracking prompt
Signing someone in is the service they asked for. So Supabase does not on its own require App Tracking Transparency. That is a statement about this SDK, not about your app: add one ad network or one attribution tool and the prompt applies to everything.
Supabase in Europe: runs on necessity
You cannot deliver the service without it, so Supabase generally rests on the contract with your user rather than on consent. Say plainly in the policy that it is a processor, what it does, and where it runs.
Supabase in California: probably not a sale
Supabase does its job for you rather than for its own commercial purposes, which normally keeps it a service provider rather than a sale. That depends on your contract saying so, and the standard terms usually do.
Supabase on the App Store privacy labels
Apple asks what your app collects, and your app collects whatever its SDKs collect. Supabase is generally declared under App Functionality, alongside whatever the rest of your app does for its own reasons.
Supabase on the Google Play Data safety form
The form asks two things the labels do not: whether data is shared with anyone else, and whether it is encrypted in transit. For this SDK the honest answer is usually collected but not shared, because it processes on your behalf.
Check Supabase's own privacy manifest for Supabase
Since 2024 Apple has required third-party SDKs on its list to ship a signed privacy manifest declaring what they collect and which sensitive APIs they use, and your app's combined manifest is built from them. That file is the authoritative answer for Supabase, it comes from Supabase, and it changes when they ship.
The rejection Supabase is usually behind
The policy names no processor at all, while the entire database sits with one.
What to put in the privacy policy about Supabase
- Supabase named as a processor or a recipient, not hidden behind "our partners".
- What it is for, in a sentence someone would understand without knowing what an SDK is.
- Where it runs, and what makes a transfer outside your region lawful.
- How long the data is kept, which is a question the vendor documents and most policies skip.
- That it processes on your instructions rather than for its own purposes.
Keeping it true after launch
A legal page stops being true the moment the product moves past it, usually by adding a payment provider, an analytics SDK or a sign-in. No store re-checks your pages against your build, so the drift is yours to notice.
- Re-read it whenever you add a dependency that sees user data.
- Re-check what loads on the page after any change: the cookie notice and the policy have to agree.
- Keep the URL stable. Changing where a policy lives breaks every listing that points at it.
Common questions
Do I need a privacy policy just because I use Supabase?
Yes, and you needed one anyway. Both stores ask for the URL before a listing goes live, whatever the app does. The SDK changes what the policy has to say, not whether you need one.
Does Supabase put me over the line into tracking?
Not by itself. The question is always about your app as a whole, so it is the other things you installed that decide the answer.
Does removing the SDK fix a rejection?
Usually yes and it is the fastest route, but only if you also correct the labels and the form. Reviewers compare what you declared against what the binary contains, and a stale declaration fails on its own.
