Guideline 5.1.1

Guideline 5.1.1 - Privacy: Insufficient Purpose Strings

Easy FixTypical Fix: 1-2 hours1 Report
Also known as:Purpose strings do not sufficiently explain use of protected resourcesCamera purpose string does not provide specific exampleLocation purpose string is too vagueMicrophone/contacts/photos purpose string is generic

Our Take

Apple is rejecting your app because one or more of the permission purpose strings (NSUsageDescription entries in Info.plist) don't adequately explain why the app needs access to protected resources like the camera, microphone, location, contacts, or photos. Purpose strings must clearly and completely describe (1) how the app uses the data and (2) a specific example of how the data will be used. Generic strings like "App needs camera access" or "App would like to access your contacts" are explicitly called out by Apple as insufficient. This is a different rejection than 5.1.1 privacy policy issues. This is specifically about the system permission dialogs that appear when your app requests access to device capabilities.

Resolution Guide

01

Rewrite each purpose string

Follow this formula: "[App name] uses [resource] to [specific purpose]. For example, [concrete example of use]."

02

Be specific, not generic

Instead of "App needs camera access", write "AppName uses your camera to take photos of receipts for expense tracking. For example, you can photograph a restaurant receipt to automatically log the expense."

03

Cover all protected resources

Check every NS*UsageDescription key:

  • NSCameraUsageDescription
  • - NSMicrophoneUsageDescription

    - NSLocationWhenInUseUsageDescription

    - NSPhotoLibraryUsageDescription

    - NSContactsUsageDescription

    - Any others your app uses

    04

    Match actual usage

    The purpose string must match what your app actually does with the data. Don't claim you use the camera for "profile photos" if you also use it for document scanning.

    05

    Localize purpose strings

    If your app supports multiple languages, translate purpose strings for each locale.

    Prevention


  • Write purpose strings when you add the permission request, not as an afterthought
  • Include both the purpose AND a specific example in every string
  • Review Apple's examples of helpful, informative purpose strings in the HIG
  • Example Rejection Email

    From:Apple App Review Team
    Subject:Guideline 5.1.1 - Privacy: Insufficient Purpose Strings
    One or more purpose strings in the app do not sufficiently explain the use of protected resources. Purpose strings must clearly and completely describe the app's use of data and, in most cases, provide an example of how the data will be used. Update the camera purpose string to explain how the app will use the requested information and provide a specific example of how the data will be used. See the attached screenshot. Purpose strings must clearly describe how an app uses the ability, data, or resource. The following are hypothetical examples of unclear purpose strings that would not pass review: - "App would like to access your Contacts" - "App needs microphone access"

    Before & After

    Before — Rejected

    NSCameraUsageDescription: 'App needs camera access'

    After — Approved

    NSCameraUsageDescription: 'MyApp uses your camera to scan documents and take photos for your projects. For example, you can photograph a whiteboard to save meeting notes.'

    What changed: Purpose strings must explain the specific use case and provide a concrete example, not just state the resource being accessed

    Community Solutions · 0

    Sign in to share your solution.

    More Guideline 5 (Legal) rejections

    View all Guideline 5 rejections