Not in the top 1,000 by GitHub stars

safaiyeh/app-store-review-skill

Skill to validate your codebase against Apple App Review

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

7197cff00372 → 7197cff00372

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 7197cff00372

No earlier version was observed for comparison.

Compare on GitHub

skills/app-store-review/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

7197cff00372 → 7197cff00372

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 7197cff00372

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 7197cff003728b660542b37d6b6d0167fe2ec1ed

git clone --filter=blob:none --no-checkout https://github.com/safaiyeh/app-store-review-skill.git .hotskills/safaiyeh-app-store-review-skill && git -C .hotskills/safaiyeh-app-store-review-skill checkout --detach 7197cff003728b660542b37d6b6d0167fe2ec1ed # Copy each selected skill directory from .hotskills/safaiyeh-app-store-review-skill into .claude/skills/<skill-name>/
443GitHub stars
23stars in 7 days
2skills in this repository
9commits in 30 days

Heat

5.5
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 6, 2026443

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

app-store-review

When your agent uses it

Evaluates code against Apple's App Store Review Guidelines. Use this skill when reviewing iOS, macOS, tvOS, watchOS, or visionOS app code (Swift, Objective-C, React Native, or Expo) to identify potential App Store rejection issues before submission. Triggers on tasks involving app review preparation, compliance checking, or App Store submission readiness.

What it loads into context

Frontmatter

104 tokens

Always available to the agent

SKILL.md

3,902 tokens

When the skill is activated

Reference documents

34,994 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. When to Apply
  2. Guideline Sections
  3. Risk Levels by Category
  4. Quick Reference: High-Risk Rejection Patterns
  5. Pre-Submission Checklist
  6. Reporting Skill Issues (Feedback)
  7. References

Files

  • .agents/plugins/marketplace.jsonasset364 bytes
  • .claude-plugin/marketplace.jsonasset619 bytes
  • .claude-plugin/plugin.jsonasset494 bytes
  • .codex-plugin/plugin.jsonasset1,198 bytes
  • .github/ISSUE_TEMPLATE/skill-feedback.ymlasset2,274 bytes
  • .gitignoreasset255 bytes
  • LICENSEasset1,065 bytes
  • README.mddoc8,330 bytes
  • SKILL.mdcore16,899 bytes
  • agents/openai.yamlasset219 bytes
  • metadata.jsonasset2,549 bytes
  • rules/1-safety.mddoc30,375 bytes
  • rules/2-performance.mddoc37,295 bytes
  • rules/3-business.mddoc21,578 bytes
  • rules/4-design.mddoc19,603 bytes
  • rules/5-legal.mddoc37,818 bytes
Read SKILL.md

# App Store Review Guidelines Checker

Comprehensive guide for evaluating iOS, macOS, tvOS, watchOS, and visionOS app code against Apple's App Store Review Guidelines. This skill covers EVERY guideline point to identify potential rejection issues before submission.

**Supports:** Swift, Objective-C, React Native, and Expo apps

**Guidelines current through:** Apple's [October 16, 2026 App Review Guidelines update](https://developer.apple.com/news/?id=92th7e5i), verified against the current English guidelines. Includes AI content creation and nonconsensual intimate imagery safeguards (1.2), creative assets (2.3.14), hidden features (2.5.19), revised purchase-link entitlements (3.1.1(a)), and alternative-distribution enforcement (5). Also covers social media age-rating questions, Republic of Korea age rating changes, and Brazil/EU alternative payment and distribution terms.

## When to Apply

Use this skill when:
- Preparing an app for App Store submission
- Reviewing code for compliance issues
- Implementing features that may trigger review concerns
View the complete source on GitHub

Skills included

  • app-store-review
  • app-store-review

Repository facts

License
MIT
Created
Jan 21, 2026
Last pushed
Oct 17, 2026
Forks
24
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 7, 2026

Show all 181 signals by file

