Skip to content

ML Kit: Data safety form answers

If your Android app includes ML Kit (on-device APIs) from Google, its data counts as data your app collects. According to the vendor, it collects device or other IDs, diagnostics (collected, not shared: the vendor acts as a service provider).

Matched dependencies: com.google.mlkit:*, com.google.android.gms:play-services-mlkit-*.

Data type Collected Shared Ephemeral Purposes
Device or other IDs
Per-installation identifiers always; a device identifier for thin (Play services) features
Yes No No Analytics
Diagnostics Yes No No Analytics

Whether each type is required or optional for users depends on your app: optional only if users can turn it off and the app honors that.

ML Kit sends only metadata (device and app info, identifiers, latency, API config, input/output size, event types, error codes) for diagnostics and usage analytics, and does not transfer it to third parties. The page does not list images, text or other feature inputs as collected. Thin features add a device identifier; GenAI features add user or device identifiers.

These are the rows of Google’s Data safety CSV that ML Kit turns to true (or false for the ephemeral question). Columns: question ID, response ID, value. You also answer the required/optional row for each type.

PSL_DATA_TYPES_IDENTIFIERS,PSL_DEVICE_ID,true
PSL_DATA_USAGE_RESPONSES:PSL_DEVICE_ID:PSL_DATA_USAGE_COLLECTION_AND_SHARING,PSL_DATA_USAGE_ONLY_COLLECTED,true
PSL_DATA_USAGE_RESPONSES:PSL_DEVICE_ID:PSL_DATA_USAGE_EPHEMERAL,,false
PSL_DATA_USAGE_RESPONSES:PSL_DEVICE_ID:DATA_USAGE_COLLECTION_PURPOSE,PSL_ANALYTICS,true
PSL_DATA_TYPES_APP_PERFORMANCE,PSL_PERFORMANCE_DIAGNOSTICS,true
PSL_DATA_USAGE_RESPONSES:PSL_PERFORMANCE_DIAGNOSTICS:PSL_DATA_USAGE_COLLECTION_AND_SHARING,PSL_DATA_USAGE_ONLY_COLLECTED,true
PSL_DATA_USAGE_RESPONSES:PSL_PERFORMANCE_DIAGNOSTICS:PSL_DATA_USAGE_EPHEMERAL,,false
PSL_DATA_USAGE_RESPONSES:PSL_PERFORMANCE_DIAGNOSTICS:DATA_USAGE_COLLECTION_PURPOSE,PSL_ANALYTICS,true

data-safety-from-code finds ML Kit in your build.gradle or version catalog, adds these answers with a link to the source, and merges them with every other SDK and with what your own code sends. You get a CSV to import and a report showing where each answer comes from.

Inside a Claude Code session
/plugin marketplace add sanikantv/data-safety-from-code
/plugin install data-safety-from-code@data-safety-from-code
Or from your shell
claude plugin marketplace add sanikantv/data-safety-from-code
claude plugin install data-safety-from-code@data-safety-from-code

Related: collected vs shared · how to fill the Data safety form · all SDKs

Want the form filled from your own code, with evidence? Install the skill. If this page helped,star the repo on GitHub.

Built by Sanikant. Set in Google Sans Flex (SIL Open Font License), icons from Material Symbols (Apache 2.0). Google Play is a trademark of Google LLC; this project is not affiliated with Google. Output is a draft for review: you are responsible for your Data safety declaration.