Apple App Review Guideline 2.1 (App Completeness) and Google Play's Minimum Viable Product policy both reject submissions containing lorem ipsum, TODO markers, or Coming soon placeholders on sight. Reviewers open the app as a real user, navigate to every tab, and flag unfinished copy within minutes. A single rejection costs 1–3 days per review cycle, burns reviewer goodwill on future submissions, and blocks marketing launches already committed to press, paid acquisition, or investor demos.
High because a single placeholder string triggers automatic rejection and delays launch by multiple review cycles.
Run a repo-wide search for lorem ipsum, TODO:, FIXME:, coming soon, placeholder, and under construction across src/, screens/, components/, pages/, and app/. Replace each hit with shipped copy, or remove the unfinished route from the navigator entirely. For features genuinely not ready, feature-flag them off for production builds:
if (Config.FEATURE_PROFILE_V2) {
return <ProfileScreen />;
}
return null;
ID: app-store-review-blockers.completeness-stability.no-placeholder-content
Severity: high
What to look for: Count all relevant instances and enumerate each. Search all source files under src/, screens/, components/, pages/, app/ (Expo Router) and template/view files for these patterns (case-insensitive): lorem ipsum, coming soon, under construction, placeholder, TODO:, FIXME:, [Coming Soon], Test Screen, Sample Data, dummy content, fill in later, replace this, not implemented yet. Also check hardcoded string literals in JSX/TSX, Flutter widgets, Swift views, and Kotlin composables. In React Native, look for <Text>TODO</Text>, <Text>Coming soon</Text>, or similar patterns in .tsx, .jsx, .dart, .swift, .kt files.
Pass criteria: No placeholder text, lorem ipsum, "coming soon" copy, or obviously unfinished UI copy is visible in source files that would be rendered to the user. At least 1 implementation must be verified. A partial or placeholder implementation does not count as pass. Report the count even on pass.
Fail criteria: Any instance of lorem ipsum, TODO labels, "Coming soon" banners, placeholder copy, or stub screens that render readable incomplete text.
Skip (N/A) when: Never — placeholder content always needs to be evaluated.
Detail on fail: Cite the specific file and string. Example: "Placeholder text found in src/screens/ProfileScreen.tsx: 'Coming soon — this feature is under construction'" or "Lorem ipsum in src/components/OnboardingCard.tsx at render output"
Remediation: Apple and Google reviewers use the app as a real user and will reject immediately upon finding placeholder content. Before submitting:
Review the configuration in src/ or app/ directory for implementation patterns.