App Store Social Media Age Rating Is Now Required: What iOS and Flutter Apps Need
Apple's new social media declaration is now part of App Store submission readiness in September 2026. When submitting a new app or update, developers must indicate whether the app includes social media capabilities. Apple defines those capabilities more broadly than a traditional "social network": redistributing, amplifying, or interacting with user-generated content through a social feed or similar discovery experience can qualify.
If you declare social media capabilities, Apple says the app receives a minimum 13+ age rating and a Social Media content descriptor. There is a narrower path for apps that disable social media for users under 13, but Apple requires the Declared Age Range API at minimum to enforce that distinction.
The practical job is therefore:
Audit features
→ classify social media correctly
→ update App Store Connect
→ decide whether under-13 access exists
→ implement age-aware gating if required
→ test the real feature boundaryThis guide explains that workflow for native iOS and Flutter teams.
What changed in September 2026?
Apple added social media questions to the App Store Connect age rating questionnaire in July 2026 and said responses would become required starting September 2026.
Apple's current What's New for the App Store says developers must indicate whether an app or game includes social media capabilities when submitting:
- new apps
- new versions or updates to the App Store
- apps for notarization for alternative marketplace distribution
Apple's July 9 developer announcement says the questions are already available in App Store Connect and become mandatory for submission beginning in September 2026.
This is primarily a metadata and product-behaviour requirement, not a new SDK-minimum deadline.
A team can therefore be blocked or misclassified even when the application builds perfectly.
What does Apple mean by "social media"?
Apple's definition is more useful than the product category label.
Apple's age rating definitions describe Social Media as the redistribution, amplification, or interaction with user-generated content through a social feed or similar discovery method that visibly spreads content to many users.
Examples can include experiences where users:
- view a feed of user-generated posts
- like or react to user content
- comment on user content
- share or repost user content
- amplify user content
- discover user-generated content through community/search/feed surfaces
The key concept is not whether your app calls itself a social network.
It is whether the product allows user-generated content to be distributed and socially amplified or interacted with through discovery-style surfaces.
That can capture products such as:
community marketplace
fitness app with public activity feed
creator platform
dating app with discoverable public posts
gaming community
local neighbourhood app
photo/video sharing feature
professional community feedeven when "social media" is not the app's primary business category.
User-generated content is not automatically the same as social media
This distinction matters.
Apple separately defines User-Generated Content as broadly distributed content created by users, including text, photos, video, or audio.
Apple also separately defines Messaging and Chat as direct communication between users, such as text, voice/video chat, direct or group messages, or public posting.
So three concepts can overlap without being identical:
| Capability | Simplified meaning |
|---|---|
| User-Generated Content | Users create content that forms part of the app experience |
| Messaging and Chat | Users communicate directly through app features |
| Social Media | UGC is redistributed, amplified or interacted with through feed/discovery mechanisms |
A private support chat is not automatically a social feed.
A private messaging app may have different questionnaire implications from an app where users browse, like, comment on and repost public content.
Likewise, a review feature is not necessarily identical to a full social feed simply because users write text.
The feature behaviour matters.
A practical social-media classification test
Before answering the questionnaire, inventory the product instead of relying on the app's marketing category.
Ask these questions.
1. Can users create content?
Examples:
- posts
- photos
- videos
- reviews
- comments
- listings
- activity updates
- public profiles
If no, the social-media question may be straightforward.
If yes, continue.
2. Can other users discover that content through a feed, community, search, recommendation, or similar surface?
If the only viewer is the author or a tightly defined private recipient, that looks different from broadly discoverable content.
3. Can users interact with or amplify the content?
Look for:
- likes
- reactions
- comments
- shares
- reposts
- follows
- views that influence visibility
- ranking/recommendation signals
4. Does the feature visibly spread content to many users?
This is central to Apple's social-media definition.
A useful internal decision tree is:
User creates content?
↓ yes
Other users discover it broadly?
↓ yes
Can users interact with / amplify it?
↓ yes
Likely social-media capability
↓
Review App Store declarationThis is a product-classification aid, not a substitute for Apple's current questionnaire or legal advice.
What happens if you declare social media capabilities?
Apple says an app that declares social media capabilities will:
- be placed in the Social Media Time Allowance category
- receive a minimum age rating of 13+
- display a new Social Media content descriptor on its App Store product page
The Time Allowance category is part of Apple's newer parental-control framework for iOS 27, iPadOS 27 and macOS 27 or later.
The important commercial implication is that the answer is not invisible metadata.
It can affect:
- the displayed age rating
- parental controls
- product-page descriptors
- how the app is categorized for time allowances
- the experience available to younger users
So product, engineering and App Store operations should agree on the answer.
Do not leave it as a last-minute form completed by whoever happens to upload the build.
Does every social app become 13+?
If you declare normal social media capabilities, Apple's current guidance says the app receives a minimum 13+ rating.
There is an alternative declaration for:
Social Media Disabled for Users Under 13
Apple's age-rating definitions say this means users under 13 do not have access to the social-media capabilities, the app calls the Declared Age Range API at minimum before enabling those features, and only age-appropriate UGC is delivered.
That creates two broad architectures.
Architecture A: social media available to the app population
App includes social capability
↓
Declare Social Media
↓
Minimum 13+ ratingArchitecture B: app may serve younger users, but social media is blocked under 13
App has general features for younger users
↓
Declared Age Range check
↓
Under 13
→ no social-media capability
→ age-appropriate UGC only
13+
→ social-media capability can be enabledArchitecture B is not a metadata trick.
The application must actually enforce the feature boundary.
When is the Declared Age Range API required for this App Store path?
Apple's current guidance is explicit: if you declare that social media capabilities are disabled for users under 13, you need to use the Declared Age Range API at a minimum to check users' age ranges.
Apple's Declared Age Range documentation says the API lets an app request an age range without asking for an exact birthdate.
The app defines age gates, such as:
13
16
18and receives an age range rather than a precise age.
Depending on region/account context, the API can provide:
- a shared age range
- an indication that sharing was declined in applicable scenarios
- parental-control information
- information about the age-range declaration source
- regulatory-feature signals
For the social-media-under-13 path, the product needs a reliable decision around the 13-year gate.
Do not ask for an exact birthdate just because you need a 13+ gate
If the product question is:
Is this user below 13 or at least 13?
then collecting a full date of birth can create more personal data than the feature needs.
Apple's Declared Age Range framework is deliberately range-based.
A product policy can operate on:
under 13
13+without storing:
2009-04-17unless another legitimate requirement needs that exact date.
This is useful privacy design even when the implementation team is not trying to optimise for a compliance checkbox.
A native iOS architecture for social-media gating
Keep age assurance separate from the social feature implementation.
Conceptually:
Declared Age Range API
↓
AgePolicyService
↓
FeaturePolicy
↓
Social feed / posting / sharing / commentsDo not scatter raw API response checks throughout view controllers.
A simple application-domain model can look like:
enum SocialAccess {
case allowed
case restrictedForAge
case unavailable
case needsResolution
}Then one policy service interprets Apple signals and product rules.
The feed screen asks:
Can this user access social capabilities?rather than knowing every detail of the age-assurance API.
This gives you a single place to update when platform or regional rules evolve.
A simplified Declared Age Range request
Apple's current documentation uses __INLINE_CODE_0__ from the __INLINE_CODE_1__ framework.
A simplified example for a 13-year gate:
import DeclaredAgeRange
import UIKit
func socialAccess(
presentingFrom viewController: UIViewController
) async throws -> Bool {
let response = try await AgeRangeService.shared.requestAgeRange(
ageGates: 13,
in: viewController
)
switch response {
case let .sharing(ageRange):
guard let lowerBound = ageRange.lowerBound else {
// Below the lowest requested age gate.
return false
}
return lowerBound >= 13
case .declinedSharing:
// Apply your documented fallback policy.
return false
}
}This example is intentionally small.
A production implementation should also account for:
- platform availability
- regional eligibility
- regulatory features
- parental controls
- errors/unavailability
- policy on declined sharing
- server-side feature enforcement where necessary
Do not copy one Swift snippet into production and call the age architecture finished.
Check whether age-related regulatory features apply
Apple's current documentation includes __INLINE_CODE_0__ and __INLINE_CODE_1__ to help apps understand whether age-related regulatory behaviours apply to the person using the app.
That matters because age assurance is increasingly region-dependent.
A robust policy layer can distinguish:
Platform age features available?
↓
Regulatory features required?
↓
Age range required/shared?
↓
Product age gate
↓
Feature accessDo not assume one global behaviour covers every region forever.
Apple's age assurance developer Q&A explicitly tells developers to evaluate applicable legal obligations and notes that framework availability and required behaviours can vary by region.
What should happen if age sharing is declined?
There is no universal answer for every app.
For the specific App Store declaration where you claim social media is disabled for users under 13, your fallback should not accidentally enable the social feature when the application cannot establish that the user meets the gate.
A conservative product policy might be:
13+ established
→ social feature enabled
Below 13
→ social feature disabled
Age unavailable / declined
→ social feature remains disabled
→ general non-social experience continues where appropriateBut the exact behaviour depends on:
- applicable law
- product design
- account model
- regional requirements
- Apple's current platform behaviour
The important engineering principle is that __INLINE_CODE_0__ should be its own state.
Avoid:
unknown age
→ assume adultunless you have a defensible requirement that explicitly supports that behaviour.
"Social media disabled under 13" must be a real feature boundary
A cosmetic UI hide is not enough when backend APIs still allow the same social actions.
Bad:
if under13:
hide Feed tabwhile these endpoints still work:
POST /posts
POST /comments
POST /likes
GET /discoverA stronger design is:
Age policy
↓
Trusted account/session policy
↓
Backend authorization
↓
Social endpointsFor consequential restrictions, enforce both:
- user experience in the app
- authorization in the backend
This matters especially when the same account can use multiple devices or clients.
Define what "social capability" means in your own product
Do not use one vague flag such as:
socialEnabled = falseif the product contains several independent capabilities.
A more useful policy matrix is:
| Capability | Under 13 | 13+ |
|---|---|---|
| Browse general curated content | Product decision | Product decision |
| Public social feed | Restricted | Available |
| Create public posts | Restricted | Available |
| Like/react | Restricted | Available |
| Comment publicly | Restricted | Available |
| Repost/share user content | Restricted | Available |
| Direct messaging | Separate policy | Separate policy |
| Private family/friend content | Separate policy | Separate policy |
Apple's social-media declaration and your broader safety policy are related, but they are not necessarily identical.
A direct-message feature, for example, should be evaluated under the questionnaire's separate messaging/chat concepts as well as your own safety controls.
What should Flutter apps do?
Flutter apps still need to satisfy Apple platform requirements.
If your Flutter plugin ecosystem does not yet expose the Declared Age Range API in the exact way your product needs, keep the native Apple integration behind a platform boundary.
A clean architecture is:
Flutter widgets
↓
AgePolicyService (Dart)
↓
Platform interface
↓
iOS implementation
↓
DeclaredAgeRange frameworkThe Dart layer can expose product states:
enum SocialAccess {
allowed,
restrictedForAge,
unavailable,
needsResolution,
}The Flutter UI consumes __INLINE_CODE_0__.
It does not need to know Apple's native enum names.
That gives you two advantages:
- the iOS implementation can change without rewriting the product UI
- Android can later use its own age-signal adapter behind the same product policy
This is particularly useful for cross-platform apps because Google Play and Apple now expose different age-assurance mechanisms.
Do not force Android and iOS into one raw age API
A cross-platform app should share policy, not pretend the platform APIs are identical.
Good:
Product Age Policy
↓
SocialAccess decision
↙ ↘
Apple adapter Android adapter
Declared Age Range Play age signalWeak:
one generic "ageResponse" object
containing every field from both SDKsThe app's domain should care about questions such as:
May this user access social discovery?
Does this feature require parental approval?
Is age status unresolved?not whether one platform called the field __INLINE_CODE_0__ and another used a different enum.
Does a login birthday replace Declared Age Range?
Not for Apple's specific "social media disabled for users under 13" declaration if Apple says the Declared Age Range API must be used at minimum.
Your own account birthday can still have product or legal uses.
But do not assume:
We already ask DOB at signup
→ no need to integrate Apple's APIwhen choosing an App Store declaration that explicitly references the platform API.
Treat the App Store questionnaire choice and your internal account system as separate requirements that must be reconciled.
How should you test the under-13 path?
Apple provides age-assurance sandbox testing.
The current sandbox documentation says developers can test age-range scenarios, location-related restrictions, approval-state changes, and consent revocation.
Your test plan should include more than one successful 13+ response.
Test:
Under 13
Expected:
Social feed unavailable
Posting unavailable
Social interactions unavailable
Backend rejects restricted actions
General allowed experience remains usable13+
Expected:
Social features enabled according to product policyAge unavailable or declined
Expected:
Explicit fallback
No accidental adult defaultParental-control change
Expected:
App reacts to the current platform signal/policyExisting logged-in account
Expected:
Old account does not bypass a newly introduced social gateMulti-device account
Expected:
Server-side policy and client state stay consistentA submission can pass metadata review while the real product enforcement remains fragile.
Test the feature boundary.
Review existing apps before the next update
Because the declaration is required when submitting new versions or updates, a maintained app can discover the issue during an otherwise unrelated release.
Create an inventory now.
For every iOS/iPadOS app, record:
App
Social/UGC features
Messaging features
Public feed/discovery?
Likes/comments/shares?
Under-13 audience?
Current age rating
Questionnaire reviewed?
Declared Age Range needed?
Engineering change required?This is especially important for white-label or older apps.
A small community feature added years ago may now matter even if the current release only changes analytics or fixes a crash.
Product teams should review ambiguous features with concrete screenshots
Do not debate "Are we a social app?" in the abstract.
Open the product and classify actual surfaces.
For example:
Screen: Community
- public posts? yes
- discovery feed? yes
- comments? yes
- likes? yes
- share/repost? noThat is far more useful than:
"We are mainly a fitness app."Apple's definition is capability-based, not marketing-positioning-based.
What if you do not serve users under 13?
Then the product may not need the more complex "social media disabled under 13" architecture merely to achieve a lower rating.
If social media exists and your app is genuinely for users 13+, declaring the capability and accepting the corresponding minimum rating may be the simpler and more accurate design.
Do not implement an age-gating subsystem solely to manufacture a lower App Store rating if the product does not actually need an under-13 experience.
The decision should follow the product audience:
Real audience 13+?
→ Declare accurately
→ Keep architecture simpler
Meaningful under-13 experience?
→ Separate social capability
→ Implement age-aware gating correctlyThe minimum age rating is not the only rating input
Declaring social media can establish a minimum 13+ rating, but the overall age rating questionnaire contains other content descriptors and capabilities.
An app can receive a higher rating due to other content.
Apple's current age-rating system includes region-specific differences as well.
For example, Apple's age rating definitions show that Australia can display different region-specific ratings for certain capabilities.
So avoid this assumption:
Social media = exactly 13+ everywhereA better statement is:
Social media can establish a minimum rating under Apple's global framework, while other questionnaire answers and region-specific requirements can result in different or higher displayed ratings.
Check App Store Connect's actual calculated ratings after updating the questionnaire.
Does changing the questionnaire automatically change your app code?
No.
App Store Connect metadata cannot enforce your social-media feature boundary.
If you select:
Social Media Disabled for Users Under 13the development team needs to ensure the product actually matches that declaration.
This is a useful release-management pattern:
App Store declaration
↓
Product requirement
↓
Engineering acceptance criteria
↓
Test cases
↓
Release evidenceTreat the declaration as part of the product specification.
A release checklist for September 2026
Before the next App Store submission:
- □Open the current age rating questionnaire in App Store Connect.
- □Inventory UGC, feed, discovery, likes, comments, shares and reposting.
- □Separate social media from messaging/chat and other UGC concepts.
- □Decide whether the app genuinely contains social media capabilities.
- □Confirm whether the product is intended to support users under 13.
- □If social media is available normally, accept the resulting rating implications.
- □If social media is disabled under 13, integrate the Declared Age Range API at minimum.
- □Define an explicit unknown/declined-age fallback.
- □Enforce important social restrictions server-side as well as in UI.
- □Test under-13, 13+, unavailable and changed-state scenarios.
- □Re-check the calculated global and region-specific age ratings.
- □Verify the Social Media descriptor shown by the App Store configuration.
- □Document the questionnaire decision so future release managers do not guess.
Common mistakes
Mistake 1: "We are not a social-network company, so we answer No"
The questionnaire is based on capabilities, not your company category.
Audit feeds and UGC interactions.
Mistake 2: Treating any UGC as automatically social media
Apple has separate concepts for UGC, messaging/chat and social media.
Classify the actual feature behaviour.
Mistake 3: Selecting "disabled under 13" without implementing the platform age check
Apple's current definitions say the Declared Age Range API is required at minimum for that option.
Mistake 4: Hiding one tab but leaving social APIs available
Age restrictions should be enforced at the trusted authorization layer where the feature is consequential.
Mistake 5: Assuming unknown age means 13+
Model unknown/declined/unavailable separately.
Mistake 6: Collecting full birthdays unnecessarily
Use age ranges when a range is sufficient and platform requirements point toward range-based age assurance.
Mistake 7: Updating App Store metadata without testing existing accounts
Older users and stored sessions can bypass new UI assumptions unless the policy is applied consistently.
A decision matrix
| Product situation | Practical starting direction |
|---|---|
| No user-created/discoverable social content | Review questionnaire and declare accurately |
| Public UGC feed with likes/comments/shares | Strong social-media characteristics |
| Direct private messaging only | Review Messaging/Chat separately; do not assume it equals a social feed |
| Community/feed product intended only for 13+ | Declare social media; accept minimum-rating implications |
| General app serves under-13 users but social feed must be restricted | Use under-13 social restriction path + Declared Age Range |
| Flutter app with native API gap | Add an iOS platform adapter behind a Dart policy service |
| Feature restriction only exists in UI | Add backend enforcement where the action matters |
| Unsure because feature is ambiguous | Compare actual screens/interactions against Apple's current definitions |
FAQs
Is the App Store social media declaration required in September 2026?
Yes. Apple says that starting September 2026, developers must indicate whether an app or game includes social media capabilities to submit new apps or updates to the App Store or submit for notarization for alternative marketplace distribution.
What counts as social media under Apple's age rating questionnaire?
Apple describes social media as redistributing, amplifying, or interacting with user-generated content through a social feed or similar discovery method that visibly spreads content to many users. Likes, comments, shares, reposts and feed-style discovery are relevant examples.
Does social media automatically make an iOS app 13+?
Apple says apps that declare social media capabilities receive a minimum 13+ age rating. Other content or regional rules can result in different or higher ratings.
Can an app keep an under-13 audience and still have social features for older users?
Yes, Apple provides a declaration for Social Media Disabled for Users Under 13. For that path, Apple says the app must at minimum use the Declared Age Range API to check age ranges before enabling social capabilities for older users.
Does a Flutter app need the Apple Declared Age Range API?
If the Flutter app chooses an App Store path that requires the Declared Age Range API, using Flutter does not remove that platform requirement. Implement the Apple framework through an appropriate plugin or native platform integration and expose a product-level policy to Dart.
Is a private chat app automatically "social media"?
Not necessarily. Apple's questionnaire distinguishes Messaging and Chat from Social Media and User-Generated Content. Review whether the product redistributes/amplifies UGC through a social feed or similar discovery mechanism rather than classifying it only by the presence of communication.
Conclusion
Apple's September 2026 change is not simply a new checkbox.
It forces product teams to define what their social features actually are.
The correct sequence is:
Audit UGC and interaction features
↓
Classify social-media capability
↓
Update App Store Connect accurately
↓
13+ product?
→ declare social media
Under-13 product experience required?
→ disable social features below 13
→ use Declared Age Range
→ enforce the boundary in app + backendThe most important mistake to avoid is choosing a questionnaire answer that the product does not actually enforce.
For many apps, accepting a 13+ minimum rating is the cleanest design.
For apps that genuinely serve younger users, age-aware social gating becomes an application architecture concern, not just App Store metadata.
If your iOS or Flutter app needs age-aware feature gating, App Store migration work, or a backend that enforces social-access rules consistently across devices, Softotic's mobile app development service can handle the app integration, while custom software development can support the authorization and policy backend.
Sources and references
- Apple Developer: What's New on the App Store
- Apple Developer: Age rating questionnaire now includes social media questions
- App Store Connect Help: Age rating values and definitions
- App Store Connect Help: Set an app age rating
- Apple Developer: Requesting people's age range information in your app
- Apple Developer: Testing age assurance in sandbox