Example technical diagnosis — written by our team, not a client case.
Google Play: Data safety declaration does not match what the app sends
An Android app with an advertising SDK, a crash reporter and a social login is rejected after an update. The developer filled the Data safety form honestly, describing only the email address collected at sign-up.
The message (sample wording)
Your app has been rejected because the information provided in the Data safety section is incomplete or inaccurate. We found that your app collects and shares data types that are not declared in your Data safety form.
Symptoms
- The declaration was accurate for the code the team wrote, and the team cannot see what is wrong.
- Nothing in the app changed in this release except a version bump and one SDK upgrade.
- Google names no specific data type in the notice.
How we would investigate
- Read the merged manifest from a release build, not the source manifest — SDKs add permissions the project never declares.
- List every dependency with its resolved version, including transitive ones, and identify which of them collect or transmit anything.
- Capture network traffic from a fresh install of the release build, through first launch, sign-up, the ad units and a forced crash.
- Compare what actually leaves the device with each of Google’s data types, purposes and “shared with third parties” answers.
- Read the privacy policy alongside the form: the two must describe the same app.
Possible root causes
- An advertising or analytics SDK collects the advertising ID, approximate location or device identifiers, and shares them — none of which the developer declared because the developer never wrote that code.
- A crash reporter uploads diagnostics containing device and app identifiers, declarable as “Crash logs” and “Diagnostics”, which were left unchecked.
- The social login returns profile fields (name, photo) that the app stores but that the form does not mention.
- Data is declared as “collected” but not as “shared”, although the SDK sends it to a third party by design.
Recommended next steps
- Fix, not appeal: the declaration is genuinely incomplete, and an appeal describing it as complete would be untrue.
- Decide per data type whether to declare it, configure the SDK to stop collecting it, or remove the SDK.
- Update the Data safety form and the privacy policy together, then resubmit.
- Add an SDK-and-declaration check to the release checklist, because the next SDK upgrade can reintroduce exactly this.