.claude-plugin/plugin.json

  • Network accessline 6
    "name": "safaiyeh"   },   "homepage": "https://github.com/safaiyeh/app-store-review-skill",
  • Network accessline 7
    },   "homepage": "https://github.com/safaiyeh/app-store-review-skill",   "repository": "https://github.com/safaiyeh/app-store-review-skill",
  • Network accessline 8
    "homepage": "https://github.com/safaiyeh/app-store-review-skill",
  • Network accessline 9
    "repository": "https://github.com/safaiyeh/app-store-review-skill",

.codex-plugin/plugin.json

  • Network accessline 5
    "author": {     "name": "safaiyeh",     "url": "https://github.com/safaiyeh"
  • Network accessline 6
    "name": "safaiyeh",     "url": "https://github.com/safaiyeh"   },
  • Network accessline 7
    "url": "https://github.com/safaiyeh"
  • Network accessline 8
    },   "homepage": "https://github.com/safaiyeh/app-store-review-skill",   "repository": "https://github.com/safaiyeh/app-store-review-skill",
  • Network accessline 9
    "homepage": "https://github.com/safaiyeh/app-store-review-skill",
  • Network accessline 10
    "repository": "https://github.com/safaiyeh/app-store-review-skill",
  • Network accessline 31
    "Read"     ],     "websiteURL": "https://github.com/safaiyeh/app-store-review-skill",
  • Network accessline 32
    ],     "websiteURL": "https://github.com/safaiyeh/app-store-review-skill",     "defaultPrompt": [
  • Network accessline 33
    "websiteURL": "https://github.com/safaiyeh/app-store-review-skill",

.gitignore

  • Access to secretsline 29
    [Credential-related source omitted]

README.md

  • Network accessline 7
    **Current through:** Apple's official [October 16, 2026 App Review Guidelines update](https://developer.apple.com/news/?id=92th7e5i)
  • Network accessline 42
    - [Codex](https://openai.com/codex/)
  • Network accessline 43
    - [Claude Code](https://claude.ai/code)
  • Network accessline 44
    - [Cursor](https://cursor.sh)
  • Network accessline 45
    - [Windsurf](https://codeium.com/windsurf)
  • Network accessline 76
    All feedback is welcome, big or small: false positives, findings the skill missed, guidance that was too aggressive, too noisy, too vague, or outdated, wrong section citations, bad suggested fixes, missing coverage, or the skill triggering 
  • Access to secretsline 168
    [Credential-related source omitted]

SKILL.md

  • Network accessline 16
    **Guidelines current through:** Apple's [October 16, 2026 App Review Guidelines update](https://developer.apple.com/news/?id=92th7e5i), verified against the current English guidelines. Includes AI content creation and nonconsensual intimate
  • Network accessline 16
    **Guidelines current through:** Apple's [October 16, 2026 App Review Guidelines update](https://developer.apple.com/news/?id=92th7e5i), verified against the current English guidelines. Includes AI content creation and nonconsensual intimate
  • Access to secretsline 77
    [Credential-related source omitted]
  • Access to secretsline 77
    [Credential-related source omitted]
  • Network accessline 79
    // 🔴 External payment for digital goods where IAP is required Linking.openURL('https://stripe.com/checkout'); // Use react-native-iap
  • Network accessline 79
    // 🔴 External payment for digital goods where IAP is required Linking.openURL('https://stripe.com/checkout'); // Use react-native-iap
  • Network accessline 80
    Linking.openURL('https://stripe.com/checkout'); // Use react-native-iap
  • Network accessline 80
    Linking.openURL('https://stripe.com/checkout'); // Use react-native-iap
  • Dangerous shell operationline 83
    eval(downloadedCode); // REJECTION
  • Dangerous shell operationline 83
    eval(downloadedCode); // REJECTION
  • Network accessline 112
    // 🟡 Delete Account button opens instructions with no deletion flow Linking.openURL('https://example.com/help'); // Verified instructions-only page
  • Network accessline 112
    // 🟡 Delete Account button opens instructions with no deletion flow Linking.openURL('https://example.com/help'); // Verified instructions-only page
  • Network accessline 113
    Linking.openURL('https://example.com/help'); // Verified instructions-only page
  • Network accessline 113
    Linking.openURL('https://example.com/help'); // Verified instructions-only page
  • Network accessline 115
    Linking.openURL('https://example.com/delete-account');
  • Network accessline 115
    Linking.openURL('https://example.com/delete-account');
  • Network accessline 143
    // 🟠 WebView-only app (insufficient native functionality) const App = () => <WebView source={{ uri: 'https://site.com' }} />;
  • Network accessline 143
    // 🟠 WebView-only app (insufficient native functionality) const App = () => <WebView source={{ uri: 'https://site.com' }} />;
  • Network accessline 144
    const App = () => <WebView source={{ uri: 'https://site.com' }} />;
  • Network accessline 144
    const App = () => <WebView source={{ uri: 'https://site.com' }} />;
  • Network accessline 255
    2. **Show the full draft** (exact title and body) before anything is sent. 3. **Never include the user's code, app name, bundle IDs, file paths, credentials, or proprietary details.** The report is about this skill's rules, not the user's a
  • Network accessline 255
    2. **Show the full draft** (exact title and body) before anything is sent. 3. **Never include the user's code, app name, bundle IDs, file paths, credentials, or proprietary details.** The report is about this skill's rules, not the user's a
  • Network accessline 256
    3. **Never include the user's code, app name, bundle IDs, file paths, credentials, or proprietary details.** The report is about this skill's rules, not the user's app. Only include such details if the user explicitly writes them into the d
  • Network accessline 256
    3. **Never include the user's code, app name, bundle IDs, file paths, credentials, or proprietary details.** The report is about this skill's rules, not the user's app. Only include such details if the user explicitly writes them into the d
  • Network accessline 257
    4. **Send only after the user approves the exact text**, using `gh issue create --repo safaiyeh/app-store-review-skill --title "..." --body "..."`. If `gh` is unavailable or unauthenticated, give the user this link to file it themselves: ht
  • Network accessline 257
    4. **Send only after the user approves the exact text**, using `gh issue create --repo safaiyeh/app-store-review-skill --title "..." --body "..."`. If `gh` is unavailable or unauthenticated, give the user this link to file it themselves: ht
  • Network accessline 266
    - [App Store Review Guidelines](https://developer.apple.com/app-store/review/guidelines/)
  • Network accessline 266
    - [App Store Review Guidelines](https://developer.apple.com/app-store/review/guidelines/)
  • Network accessline 267
    - [Apple Developer Program License Agreement](https://developer.apple.com/support/terms/apple-developer-program-license-agreement/)
  • Network accessline 267
    - [Apple Developer Program License Agreement](https://developer.apple.com/support/terms/apple-developer-program-license-agreement/)
  • Network accessline 268
    - [October 16, 2026 App Review Guidelines update](https://developer.apple.com/news/?id=92th7e5i)
  • Network accessline 268
    - [October 16, 2026 App Review Guidelines update](https://developer.apple.com/news/?id=92th7e5i)
  • Network accessline 269
    - [Nonconsensual intimate imagery and bait-and-switch clarification (October 2026)](https://developer.apple.com/news/?id=vvzx6cul)
  • Network accessline 269
    - [Nonconsensual intimate imagery and bait-and-switch clarification (October 2026)](https://developer.apple.com/news/?id=vvzx6cul)
  • Network accessline 270
    - [June 8, 2026 App Review Guidelines update](https://developer.apple.com/news/?id=a233fmpw)
  • Network accessline 270
    - [June 8, 2026 App Review Guidelines update](https://developer.apple.com/news/?id=a233fmpw)
  • Network accessline 271
    - [Age rating questionnaire: social media questions (July 2026)](https://developer.apple.com/news/?id=tlur8uvi)
  • Network accessline 271
    - [Age rating questionnaire: social media questions (July 2026)](https://developer.apple.com/news/?id=tlur8uvi)
  • Network accessline 272
    - [Age rating updates for the Republic of Korea (August 2026)](https://developer.apple.com/news/?id=oj3r9pvw)
  • Network accessline 272
    - [Age rating updates for the Republic of Korea (August 2026)](https://developer.apple.com/news/?id=oj3r9pvw)
  • Network accessline 273
    - [Changes for apps in the European Union (August 2026)](https://developer.apple.com/news/?id=gmws0jgp)
  • Network accessline 273
    - [Changes for apps in the European Union (August 2026)](https://developer.apple.com/news/?id=gmws0jgp)
  • Network accessline 274
    - [Changes to iOS in Brazil (June 2026)](https://developer.apple.com/news/?id=dhwadr2x)
  • Network accessline 274
    - [Changes to iOS in Brazil (June 2026)](https://developer.apple.com/news/?id=dhwadr2x)
  • Network accessline 275
    - [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/)
  • Network accessline 275
    - [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/)
  • Network accessline 276
    - [App Store Connect Help](https://developer.apple.com/help/app-store-connect/)
  • Network accessline 276
    - [App Store Connect Help](https://developer.apple.com/help/app-store-connect/)
  • Network accessline 277
    - [App Review Help (submission preparation, status, rejections, and appeals)](https://developer.apple.com/help/app-review/)
  • Network accessline 277
    - [App Review Help (submission preparation, status, rejections, and appeals)](https://developer.apple.com/help/app-review/)
  • Network accessline 278
    - [App Store asset best practices](https://developer.apple.com/app-store/asset-best-practices/)
  • Network accessline 278
    - [App Store asset best practices](https://developer.apple.com/app-store/asset-best-practices/)
  • Network accessline 279
    - [Apple Developer Documentation](https://developer.apple.com/documentation/)
  • Network accessline 279
    - [Apple Developer Documentation](https://developer.apple.com/documentation/)

metadata.json

  • Network accessline 5
    "abstract": "Exhaustive guide for evaluating iOS, macOS, tvOS, watchOS, and visionOS app code against Apple's App Store Review Guidelines, current through Apple's October 16, 2026 update. Covers ALL 5 major sections with EVERY guideline poi
  • Network accessline 6
    "references": [     "https://developer.apple.com/app-store/review/guidelines/",     "https://developer.apple.com/support/terms/apple-developer-program-license-agreement/",
  • Network accessline 7
    "https://developer.apple.com/app-store/review/guidelines/",
  • Network accessline 8
    "https://developer.apple.com/support/terms/apple-developer-program-license-agreement/",
  • Network accessline 9
    "https://developer.apple.com/news/?id=92th7e5i",
  • Network accessline 10
    "https://developer.apple.com/news/?id=vvzx6cul",
  • Network accessline 11
    "https://developer.apple.com/news/?id=a233fmpw",
  • Network accessline 12
    "https://developer.apple.com/news/?id=tlur8uvi",
  • Network accessline 13
    "https://developer.apple.com/news/?id=oj3r9pvw",
  • Network accessline 14
    "https://developer.apple.com/news/?id=gmws0jgp",
  • Network accessline 15
    "https://developer.apple.com/news/?id=dhwadr2x",
  • Network accessline 16
    "https://developer.apple.com/design/human-interface-guidelines/",
  • Network accessline 17
    "https://developer.apple.com/documentation/storekit",
  • Network accessline 18
    "https://developer.apple.com/documentation/apptrackingtransparency",
  • Network accessline 19
    "https://developer.apple.com/documentation/localauthentication",
  • Network accessline 20
    "https://developer.apple.com/documentation/networkextension/nevpnmanager",
  • Network accessline 21
    "https://developer.apple.com/help/app-store-connect/",
  • Network accessline 22
    "https://developer.apple.com/help/app-review/",
  • Network accessline 23
    "https://developer.apple.com/app-store/asset-best-practices/",
  • Network accessline 24
    "https://developer.apple.com/documentation/storekit/external-purchase",
  • Network accessline 25
    "https://developer.apple.com/documentation/healthkit",
  • Network accessline 26
    "https://developer.apple.com/documentation/callkit",
  • Network accessline 27
    "https://developer.apple.com/documentation/classkit",
  • Network accessline 28
    "https://developer.apple.com/documentation/arkit"

rules/1-safety.md

  • Network accessline 97
    // FLAG: Links to weapon retailers Linking.openURL('https://gunbroker.com'); // REJECTION
  • Network accessline 98
    Linking.openURL('https://gunbroker.com'); // REJECTION
  • Network accessline 182
    Under Apple's [October 16, 2026 clarification](https://developer.apple.com/news/?id=vvzx6cul), moderation must proactively prevent and remove nonconsensual intimate imagery, including AI-generated imagery. Review creation and generation flo
  • Network accessline 230
    const filterContent = async (content: string): Promise<FilterResult> => {   // Use a service like OpenAI Moderation, Perspective API, or custom ML   const response = await fetch('https://api.example.com/moderate', {
  • Network accessline 231
    // Use a service like OpenAI Moderation, Perspective API, or custom ML   const response = await fetch('https://api.example.com/moderate', {     method: 'POST',
  • Network accessline 232
    const response = await fetch('https://api.example.com/moderate', {
  • Network accessline 257
    // REQUIRED: Support contact - expose in app const SUPPORT_EMAIL = 'support@example.com'; const SUPPORT_URL = 'https://example.com/support';
  • Network accessline 259
    const SUPPORT_URL = 'https://example.com/support';
  • Network accessline 287
    App Review may request a physical-device recording as evidence after a 1.2 rejection, as in [this reported rejection](https://github.com/safaiyeh/app-store-review-skill/pull/24#issuecomment-6055102790). Provide it when requested; it is not 
  • Access to secretsline 676
    [Credential-related source omitted]
  • Access to secretsline 696
    [Credential-related source omitted]
  • Access to secretsline 697
    [Credential-related source omitted]
  • Access to secretsline 703
    [Credential-related source omitted]
  • Access to secretsline 706
    [Credential-related source omitted]
  • Access to secretsline 708
    [Credential-related source omitted]
  • Access to secretsline 712
    [Credential-related source omitted]
  • Access to secretsline 722
    [Credential-related source omitted]
  • Access to secretsline 726
    [Credential-related source omitted]
  • Network accessline 735
    // REQUIRED: HTTPS for all network requests // Ensure no HTTP endpoints in your app // Check fetch() calls, axios baseURL, etc.
  • Network accessline 736
    // Ensure no HTTP endpoints in your app // Check fetch() calls, axios baseURL, etc. const api = axios.create({
  • Network accessline 737
    // Check fetch() calls, axios baseURL, etc.
  • Network accessline 738
    const api = axios.create({   baseURL: 'https://api.example.com', // Must be HTTPS });
  • Network accessline 739
    baseURL: 'https://api.example.com', // Must be HTTPS
  • Access to secretsline 762
    [Credential-related source omitted]

rules/2-performance.md

  • Network accessline 23
    **Logging:** Routine production diagnostics are not a rejection issue by themselves. Flag exposed tokens, credentials, or personal information under [1.6 Data Security](1-safety.md#16-data-security) / [5.1 Privacy](5-legal.md#51-privacy), a
  • Network accessline 355
    Inspect the supplied asset files or App Store Connect metadata. If unavailable, identify the assets requiring verification. See [Apple's asset best practices](https://developer.apple.com/app-store/asset-best-practices/).
  • Network accessline 464
    Do not flag `GCSupportsControllerUserInteraction = false` alone as "the wrong controller key," lack of game controller support, or a violation of 2.4.3 or 2.3.1. [Issue #14](https://github.com/safaiyeh/app-store-review-skill/issues/14) repo
  • Network accessline 466
    Check App Store metadata separately. If it omits or contradicts the controller requirement, flag the disclosure under [2.4.3](https://developer.apple.com/app-store/review/guidelines/#hardware-compatibility) and recommend correcting the meta
  • Network accessline 470
    [`GCRequiresControllerUserInteraction`](https://developer.apple.com/documentation/bundleresources/information-property-list/gcrequirescontrolleruserinteraction) is a **dictionary**, with only the documented platform keys below. Do not recom
  • Network accessline 617
    // FLAG: Executing downloaded JavaScript const downloadedCode = await fetch('https://example.com/code.js');
  • Network accessline 618
    const downloadedCode = await fetch('https://example.com/code.js');
  • Dangerous shell operationline 619
    eval(downloadedCode); // REJECTION
  • Network accessline 708
    // ❌ BAD: Hardcoded IPv4 addresses const API_URL = 'http://192.168.1.1:3000'; // REJECTION RISK
  • Network accessline 709
    const API_URL = 'http://192.168.1.1:3000'; // REJECTION RISK
  • Network accessline 711
    // ✅ GOOD: Use hostnames const API_URL = 'https://api.example.com';
  • Network accessline 712
    const API_URL = 'https://api.example.com';
  • Network accessline 714
    // Check all fetch() calls and API configurations
  • Network accessline 715
    const api = axios.create({   baseURL: 'https://api.example.com', // Hostname, not IP });
  • Network accessline 716
    baseURL: 'https://api.example.com', // Hostname, not IP
  • Network accessline 744
    const MyWebView = () => (   <WebView     source={{ uri: 'https://example.com' }}
  • Network accessline 745
    <WebView     source={{ uri: 'https://example.com' }}     // Uses WKWebView on iOS - compliant!
  • Network accessline 746
    source={{ uri: 'https://example.com' }}
  • Access to secretsline 912
    [Credential-related source omitted]

rules/3-business.md

  • Access to secretsline 59
    [Credential-related source omitted]
  • Network accessline 73
    const purchasePremiumFeatureBad = () => {   // REJECTION for digital content!   Linking.openURL('https://stripe.com/checkout');
  • Network accessline 74
    // REJECTION for digital content!   Linking.openURL('https://stripe.com/checkout');   Linking.openURL('https://paypal.com/checkout');
  • Network accessline 75
    Linking.openURL('https://stripe.com/checkout');
  • Network accessline 76
    Linking.openURL('https://paypal.com/checkout');
  • Network accessline 80
    const purchasePhysicalProduct = () => {   // Physical goods CAN use external payment   Linking.openURL('https://yourstore.com/checkout');
  • Network accessline 81
    // Physical goods CAN use external payment   Linking.openURL('https://yourstore.com/checkout'); };
  • Network accessline 82
    Linking.openURL('https://yourstore.com/checkout');
  • Network accessline 192
    Apple's [October 16, 2026 update](https://developer.apple.com/news/?id=92th7e5i) incorporates Music Streaming Services Entitlements into the StoreKit External Purchase Link guidance. Verify the current [external purchase documentation](http
  • Access to secretsline 493
    [Credential-related source omitted]

rules/4-design.md

  • Network accessline 38
    // ❌ BAD: Pure WebView wrapper (REJECTION) const App = () => (   <WebView source={{ uri: 'https://mywebsite.com' }} />
  • Network accessline 39
    const App = () => (   <WebView source={{ uri: 'https://mywebsite.com' }} /> );
  • Network accessline 40
    <WebView source={{ uri: 'https://mywebsite.com' }} />
  • Network accessline 44
    const App = () => (   <SafeAreaView>     <WebView source={{ uri: 'https://mywebsite.com' }} />
  • Network accessline 45
    <SafeAreaView>     <WebView source={{ uri: 'https://mywebsite.com' }} />   </SafeAreaView>
  • Network accessline 46
    <WebView source={{ uri: 'https://mywebsite.com' }} />
  • Network accessline 69
    <View>       <NativeHeader />       <WebView source={{ uri: 'https://mywebsite.com' }} />
  • Network accessline 70
    <NativeHeader />       <WebView source={{ uri: 'https://mywebsite.com' }} />       <NativeTabBar />
  • Network accessline 71
    <WebView source={{ uri: 'https://mywebsite.com' }} />

rules/5-legal.md

  • Network accessline 9
    - [ ] Apps must comply with ALL legal requirements in any location where they are made available — it's the developer's obligation to understand and conform to local laws - [ ] Apps that solicit, promote, or encourage criminal or clearly re
  • Network accessline 11
    - [ ] Apps facilitating human trafficking or exploitation of children, including child sexual abuse material, trigger notification of appropriate authorities, App Store removal, and a block from alternative distribution (see Apple's [Octobe
  • Network accessline 297
    Apple's [privacy guidance for pre-alert screens](https://developer.apple.com/design/human-interface-guidelines/privacy#Pre-alert-screens-windows-or-views) requires a single action that opens the system permission alert. A neutral "Continue"
  • Network accessline 342
    Apple's [account deletion guidance](https://developer.apple.com/support/offering-account-deletion-in-your-app/) permits direct web completion and reasonable identity verification or confirmation steps. Apps outside highly regulated industri
  • Access to secretsline 385
    [Credential-related source omitted]
  • Network accessline 412
    // This page lets the user complete deletion, with reauthentication if needed const deleteAccountOnWeb = () => {   return Linking.openURL('https://example.com/delete-account');
  • Network accessline 413
    const deleteAccountOnWeb = () => {   return Linking.openURL('https://example.com/delete-account'); };
  • Network accessline 414
    return Linking.openURL('https://example.com/delete-account');
  • Network accessline 417
    // ❌ BAD: The destination only gives instructions, with no deletion flow const openDeletionInstructions = () => {   return Linking.openURL('https://example.com/help/delete-account');
  • Network accessline 418
    const openDeletionInstructions = () => {   return Linking.openURL('https://example.com/help/delete-account'); };
  • Network accessline 419
    return Linking.openURL('https://example.com/help/delete-account');
  • Network accessline 454
    **When ATT applies:** [Apple defines tracking](https://developer.apple.com/app-store/user-privacy-and-data-use/) as linking app user/device data with data from other companies' apps, websites, or offline properties for targeted advertising 
  • Access to secretsline 796
    [Credential-related source omitted]
  • Access to secretsline 822
    [Credential-related source omitted]
  • Access to secretsline 859
    [Credential-related source omitted]
  • Access to secretsline 861
    [Credential-related source omitted]
  • Access to secretsline 862
    [Credential-related source omitted]
  • Network accessline 870
    <Button       title="Privacy Policy"       onPress={() => Linking.openURL('https://example.com/privacy')}
  • Network accessline 871
    title="Privacy Policy"       onPress={() => Linking.openURL('https://example.com/privacy')}     />
  • Network accessline 872
    onPress={() => Linking.openURL('https://example.com/privacy')}

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 143 facts
  • Network access in prose of documentationREADME.md:7Low confidence
  • Network access in prose of documentationREADME.md:42Low confidence
  • Network access in prose of documentationREADME.md:43Low confidence
  • Network access in prose of documentationREADME.md:44Low confidence
  • Network access in prose of documentationREADME.md:45Low confidence
  • Network access in prose of documentationREADME.md:76Low confidence
  • Access to secrets in prose of documentationREADME.md:168Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:16Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:16Low confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:77High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:77High confidence
  • Network access in code of the SKILL.mdSKILL.md:79High confidence
  • Network access in code of the SKILL.mdSKILL.md:79High confidence
  • Network access in code of the SKILL.mdSKILL.md:80High confidence
  • Network access in code of the SKILL.mdSKILL.md:80High confidence
  • Dangerous shell operation in code of the SKILL.mdSKILL.md:83High confidence
  • Dangerous shell operation in code of the SKILL.mdSKILL.md:83High confidence
  • Network access in code of the SKILL.mdSKILL.md:112High confidence
  • Network access in code of the SKILL.mdSKILL.md:112High confidence
  • Network access in code of the SKILL.mdSKILL.md:113High confidence
  • Network access in code of the SKILL.mdSKILL.md:113High confidence
  • Network access in code of the SKILL.mdSKILL.md:115High confidence
  • Network access in code of the SKILL.mdSKILL.md:115High confidence
  • Network access in code of the SKILL.mdSKILL.md:143High confidence
  • Network access in code of the SKILL.mdSKILL.md:143High confidence
  • Network access in code of the SKILL.mdSKILL.md:144High confidence
  • Network access in code of the SKILL.mdSKILL.md:144High confidence
  • Network access in prose of the SKILL.mdSKILL.md:255Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:255Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:256Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:256Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:257Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:257Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:266Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:266Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:267Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:267Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:268Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:268Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:269Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:269Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:270Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:270Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:271Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:271Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:272Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:272Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:273Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:273Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:274Low confidence

and 93 more

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativeManifest .claude-plugin/marketplace.json.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.