App Store RejectionGuideline 1.2User Generated Content

Users can post in your app. Apple needs to know someone's watching.

Guideline 1.2 means any app where users can create and share content needs active moderation, a way to report abuse, and a Terms of Service that sets the rules — before Apple will approve it.

What Apple said

Your app enables users to post or share content but does not include adequate content moderation mechanisms, the ability for users to report offensive or inappropriate content, or a method to block abusive users. Apps with user-generated content must also include Terms of Use that address prohibited content and user conduct.

What this actually means

If your app has any feature where users can post text, photos, videos, reviews, comments, or any other public content — even something as simple as a public profile bio — you fall under Guideline 1.2. Apple requires a functioning content moderation system, a visible 'Report' mechanism on any piece of content, the ability to block other users, and a Terms of Service that clearly prohibits illegal, harmful, or abusive content.

What Apple needs to see

  • A visible, tappable 'Report' button accessible on every piece of user-generated content — posts, comments, profiles — that actually submits a report somewhere you can act on
  • A mechanism to block or mute another user, accessible from their profile or content
  • A Terms of Service that explicitly lists prohibited content categories (illegal content, harassment, hate speech, CSAM) and describes consequences for violations
  • Evidence of a moderation process — whether human review, automated filtering, or both — and the capability to remove content and ban users who violate your rules

The fix

Pass review in 60 seconds — no coding needed

BaseTerms generates and hosts all the compliance pages Apple requires. Copy your URL. Paste it into App Store Connect. Done.

  1. 1Add a Report button to every content item in your UI — a long-press context menu or a three-dot overflow menu is the standard pattern — and wire it up to submit a report record to your backend.
  2. 2Build a block/mute feature so users can prevent another account from interacting with them, and make it accessible from every user profile and content item.
  3. 3Go to BaseTerms and generate a Terms of Service for your app that includes sections on prohibited user content, your moderation rights, and account termination for violations, then host it at yourapp.baseterms.com/terms.
  4. 4Link to your Terms of Service from your App Store Connect metadata page, your app's settings screen, and your account creation flow so users must acknowledge it.
  5. 5Set up an admin view in your backend where you can review flagged content and take action — Apple may ask how you handle reports during review.
Generate my pages now — $9

One-time payment. No subscription. No renewal fees.

Common questions

My users only post content visible to themselves. Does 1.2 still apply?
Guideline 1.2 is specifically about content visible to other users. If posts, profiles, or content is only ever visible to the person who created it, you are likely outside the scope of 1.2. The moment another user can see someone else's content, the requirement kicks in.
What counts as a moderation 'system'? Do I need a full trust and safety team?
No. Apple isn't expecting a team of moderators for an indie app. What they want to see is that you have the technical capability to respond to reports — a queue you can view, the ability to delete content, and the ability to suspend or ban an account. Even a simple admin panel satisfies this for small-scale apps.
Do I need to proactively moderate or just respond to reports?
For most indie apps, reactive moderation — responding to user reports — is sufficient to satisfy 1.2. Proactive moderation (scanning content before it goes live) is a higher bar that Apple typically only enforces for large-scale platforms. Focus on having a working report flow and the ability to act on it.

Ready to pass review?

Generate all your compliance pages in 60 seconds.

Get started — $9