Firebase Crashlytics and Google Play Data safety: review crash reports
When your Android app uses Firebase Crashlytics, review Google Play Data safety around the diagnostic information your release build sends: crash logs are a likely starting point, while user IDs, custom keys, and other context depend on your configuration and code.
What Firebase Crashlytics implies for your Google Play answers
Crash reporting and diagnostic stack traces for stability monitoring.
| App Fact | Google Play | Apple App Store | Collection |
|---|---|---|---|
| Crash logs | Crash logsApp info and performance | Crash DataDiagnostics | Likely |
- Crash logs
Crashlytics collects crash logs and related diagnostic data when enabled
Crash logs for diagnostics.
What this profile does not cover
- Optional user identifiers and custom keys are developer-controlled and may change disclosure.
Start with the payload your app actually sends
Firebase Crashlytics is a crash-reporting service, but an SDK selection does not describe every field in an event. A basic integration can send a crash log and diagnostic context. Your app can also add a user identifier, custom keys, logs, breadcrumbs, or values from an exception. Those additions change the facts you need to review for Google Play.
Begin with the Android release configuration rather than a generic checklist. Find the Crashlytics initialization path, the build variant used for production, and any code that calls user-identification or custom-data methods. Review symbolication, collection toggles, logging helpers, and environment guards. A debug setup may differ from the artifact you publish, so confirm the path that runs in the released app.
Declora organizes this review in an App Passport with App Facts. The Firebase Crashlytics Service Profile suggests crash logs as likely and calls out optional user identifiers and custom keys as developer-controlled. Those are catalog suggestions with reasons and evidence. You confirm each App Fact against your production implementation; Declora does not convert a suggestion into a Google Play answer automatically.
What crash logs can include
Crash reports usually exist to explain why an app failed. Inspect the event fields available in your project, including stack traces, app version, operating-system details, device context, timestamps, and any custom diagnostic information. The relevant question is not only whether Crashlytics is installed, but which information leaves the device or your backend and reaches the service.
Search your code for calls that set a Crashlytics user identifier, record a log, set a custom key, or attach an exception. Check whether those values can contain an account ID, email address, name, phone number, or user-entered text. An exception message can contain data even when the app never calls a dedicated user-data method. A form value placed in a log or custom key can travel with a later crash report.
Run a controlled test using synthetic values. Trigger a handled exception, record representative logs, and inspect the resulting event in the Crashlytics console. Confirm which fields appear, which filters or redaction hooks run, and whether the test used the same release configuration as production. Keep real personal information out of the test.
User IDs and custom keys need separate confirmation
Crashlytics can be useful without attaching an account identity. If your app sets a user ID, review its format, persistence, and relationship to your account system. A random internal identifier, a customer number, and an email address are not interchangeable from a disclosure-review perspective. Confirm what your code sends, not what your team intends to send.
Custom keys and logs deserve the same discipline. They are often added to make a failure easier to reproduce, but their values are developer-defined. Check navigation state, feature flags, request information, form state, and error messages. Review helper functions shared across screens because a single logging wrapper can affect many events.
The catalog may suggest a fact with a confidence level, but a suggestion is not a declaration. If your implementation has changed, leave the App Fact awaiting confirmation until you have inspected the current build. Do not fill an uncertain field with a general assumption about Firebase.
Collection and sharing are different questions
Google Play's Data safety form asks you to characterize your app's data practices. Review collection and sharing as separate decisions, then consider the data type and purpose that match your actual payload. A crash log with only technical diagnostics is not the same scenario as a crash log enriched with a signed-in user's identifier or user-entered text.
Work through these questions for the production path:
- What diagnostic fields are generated by the SDK, and what fields are added by your app?
- Does any event carry a user ID, email, name, phone number, or custom account value?
- Can exception messages, breadcrumbs, logs, or custom keys contain user-entered text?
- Is collection enabled for the release build and disabled only in certain environments?
- Which service receives the event, and what does your team retain or inspect there?
- Does your account-deletion workflow address diagnostic records connected to a user?
If your answers differ between Android variants, review the variant distributed on Google Play. Keep evidence tied to the release configuration you are describing. A code comment or an old test result is not enough when the current event payload has not been inspected.
A practical Crashlytics review sequence
- Identify the Crashlytics SDK version and initialization options in the published Android build.
- Search for user-ID, custom-key, log, breadcrumb, and handled-exception calls.
- Inspect shared logging and error-handling helpers for personal or user-entered values.
- Generate controlled crash and non-fatal events with synthetic data.
- Inspect the events and confirm redaction, environment filters, and release settings.
- Record the confirmed App Facts and separate them from unresolved configuration questions.
- Compare the facts with your Google Play form and run a Consistency Check before publishing.
Use Safe Mode when you need to examine uncertain facts without immediately changing store-facing output. Ask the developer or release owner to confirm the payload, then update the fact with the evidence and configuration it describes. Revisit the review when you enable new integrations, change logging, or alter the release pipeline.
Where Public Pages fit
Public Pages can give your team a clear place to inspect the privacy explanation that corresponds to confirmed App Facts. They do not replace a Crashlytics payload review or the Google Play form. Keep the explanation aligned with the fields you actually send, especially after adding user context, custom keys, or new diagnostics.
Declora is not a law firm and cannot guarantee store approval. Its App Passport, App Facts, Public Pages, Safe Mode, and Consistency Check help you organize evidence and find mismatches; you remain responsible for confirming production behavior and submitting the final Google Play information.
FAQ
Does installing Firebase Crashlytics automatically mean my app sends user IDs?
No. Crash reporting can operate without an account identifier, while your code may add one through a user-ID call or custom payload. Inspect the production build and confirm the event fields before recording that App Fact.
Are crash logs the same as user-entered content?
No. A diagnostic stack trace and user-entered text are different possibilities. User text can still enter a crash event through exception messages, logs, breadcrumbs, or custom keys, so review the paths that build the payload.
What should I do when the debug build and release build differ?
Review the build distributed through Google Play and its initialization settings. Trigger controlled events in a production-like configuration, then record App Facts for that release rather than copying conclusions from a debug run.
Can Declora guarantee my Google Play outcome?
No. Declora is not a law firm and cannot guarantee store approval. It helps you organize confirmed App Facts and run a Consistency Check, while you make the final review and submission decisions.
Sources
- Google Play User Data policy — Google, checked 2026-07-22
- Provide information for Google Play's Data safety section — Google, checked 2026-07-22
- Firebase — App Store data collection disclosure — Firebase, checked 2026-07-22
- Firebase — Google Play data disclosure — Firebase, checked 2026-07-22
- Firebase Privacy and Security — Firebase, checked 2026-07-22
- App privacy details on the App Store — Apple, checked 2026-07-22
- Guide updated
- 2026-09-17
- Profile last reviewed
- 2026-07-22
- Catalog version
- 2026.07.2 · profile 1.0.0
Related guides
- OpenAI API and Google Play Data safety: review user contentGoogle Play · Data safety
- Stripe and Google Play Data safety: review payment dataGoogle Play · Data safety
- Amplitude and Google Play Data safety: review analytics dataGoogle Play · Data safety
- AdMob and Google Play Data safety: review advertising dataGoogle Play · Data safety