permission-scope-audit

Detect over-broad iOS/macOS permission requests in Swift and Objective-C sources.

13|1|Updated Mar 29, 2026
One-click install
npx skills add https://github.com/cruisediary/apple-app-review-skills --skill permission-scope-audit
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: permission-scope-audit
Source: https://github.com/cruisediary/apple-app-review-skills/tree/main/skills/permissions/permission-scope-audit
Command: npx skills add https://github.com/cruisediary/apple-app-review-skills --skill permission-scope-audit

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Detects over-broad permission requests that violate data minimization guidelines, helping teams reduce unnecessary data access and avoid App Store rejections.

Core Features & Use Cases

  • Identifies over-broad requests such as Always Location, full Photo Library access, or full Contacts access when a narrower permission or privacy-preserving alternative would suffice.
  • Provides guidance to refactor permissions, recommend privacy-preserving APIs, and document the justification for reviewers.
  • Use case: when integrating a map or sharing workflow, ensure location or contacts access is strictly scoped to the minimum necessary.

Quick Start

Run the audit against an iOS or macOS project to surface permission scope issues and recommended privacy-preserving alternatives.

Frequently Asked Questions about permission-scope-audit

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I audit iOS app permissions for data minimization compliance?

Auditing iOS app permissions involves scanning Swift, Objective-C, Info.plist, and entitlements to flag over-broad requests like Always Location or full Contacts access that violate data minimization guidelines.

What over-broad iOS permissions can cause App Store rejections?

Over-broad iOS permissions causing App Store rejections include Always Location, full Photo Library access, and full Contacts access when narrower privacy-preserving alternatives suffice for the app's features.

How do I check if my Xcode project requests unnecessary location or contacts permissions?

Check unnecessary location or contacts permissions by running an audit that scans Swift sources and Info.plist to identify when full access is requested instead of narrower privacy-preserving alternatives.

Can I use a permission scope audit on macOS projects as well as iOS?

Yes, permission scope audit applies to both iOS and macOS projects, scanning Swift sources, Info.plist, and entitlements to surface permission scope issues and recommend privacy-preserving alternatives.

Does static analysis of entitlements work for both Swift and Objective-C codebases?

Yes, static analysis of entitlements works for both Swift and Objective-C codebases, scanning source files and Info.plist to detect over-broad data access requests violating data minimization guidelines.

What is the best way to refactor over-broad photo library permissions in iOS?

The best way to refactor over-broad photo library permissions is to run an audit that identifies full access requests and provides guidance on adopting privacy-preserving APIs with reviewer documentation.