push-notification-audit

Detects iOS push notification implementations that violate App Store Guideline 4.5.4.

Updated Aug 14, 2026
One-click install
npx skills add https://github.com/tvh25082004/Badminton --skill push-notification-audit-tvh25082004
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: push-notification-audit
Source: https://github.com/tvh25082004/Badminton/tree/main/.claude/skills/apple-app-review/quality/push-notification-audit
Command: npx skills add https://github.com/tvh25082004/Badminton --skill push-notification-audit-tvh25082004

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Push notification misuse — requesting permission at launch, sending marketing content without opt-in, or carrying ads — is a common cause of App Store rejection under Guideline 4.5.4, and these issues are easy to miss in code review. ## Core Features & Use Cases - Launch-Time Permission Detection: Finds UNUserNotificationCenter.requestAuthorization calls inside application(_:didFinishLaunchingWithOptions:) or scene(_:willConnectTo:). - Marketing and Ad Content Scanning: Greps notification payload strings for promotional keywords like "sale", "discount", and "sponsored" near UNMutableNotificationContent. - Delegate and Entitlement Checks: Verifies UNUserNotificationCenterDelegate is implemented and that aps-environment exists in the app's entitlements file. - Use Case: Before submitting an iOS app for review, run this audit to get a prioritized findings list (CRITICAL/HIGH/MEDIUM/LOW) with file paths, line numbers, and fixes for each push notification violation. ## Quick Start Audit my iOS project for push notification violations of App Store Guideline 4.5.4 and list the findings with file locations.

Frequently Asked Questions about push-notification-audit

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

FAQPage Schema
How do I check if my iOS app violates push notification Guideline 4.5.4?▼

Run this audit against your project root. It greps for requestAuthorization calls in AppDelegate or SceneDelegate, scans notification payload strings for marketing keywords, and verifies delegate implementation and entitlements, then reports findings by severity.

Why was my app rejected for requesting push permission at launch?▼

Apple treats requesting push permission in application(_:didFinishLaunchingWithOptions:) before any user interaction as permission abuse under Guideline 4.5.4. Move the requestAuthorization call to a contextual moment, such as when the user enables a notification-driven feature.

Can push notifications contain promotional or marketing content?▼

Only with a separate explicit opt-in for promotional notifications — general push permission does not cover marketing use cases. Push notifications may never carry advertising content such as sponsored messages or interstitial ads.

Does this audit work with Objective-C or React Native projects?▼

Yes. It works on Swift and Objective-C projects, and React Native or Flutter push implementations use different class names but the same payload patterns apply, so the marketing keyword and payload checks still detect violations.

What happens if my app is missing the aps-environment entitlement?▼

Push notifications will silently fail at review time if the entitlements file lacks aps-environment. The audit flags this as a HIGH severity finding when requestAuthorization is used without the entitlement present.