<!-- llms-explorer concept facts · https://llms-explorer.com/tree/guideline-2-3-accurate-metadata-and-4-2-minimum-functionality-and-hidden-feature-strings/ · pack 2026-10-02 · ~1299 tokens -->

# Guideline 2.3 accurate metadata and 4.2 minimum functionality and hidden-feature strings

> Source-anchored research for Guideline 2.3 accurate metadata and 4.2 minimum functionality and hidden-feature strings. Run status: COMPLETED.

Parent: [Mac App Store App Review Guidelines for Sandboxed Utilities](https://llms-explorer.com/tree/apple-app-review-mac-utility-guidelines/) · 6 facets · 9 facts · page: https://llms-explorer.com/tree/guideline-2-3-accurate-metadata-and-4-2-minimum-functionality-and-hidden-feature-strings/

## Definitions

- Feature flags are not banned outright. An Apple Developer Forums answer (Mar 2017) says a hidden feature is acceptable if App Review is told about it and given a way to exercise it, and that central features must not be hidden from review. A 2019 forum report describes a developer using flags to hide 17+ content in a 4+ app, which is the abuse 2.3.1(b) targets with Developer Program removal. This is community interpretation, not Apple policy text. (low confidence) — [source](https://developer.apple.com/forums/thread/72176)

## Structure and components

- Guideline 4.2 says an app should include features, content and UI that elevate it beyond a repackaged website; an app that is not particularly useful, unique or 'app-like' does not belong on the App Store, and an app lacking lasting entertainment value or adequate utility may be rejected. The sub-rules (4.2.1 ARKit, 4.2.2 catalogs/marketing/link collections, 4.2.3 standalone and download disclosure, 4.2.6 templates, 4.2.7 remote desktop) contain no Mac-specific or menu-bar rule. (medium confidence) (verified as of 2026-10-02) — [source](https://developer.apple.com/app-store/review/guidelines/)

## How it works

- Typical 2.3.1 triggers: OTA/remote code-update SDKs not declared in Notes for Review, debug menus or debug artifacts left in production builds, and feature flags or remote config that hide functionality from the reviewer. Reviewers judge the binary as shipped; the Resolution Center message rarely names the screen or code flagged. (medium confidence) (verified as of 2026-05-01) — [source](https://ptkd.com/journal/rejection-hidden-features-2-3-1)
- Fixes reported for 2.3.1: rewrite Notes for Review feature by feature (each mode, menu item, hidden preference or debug switch), strip debug routes from release configs, declare any OTA mechanism by name, provide access or demo accounts for gated surfaces, reply in the Resolution Center asking which surface was flagged, and resubmit with an incremented CFBundleVersion. Rewriting the store description alone is reported as the most wasted response. (medium confidence) — [source](https://ptkd.com/journal/rejection-hidden-features-2-3-1)

## Problems, failure modes and limitations

- Reported 4.2 rejection patterns are WebView wrappers, single-feature utilities that duplicate built-ins, marketing brochures, and unmaintained aggregators. Reviewers allegedly decide within about a minute whether the app feels native. Evidence is iOS-centric; no source found for a 4.2 rejection of a native menu-bar network monitor. A utility mitigates the risk with visible native UI, system integration and clear purpose in screenshots and Notes. (low confidence) — [source](https://appcompliance.io/blog/apple-guideline-4-2-minimum-functionality/)

## Comparisons and alternatives

- For repeated generic 4.2 rejections, Apple's forum reply (Nov 2025 thread) points to the one-on-one App Review consultation via Meet with Apple rather than more resubmissions. (low confidence) (verified as of 2025-11-01) — [source](https://developer.apple.com/forums/thread/806726)

## Facts and statements

- Guideline 2.3.1(a) forbids hidden, dormant or undocumented features; all new features, functionality and product changes must be described with specificity in Notes for Review in App Store Connect and be accessible for review. Generic descriptions will be rejected. (high confidence) (verified as of 2026-10-02) — [source](https://developer.apple.com/app-store/review/guidelines/)
- Guideline 2.3 opens by requiring that all metadata, including privacy information, description, screenshots and previews, accurately reflect the app's core experience and be kept up to date with new versions. 2.3.3 requires screenshots to show the app in use, not just title art, a login page or a splash screen. 2.3.12 requires 'What's New' text to describe significant changes; only bug fixes, security updates and performance improvements may use generic text. (medium confidence) (verified as of 2026-10-02) — [source](https://developer.apple.com/app-store/review/guidelines/)
- A bundled-Python string-scan rejection is cited under 2.5.2, not 2.3.1: Mac App Store apps containing the 'itms-services' string in Lib/urllib/parse.py (Python 3.12+) and its .pyc were auto-rejected with 'The app installed or launched executable code'. Removing the string fixed it, and CPython added a --with-app-store-compliance configure option. Details belong to the 2.5 sibling concept; do not diagnose such a rejection as a 2.3.1 hidden-feature issue. (low confidence) (verified as of 2026-10-02) — [source](https://github.com/python/cpython/issues/120522)
