Safeguard
Developer Tools•

Does your mobile app need an open source licenses screen?

Many open source licenses require notices to ship with the app, so apps commonly include a licenses screen. Android offers a plugin that builds one.

Safeguard Security Team
3 min read

Many open source licenses ask that copyright and license notices travel with the software, and a mobile app is a distribution of that software. An in app licenses screen is the usual way to meet this. Google documents a plugin that generates one for Android apps. Whether your exact set of licenses requires it is a question for counsel.

Why a mobile app is different

A web service you run yourself does not hand a copy of its libraries to users. A mobile app does. Each install carries the libraries you compiled in, so notice and attribution conditions can apply.

The MIT text, for instance, says its copyright and permission notice shall be included in all copies or substantial portions of the software. Apache 2.0 asks redistributors to give recipients a copy of the license and to carry forward applicable NOTICE file attributions. A single app may contain dozens of such libraries.

What Google documents for Android

Google's guide says you are responsible for showing notices for the open source libraries your app uses, since Play services SDKs sometimes include or depend on open source libraries. It describes a Gradle plugin and a Play services dependency that together provide an activity listing the libraries, where a tap shows each license. At build time the plugin reads the license entries in each direct dependency's POM file.

That last point is a limit worth knowing. The plugin reads metadata from direct dependencies. It does not replace a full inventory, so check coverage for transitive libraries, native code and bundled assets.

What to include

ItemWhy
Library name and versionSo a reader can find the source
License name or textRequired by many licenses
Copyright noticeOften required
NOTICE contentRequired where an Apache NOTICE file exists
Fonts, icons, imagesAssets have licenses too

Steps

  1. Generate an SBOM for each release build, not just the source tree.
  2. Compare it to what the licenses screen shows.
  3. Add the missing items, including native libraries and assets.
  4. Keep a copy of the notices file with the release record.
  5. Re run the check each time dependencies change.

For iOS and desktop

The same logic applies. Apple apps often put notices in a settings screen or in the app's acknowledgments. Check each platform's conventions and the license terms for what you ship.

See also MIT attribution: what to ship.

Safeguard does dependency scanning and SBOM generation across your repositories, and you can set policies and gates on what may merge. You can try a free scan of a public repository to see what a component inventory looks like.

Quick check

Is a licenses screen legal advice compliance?

It is a common practice, not a guarantee. Each license has its own conditions, so review the ones in your app.

Does the Android plugin cover everything?

Google says it reads direct dependency POM entries. Check transitive libraries, native code and assets yourself.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.