Guideline 4.4.1
Guideline 4.4.1 - Design: Keyboard Extension Requiring Full Access Without Justification
Our Take
Apple is rejecting your custom keyboard extension because it requests Full Access (the 'Allow Full Access' toggle in Settings) without providing adequate justification for why it needs network connectivity. Full Access gives a keyboard extension the ability to transmit everything the user types to your servers — Apple understandably scrutinizes this carefully. When a keyboard requests Full Access, it gains access to the network, the shared container with the host app, and the ability to send keystroke data externally. Apple requires that you (1) clearly explain to users what data you collect and why, (2) have a visible privacy policy, and (3) actually need Full Access for a core feature — not just analytics or crash reporting. Legitimate reasons for Full Access include: cloud-based predictions or autocorrect (the keyboard needs to query your server), GIF/sticker search (needs network to fetch media), or cloud sync of learned words across devices. Illegitimate reasons: basic analytics, ad serving, or features that work fine without network access. The fastest compliant path is to either remove the Full Access requirement (if your keyboard can function without it) or provide clear in-app disclosure explaining exactly what data is transmitted, why it's necessary, and how it's protected.
Resolution Guide
Remove the Full Access requirement
Redesign your keyboard to function in the default sandboxed mode. On-device predictions, static sticker packs, and custom layouts don't need Full Access.
Move network features to the host app
If your keyboard has network-dependent features (GIF search, cloud sync), consider moving them to the main app and using the shared container to pass data to the keyboard.
### If your keyboard NEEDS Full Access:
Add an in-app privacy disclosure
Before the user enables Full Access, present a clear screen explaining: what data is collected (keystrokes, usage patterns, etc.), why it's needed (cloud predictions, GIF search), and how it's protected (encryption, retention policy).
Add a privacy policy
Include a detailed privacy policy accessible from within the app that covers keyboard data specifically.
Explain in Review Notes
Tell Apple exactly which feature requires Full Access and why it cannot work without network connectivity.
Minimize data collection
Only transmit what's necessary. If you need Full Access for GIF search, don't also log keystrokes.
Implement App Transport Security
All network communication from the keyboard must use HTTPS.
Prevention
Example Rejection Email
Consider Appealing
Appeal if your keyboard genuinely needs Full Access for a core feature and you've provided the required disclosures. Explain the specific technical reason (cloud predictions, media search, sync) and point to the in-app privacy disclosure. If Full Access is for analytics only, remove it and resubmit.
Before & After
Custom keyboard requests Full Access on first launch with no explanation of why network access is needed; keyboard only provides custom themes and emoji — features that don't require network access
Custom themes and emoji work without Full Access; GIF search (the one network-dependent feature) is offered as an optional upgrade with a clear privacy disclosure explaining that search queries are sent to the GIF API and no keystrokes are logged
What changed: Only request Full Access for features that genuinely need network connectivity, and always explain to users exactly what data is transmitted.
Community Solutions · 0
Sign in to share your solution.
More Guideline 4 (Design) rejections
- Guideline 4.0 - Design: App Does Not Include iOS Features
- Guideline 4.0 - Design: App Looks Like a Website
- Guideline 4.0 - Design: Apple Pay Button Not Following Guidelines
- Guideline 4.0 - Design: Blurry Icons or Low-Resolution Assets
- Guideline 4.0 - Design: Broken Layout on iPad
- Guideline 4.0 - Design: Content Clipped by Notch or Safe Area