TL;DR: An app is worth the data it asks for only when each request clearly supports a core feature, user benefit, or platform requirement. The quickest test is to map every permission to a specific feature, ask for it only when that feature appears, and remove anything that is optional, vague, or impossible to justify.
What “worth the data” means in practice
The real question is not, “Does the app ask for data?” Almost every useful app asks for something. The actual test is, does each request clearly support a core feature, a user benefit, or a platform requirement, and does it follow Apple’s privacy and data minimization expectations? Apple’s privacy documentation and App Store review guidance emphasize privacy and data minimization expectations. See Apple’s privacy documentation and App Store review guidance here: Apple Privacy and App Store Review Guidelines.
Start with the app’s promised job
Before you judge any permission prompt, define the app’s job in one or two sentences. What must it do, for real, not in a “wouldn’t it be cool if” demo.
Then test each data request against that job.
If the app is a journaling app, access to the user’s photos might make sense for attaching images to entries. If the app is a flashlight app, photos are doing a lot of unpaid labor for no reason. Same permission, very different story.
A good rule: if the data request does not directly enable the main outcome, it is probably serving marketing, convenience, analytics, or a future feature that does not exist yet.
Make a data-to-feature checklist
Write down three columns for every request:
- the data the app wants
- the feature it supports
- what breaks if the user refuses
That simple table exposes the awkward stuff fast.
For example:
- Contacts, supports inviting friends, app still works without it, optional
- Location, supports nearby results, core feature may fail without it, maybe required for that feature only
- Photos, supports profile image upload, app still works without it, optional
If a request has no clear feature attached, or the feature sounds vague enough to live in a product brainstorm graveyard, that is a red flag.
Separate required data from optional data
A strong app usually needs only the data required for its core service. Everything else should be optional or delayed until the user reaches the feature that needs it.
This is where many apps accidentally become needy. They ask for location on first launch because a map feature exists somewhere in the roadmap. They ask for contacts before the user has even seen the main screen. That is backwards.
Better pattern, ask later and ask in context.
- Need photos for a post composer? Ask when the user taps Add Photo.
- Need location for local search? Ask when the user opens local results.
- Need contacts for invitations? Ask when the user chooses Invite Friends.
That way the prompt is tied to an action the user already understands.
Check the request against Apple’s review and privacy expectations
Apple expects privacy details to be disclosed clearly, and permissions to be requested when they make sense in context. The practical translation is, do not spring a permission prompt out of nowhere, and do not collect data just because you technically can.
Two useful checkpoints:
- Is the permission request tied to a visible feature the user is about to use?
- Is the app’s privacy disclosure consistent with what the app actually collects?
If the answer to either is fuzzy, tighten the design before review. Apple’s review process is not a fan of mystery meat permissions.
Ask whether the app earns trust before asking for more
A request feels reasonable when the app behaves like it has read the room.
Look for these cues:
- a plain-language explanation of why the data is needed
- a just-in-time prompt, not a launch-screen ambush
- a visible benefit right next to the request
- a settings screen where the user can change their mind later
Trust is cumulative. If the app is useful first and greedy second, the request is easier to defend. If it asks for everything before showing anything, users will assume the worst, because that is what humans do when the modal dialog starts acting suspicious.
Worked example: a simple app that wants contacts, location, and photos
Say you are shipping a first release of an iOS neighborhood bulletin app. It lets people post local updates, browse nearby posts, and add images to posts.
Now test the requests:
- Contacts: hard to justify on first release unless the app’s core job is inviting known people from the address book. For a bulletin app, this should usually be optional and deferred to an invite flow.
- Location: defensible if nearby browsing is a core feature. Even then, it should be requested when the user opens the nearby feed or taps a local search feature, not during onboarding for no reason.
- Photos: defensible if the app lets users attach images to posts. This is a good candidate for a just-in-time prompt when the user tries to upload a photo.
What would be hard to justify for an App Store review-ready first release?
- asking for contacts immediately at launch
- requiring location if the app can also function with manually entered neighborhoods or general browsing
- making photos mandatory just to create an account
The pattern is simple. If a permission is not central to the first useful thing the app does, it should probably not be required upfront.
Use this quick decision test before you ship
Run each data request through this yes/no check:
- Needed for core function?
- Explained in plain language?
- Requested at the right moment?
- Can the user remove it without breaking unrelated features?
If any answer is no, the request needs work.
What to fix if the answer is “no”
If a request fails the test, you usually have four repair options:
- Remove the permission entirely, if the feature does not truly need it.
- Move the request later, until the user reaches the feature that depends on it.
- Make it optional, so the app still works without it.
- Narrow the feature, so the app no longer depends on data it cannot justify.
That last one is underrated. Sometimes the cleanest privacy fix is product surgery, not permission theater.
Link to the broader App Store readiness workflow
This question is part of a larger release checklist. Privacy trust should match the app’s store presentation, so it helps to pair this with how to write App Store screenshot captions that read fast, since the screenshots should reinforce the same core value the permissions are supposed to support.
If you are still deciding whether the app should exist at all, before review becomes the next headache, the broader validation angle in How Much Is an App With 100,000 Users Worth? is a useful companion read, because sometimes the real problem is not the permission list, it is the app idea.