Android Data Safety Checker
Scans your AndroidManifest.xml permissions and Gradle dependencies
for known analytics/ads/crash SDKs, maps each one to a
Google Play Data safety category, and checks it against a plain
list of the categories you've already declared in Play Console's
App content > Data safety form -- so a missing declaration
doesn't cost you a policy warning or a listing taken down for an inaccurate
disclosure. Everything runs in this tab; nothing is uploaded. A command-line
version for CI is in the same
repository
(node check.mjs . --declared declared.txt).
More: why does Play flag my Data safety form, and how do I fix it?
Checking a release deadline instead? Play Store Target API Level Checker checks your
targetSdkVersion against Google Play's target API level enforcement requirement -- a different Play Console gate than this page.
Open your project folder, select every
AndroidManifest.xml and
build.gradle/build.gradle.kts (select-all works), then choose them here.
Not at your project right now? instead.No files selected yet.
Common questions
Why does Google Play flag my app's Data safety declaration?
Most often because a permission your app requests, or an SDK it embeds (analytics, ads, crash reporting), collects a category of data your Play Console Data safety form doesn't declare. This tool scans your AndroidManifest.xml and Gradle files for the permissions and known SDKs that imply a category, and tells you which one is missing.
Does this tool read or fill in the Play Console form for me?
No. Play Console has no public file format this tool reads from or writes to. You tell it what you've already declared (a plain list of categories, or ticking the checkboxes in the browser tool), and it compares that against what your manifest and Gradle files suggest you collect. You still make every declaration decision in Play Console yourself.
Is my project uploaded anywhere?
No. The browser tool reads the files you select using the File API and never sends them anywhere -- everything happens in memory in your tab. The CLI never makes a network call either.
Does a clean report mean Google Play will accept my declaration?
No. This is pattern-matching against known permission names and SDK dependency coordinates -- it cannot see what a permission is actually used for, dynamically loaded code, or a compiled third-party library's real behaviour, and Google can change its Data safety categories or a given SDK's practices at any time. Always confirm against Play Console's current Data safety form and each SDK's own privacy documentation before you submit.