No "beta," "test," "preview," or pre-release language visible in the production build
Why it matters
Apple guideline 2.1 requires that submitted apps be complete and production-ready — 'Beta Features' tab labels, '0.9.x' version numbers, and visible debug overlays signal to reviewers that the app is not ready for the store. This is one of the most mechanical rejection causes: automated pre-review scanning flags 0.x version numbers and common pre-release strings before a human reviewer sees the app. The allowFontScaling={false} anti-pattern from AI code generation frequently co-occurs with beta labels for the same reason: the AI scaffolds placeholder-quality code that ships to review without cleanup.
Severity rationale
Low because pre-release language is easy to remove once identified and causes no user harm — but it wastes a full submission cycle and, if repeated, trains the reviewer team to scrutinize future submissions more aggressively.
Remediation
Update the app version to 1.0.0 or higher in app.json before first submission:
// app.json
{
"expo": {
"version": "1.0.0",
"ios": { "buildNumber": "1" },
"android": { "versionCode": 1 }
}
}
Search for pre-release labels: grep -r '"Beta"\|"Alpha"\|"Preview"\|"Staging"' src/ --include="*.tsx". Gate all debug components behind __DEV__:
// Correct — invisible in release builds
{__DEV__ && <DebugPanel />}
Flutter: set debugShowCheckedModeBanner: false in MaterialApp. Remove any tab, navigation label, or screen title that contains 'Beta', '(Beta)', or 'Preview' — these strings are visible to reviewers and trigger rejection.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the App Store Policy & Content Compliance Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- external · apple-guideline-2.1 — App Store Review Guidelines 2.1 — App Completeness (no beta/test language)
- external · google-play-pre-registration — Google Play Developer Policy — App Completeness Requirements
Taxons
History
- 2026-04-18·v1.0.0·Initial import from app-store-policy-compliance·automated