Home / App rejections: fix guides for App Store and Google Play / Google Play permissions policy rejection

Google Play permissions policy rejection

Quick answer: A Google Play permissions rejection means your app requests a sensitive or restricted permission, such as SMS, call log, background location or all files access, without an approved core use case and declaration. Remove the permission if you don't need it, often added by a library, or complete the declaration with a video.

How to clear a permissions rejection

Follow these steps in order. Each one is something we do on client work.

  1. Find the permission. The notice names it. Search your merged manifest, not just your own manifest, because libraries add permissions.
  2. Decide if you need it. If the core feature doesn't need it, remove it, including from library manifests with a tools:node="remove" rule.
  3. If you need it, justify it. Fill in the Play Console declaration and explain the core user-facing feature that requires it.
  4. Record a demo video if asked. Show the feature using the permission, from launch to use.
  5. Add an in-app explanation. Show why the app asks before the system prompt appears.
  6. Ship a new build. Upload with a higher versionCode and make sure older tracks don't still carry the permission.

Google Play permissions rejection: key rules and context

What the rejection means. Google restricts high-risk permissions to specific use cases (Play Console Help: Permissions).

Why it usually happens

  • A library adds READ_SMS or QUERY_ALL_PACKAGES you didn't notice.
  • Background location used for a feature that works with foreground location.
  • MANAGE_EXTERNAL_STORAGE used where scoped storage would work.

How to fix it

  1. Inspect the merged manifest in Android Studio.
  2. Remove permissions with tools:node="remove" where not needed.
  3. Use alternatives: scoped storage, photo picker, foreground location.
  4. For real needs, fill the Permissions Declaration Form with a short video showing the feature.

Appeal or resubmit? After removing a permission, submit a new release. If declared, wait for review; appeal only with clear evidence of the core use case.

How to avoid it next time. Review merged manifests on every dependency update.

Common mistakes

  • Checking only your manifest. Libraries merge their permissions in.
  • Leaving the permission on another track. Active test tracks count too.
  • Generic justifications. Explain the specific feature.
  • No in-app context. Users and reviewers both need to see why you ask.

If you want this handled for you, our pricing page lists every fixed package.

Worked example (hypothetical)

This example is illustrative. The app is made up, and so are any numbers in it.

Imagine a to-do app, TickOff, flagged for a broad storage permission it never uses. The merged manifest shows an old image-picker library added it. We'd swap to the system photo picker, remove the permission with a manifest merge rule, and check closed and internal tracks so no active release still declares it.

Google Play rules that trip most apps

These come from Play Console Help pages we checked on 26 October 2026.

RuleRequirement
App title30 characters or less; no ranking or price claims, no emojis
DescriptionsNo repetitive or irrelevant keywords; no misleading claims like "best game ever"
Screenshots and videoMust reflect the app's actual experience
New personal accountsClosed test with at least 12 testers opted in for at least 14 days before production
Icon512 × 512 px; no misleading symbols or ranking badges

Checklist

Copy this list into your release notes or ticket and tick each item off before you ship.

  • Merged manifest reviewed
  • Unneeded permissions removed
  • Declaration filled for kept permissions
  • Demo video ready if needed
  • In-app rationale screen
  • All tracks updated
FAQ

Questions

Why do I have a permission I never added?

A library merged it in.

Do I need a video?

For many sensitive permissions, yes.

Is background location ever allowed?

Yes, for approved core features.

Does Photo Picker avoid storage permissions?

Often, yes.

Can you check my manifest?

Yes.

Why does my app request a permission I never added?

A library you depend on probably declares it. Check the merged manifest in Android Studio.

Ready when you are

Fix your listing this week.

One fixed price, delivered as copy and files you paste yourself. No calls, no account access.

$99 one-timeDelivered in 2–3 business days2 revisionsNo login needed
Questions? Email us
Rank higher. More installs.Want your app ranked and more installs?
Get HireASO