Reference library · App Review
Guideline 4.0 Design: the rejection for apps that work but feel broken
Apple's catch-all design rejection: no numbered rule broken, just an experience the reviewer says falls below what App Store users expect.
Guideline 4.04. Design · DesignApple text last updated June 8, 2026Checked against Apple's App Review Guidelines (last updated June 8, 2026), Apple's 2025 App Store Transparency Report, AuthenticationServices and Sign in with Apple documentation, and rejection messages posted on Apple Developer Forums, on Oct 9, 2026.
The short answer
“Guideline 4.0 - Design” is the label Apple uses when an app's experience falls below its design bar but no numbered sub-rule fits. The usual triggers are sign-in that opens Safari, screens that are crowded or cut off on iPad, text that's hard to read, few native iOS features, and asking for a name or email after Sign in with Apple. Most need a new build.
- Design rejections, 2025
- 415,532
- All of section 4, per Apple's Transparency Report
- 4.0 removals, 2025
- 72,271
- Second only to fraud; outdated-app cleanup
- Section 4 intro
- Unchanged since 2024
- Recent updates touched 4.1, 4.3, 4.5.3 and 4.7
- Usual fix
- A new build
- Layout, sign-in and text are in the binary
01What “4.0 Design” means
Section 4 of the guidelines has numbered rules — 4.1 Copycats, 4.2 Minimum Functionality, 4.3 Spam, 4.8 Login Services and more — and an introduction with no number. When a reviewer finds a design problem that isn't one of the numbered rules, the rejection cites “Guideline 4.0 - Design”, and the introduction is the rule you've broken:
Apple customers place a high value on products that are simple, refined, innovative, and easy to use, and that’s what we want to see on the App Store. Coming up with a great design is up to you, but the following are minimum standards for approval to the App Store.
That's why 4.0 rejections read differently from the rest. Instead of quoting a rule, they usually open with “We noticed an issue in your app that contributes to a lower-quality user experience than App Store users expect” and then name one specific thing. Fix that thing and the rejection goes away.
Design matters at scale. Apple's 2025 Transparency Report counts 415,532 rejections under its Design guidelines — out of 2,093,244 rejected submissions, though one submission can break several rules. It also lists “Guideline 4.0 - Design” as the reason for 72,271 app removals, which it calls “the result of ongoing cleanup for outdated apps.”
According to ASOitis, “Guideline 4.0 - Design” was the second most-cited reason Apple removed apps from the App Store in 2025 — 72,271 removals, behind only fraud — which Apple's Transparency Report attributes to ongoing cleanup of outdated apps.
02The five 4.0 messages indie apps get
| Problem | What App Review wrote | Fix |
|---|---|---|
| Sign-in opens Safari | “the user is taken to the default web browser to sign in or register for an account, which provides a poor user experience” | Sign in inside the app, or use an in-app web session |
| iPad layout | “crowded, laid out, or displayed in a way that made it difficult to use the app when reviewed on iPad” | Lay out for iPad screen sizes, or test the iPhone layout on iPad |
| Hard-to-read text | “Your app included hard to read type or typography.” | Fix contrast, especially in Dark Mode |
| No native features | “App Store apps should use native iOS buttons and include iOS features other than just web views” | Native navigation and controls — see Guideline 4.2 |
| Sign in with Apple follow-up | “requires users to provide their name and/or email address after using Sign in with Apple” | Don't ask again — see Guideline 4.8 |
03Sign-in that opens Safari
If tapping “Log in” or “Sign up” throws the user out to Safari, expect this rejection. Apple's message continues: “please revise your app to enable users to sign in or register for an account in the app. You may also choose to implement the Safari View Controller API to display web content within your app.”
For OAuth or a hosted login page, the better tool is ASWebAuthenticationSession, which Apple describes as “a session that an app uses to authenticate a user through a web service” — in iOS, “the browser is a secure, embedded web view.” The user stays in your app and the callback URL comes straight back to your code. In SwiftUI on iOS 17.4 and later:
import AuthenticationServices
import SwiftUI
struct HostedSignInButton: View {
@Environment(\.webAuthenticationSession) private var webAuthenticationSession
let onSignedIn: (URL) -> Void
var body: some View {
Button("Continue with your account") {
Task {
let authorizeURL = URL(string: "https://auth.example.com/authorize?client_id=YOUR_ID&redirect_uri=myapp://auth")!
do {
let callbackURL = try await webAuthenticationSession.authenticate(
using: authorizeURL,
callback: .customScheme("myapp"),
additionalHeaderFields: [:]
)
onSignedIn(callbackURL) // exchange the code in the URL for a session
} catch {
// Cancelled or failed — stay on the sign-in screen.
}
}
}
}
}Older deployment targets can use ASWebAuthenticationSession(url:callbackURLScheme:completionHandler:) from UIKit. Either way, nothing about the account flow should require leaving the app — including password reset, if you can help it.
04iPad layout: tested even if you didn't design for it
Parts of the app's user interface were still crowded, laid out, or displayed in a way that made it difficult to use the app when reviewed on iPad Air (5th generation) running iPadOS 26.0. Specifically, when viewed on iPad, your app uses only a portion of the screen.
Reviewers test on iPad because Guideline 2.4.1 asks for it: “iPhone apps should run on iPad whenever possible.” If your app says it supports iPad, it has to use the whole screen properly. If it's iPhone-only, it still runs on iPad in compatibility mode, and anything that breaks there — clipped buttons, a keyboard covering the only field, a sheet you can't dismiss — can come back as a 4.0 or 2.1 App Completeness rejection.
Before you submit: the iPad pass
- Run the app on the largest and smallest iPad simulators, in both orientations
- If you declare iPad support, check it fills the screen — no phone-sized column in the middle
- Open every sheet, popover and keyboard-driven screen; make sure everything can be reached and dismissed
- Check Split View and Slide Over if your app allows multitasking
- Make sure purchases and sign-in work on iPad, not only on iPhone
05Hard-to-read text and Dark Mode
“Your app included hard to read type or typography” sounds like a font complaint. In the January 2025 case on Apple's forums, the cause was Dark Mode: the app didn't handle the system appearance properly, the reviewer's device was in Dark Mode, and text disappeared into the background. Fixing the Dark Mode handling got it approved.
- Use semantic colours (
Color.primary,.secondary,UIColor.label) or asset-catalog colours with dark variants, not hard-coded black and white. - If you force one appearance, force it everywhere — a light-only screen inside a dark app is where text vanishes.
- Test with larger text sizes. Dynamic Type at a bigger size shows truncated labels and overlapping layouts before a reviewer does.
06Asking again after Sign in with Apple
If you show a “complete your profile” screen asking for a name or email right after Sign in with Apple, you'll get: “Your app requires users to provide their name and/or email address after using Sign in with Apple. This information is already provided by the Authentication Services framework.” The trap is that Apple only sends the name once. Its documentation says the API shares the user's information “the first time the user logs in using Sign in with Apple” — after that, the name isn't included. Save it immediately:
func authorizationController(controller: ASAuthorizationController,
didCompleteWithAuthorization authorization: ASAuthorization) {
guard let credential = authorization.credential as? ASAuthorizationAppleIDCredential else { return }
// Only present on the first authorization — save it now, don't ask for it later.
if let name = credential.fullName, name.givenName != nil || name.familyName != nil {
let formatted = PersonNameComponentsFormatter().string(from: name)
AccountStore.shared.saveDisplayName(formatted)
}
if let email = credential.email {
AccountStore.shared.saveEmail(email) // may be a private relay address — accept it
}
}Our Guideline 4.8 page covers the rest of Sign in with Apple: when you're required to offer it, private relay emails and button design.
07Fixing a 4.0 rejection and replying
Find the one thing they named
4.0 messages end with “Specifically:” and a single issue. Fix exactly that first; don't redesign the app.
Reproduce it on their device
The message often names the device and OS, like “iPad Air (5th generation) running iPadOS 26.0”. Use that simulator, in the appearance and orientation they likely used.
Check the neighbours
If sign-in opened Safari, password reset probably does too. If one screen is crowded on iPad, check them all. Reviewers often stop at the first problem.
Upload a new build
Layout, sign-in and text styling live in the binary, so this isn't a metadata-only fix.
Reply with what changed and where
Name the build, the screens and how to reach them. A short screen recording helps for iPad and sign-in fixes.
Hello App Review team,
Thank you for the feedback on Guideline 4.0 - Design.
In build [number] we have:
- [Moved sign-in and registration into the app using
ASWebAuthenticationSession; users no longer leave the app.]
- [Rebuilt the [screen] layout for iPad; it now uses the full screen
in both orientations. Tested on iPad Air (5th generation), iPadOS 26.]
- [Fixed text colours in Dark Mode on [screens].]
To verify: [steps to reach the changed screens].
A screen recording is attached in App Review Information.
Thank you,
[Name]Keep shipping updates after approval too. The same introduction says “Apps that stop working or offer a degraded experience may be removed from the App Store at any time” — the clause behind those 72,271 removals.
Frequently asked questions
What is Guideline 4.0 Design?
It's the introduction to section 4 of the App Review Guidelines, which sets Apple's minimum design standard. Apple cites “Guideline 4.0 - Design” when an app's experience falls short but no numbered rule such as 4.1, 4.2 or 4.3 fits.
Why was my app rejected for opening the browser to sign in?
Apple treats sending users to the default browser to sign in or register as a poor user experience under Guideline 4.0. Sign users in inside the app, or use ASWebAuthenticationSession or SFSafariViewController so the web page opens within it.
My app is iPhone-only. Why was it rejected for its iPad layout?
Guideline 2.4.1 says iPhone apps should run on iPad whenever possible, and reviewers test there. If your app declares iPad support it must use the full screen properly; if not, it still has to work in compatibility mode on iPad.
Does a Guideline 4.0 rejection need a new build?
Almost always. The usual causes — sign-in flows, layouts, text colours — are in the app's code, unlike metadata rejections under Guideline 2.3, which you can often fix in App Store Connect and resubmit with the same build.
Can Guideline 4.0 get an existing app removed?
Yes. The guideline says apps that stop working or offer a degraded experience may be removed at any time, and Apple's 2025 Transparency Report lists 72,271 removals under “Guideline 4.0 - Design” as part of its cleanup of outdated apps.
Where to go next
- Guideline 4.8: Login ServicesWhen Sign in with Apple is required, and how not to break it.
- Guideline 4.2: Minimum FunctionalityThe rejection for web wrappers and thin apps.
- Guideline 2.1: App CompletenessCrashes and broken flows — often found on the same iPad test.
- The Review Check — $49Your build tested the reviewer's way before you submit.
Sources
- App Store Review Guidelines — 4. Design — Apple Developer
- App Store Transparency Report 2025 — Apple
- ASWebAuthenticationSession — Apple Developer Documentation
- Authenticating users with Sign in with Apple — Apple Developer Documentation
- Forum: 4.0 rejection for sign-in in the default browser — Apple Developer Forums
- Forum: crowded layout when reviewed on iPad — Apple Developer Forums
- Forum: hard-to-read type caused by Dark Mode — Apple Developer Forums
Published Oct 9, 2026 · last checked Oct 9, 2026. Found something out of date? Tell us and we'll fix it within a day. Machine-readable version: /app-review/guideline-4-0-design.md
Have it done for you
The Review Check
$49 one-time · Delivered in 2 business days
Send us your TestFlight build. We test it like App Review — on iPad, in Dark Mode, through sign-in — and give you the fix for every 4.0 risk before you submit.
- Written pass / fail read against the guidelines that actually reject indie apps — 3.1.1 in-app purchase, 5.1.1 data and privacy, account deletion, Sign in with Apple, privacy manifest and nutrition labels, subscription disclosure, metadata claims
- The exact fix for every flag, in the order to do them
- One re-check of the fixed build, included