[{"data":1,"prerenderedAt":130},["ShallowReactive",2],{"content:\u002Fguides\u002Fapp-store-guideline-1-2":3,"ArticleBody_7wVKZ9uVuNxlVtIy8EIE6NWgRZK9aefeQHx6za2Ps9s":125},{"kind":4,"path":5,"locale":6,"title":7,"htmlTitle":8,"description":9,"navTitle":7,"published":10,"updated":10,"alternates":11,"breadcrumbs":12,"indexable":20,"twin":21,"collection":22,"slug":23,"file":24,"content":25,"hub":18,"titleEm":27,"eyebrow":28,"lead":29,"cta":27,"faq":30,"faqJsonLd":49,"sources":56,"related":102,"topic":27,"jsonLdType":123,"blocks":124,"shortDefinition":27,"feed":20},"article","\u002Fguides\u002Fapp-store-guideline-1-2","en","How to fix an App Store Guideline 1.2 user-generated content rejection","App Store Guideline 1.2: Fix a UGC Rejection · Detectivision","Apple's Guideline 1.2 asks UGC apps for four things: filtering, reporting, blocking and contact details. How to fix each, and what to tell App Review.","2026-10-16T18:00:00+03:00",[],[13,16,19],{"name":14,"path":15},"Home","\u002F",{"name":17,"path":18},"Guides","\u002Fguides",{"name":7,"path":5},true,"\u002Fguides\u002Fapp-store-guideline-1-2.md","guides","app-store-guideline-1-2","content\u002Fen\u002Fguides\u002Fapp-store-guideline-1-2.md",{"collection":26,"path":5},"guides_en",null,"Guide","The four safeguards Apple asks for, what reviewers have asked for in recent rejections, code for the filtering part, and a reply you can adapt for App Review.",[31,34,37,40,43,46],{"q":32,"a":33},"Will a moderation API get my app through App Review?","No tool can promise that; App Review decides. A moderation API covers one of the four safeguards, the filtering. The report and block features, the contact details and the terms reviewers ask for are yours to build, and your reply to App Review should say where each one is.",{"q":35,"a":36},"Does Apple require AI moderation?","No. Guideline 1.2 asks for \"a method for filtering objectionable material from being posted to the app\" and does not say how. A word list, a person who checks each post before it goes live and an API are all ways to filter. Choose the one that keeps up with your volume and your users' languages.",{"q":38,"a":39},"Do I need to check images too?","If users can post images, yes. The guideline speaks of objectionable material, not only text, and a filter that reads captions misses what is in the picture. The image flags are hate, scam, sexual and violence (status, 16 Oct 2026). Video checks are coming soon.",{"q":41,"a":42},"Do I have to act on reports within 24 hours?","Guideline 1.2 asks for \"timely responses to concerns\" and gives no number. The 24 hours comes from App Review rejection messages that developers posted on Apple's forums in 2017, 2021 and 2025, which ask the developer to remove the content and eject the user within 24 hours. Plan for a person to work the queue every day.",{"q":44,"a":45},"How many credits does pre-post filtering use?","Text is counted in units of 2,500 characters, where a started unit counts, and each image is one unit. The price table on the Credits page of the docs gives the credits per unit for each mode; detect never costs more than the others. That table is the price of a result sent later by webhook; an answer your app waits for costs twice as much. Illustrative: 300 posts a day, each with a short text and one photo, make 300 text units and 300 image units a day.",{"q":47,"a":48},"Can a post go live first and be checked afterwards?","Apple's words are \"filtering objectionable material from being posted\", so check before other users can see a post. If a post can wait, save it as pending, send the check with \"async\": true and decide when the moderation.completed webhook arrives. That costs half as much as an answer your app waits for.",[50,51,52,53,54,55],{"q":32,"a":33},{"q":35,"a":36},{"q":38,"a":39},{"q":41,"a":42},{"q":44,"a":45},{"q":47,"a":48},[57,62,66,69,72,75,79,83,87,90,93,96,99],{"title":58,"url":59,"publisher":60,"accessed":61},"App Review Guidelines: 1.2 User-Generated Content, 1.2.1 Creator Content, 1.3 Kids Category, 1.5 Developer Information, 2.1 App Completeness, 4.7.1, 5.1.4 Kids (page last updated 8 June 2026)","https:\u002F\u002Fdeveloper.apple.com\u002Fapp-store\u002Freview\u002Fguidelines\u002F","Apple","2026-10-16",{"title":63,"url":64,"publisher":65,"accessed":61},"Guideline 1.2 - Safety - User-Generated Content (Apple Developer Forums thread 807358, rejection text posted by a developer, November 2025)","https:\u002F\u002Fdeveloper.apple.com\u002Fforums\u002Fthread\u002F807358","Apple Developer Forums",{"title":67,"url":68,"publisher":65,"accessed":61},"Unreasonable Rejection (Apple Developer Forums thread 805586, rejection text posted by a developer, October 2025)","https:\u002F\u002Fdeveloper.apple.com\u002Fforums\u002Fthread\u002F805586",{"title":70,"url":71,"publisher":65,"accessed":61},"Guideline 1.2 - Safety - User Generated Content (Apple Developer Forums thread 688227, rejection text posted by a developer, August 2021)","https:\u002F\u002Fdeveloper.apple.com\u002Fforums\u002Fthread\u002F688227",{"title":73,"url":74,"publisher":65,"accessed":61},"iOS App rejected: 1.2 Safety: User Generated Content (Apple Developer Forums thread 78288, rejection text posted by a developer, May 2017)","https:\u002F\u002Fdeveloper.apple.com\u002Fforums\u002Fthread\u002F78288",{"title":76,"url":77,"publisher":78,"accessed":61},"User Generated Content (Play Console Help, Google Play Developer Program Policy)","https:\u002F\u002Fsupport.google.com\u002Fgoogleplay\u002Fandroid-developer\u002Fanswer\u002F9876937","Google",{"title":80,"url":81,"publisher":82,"accessed":61},"Detectivision API status (GET \u002Fapi\u002Fv1\u002Fstatus)","https:\u002F\u002Fapi.detectivision.ai\u002Fapi\u002Fv1\u002Fstatus","Detectivision",{"title":84,"url":85,"publisher":86,"accessed":61},"Metadata and actions","https:\u002F\u002Fdetectivision.ai\u002Fdocs\u002Factions","Detectivision docs",{"title":88,"url":89,"publisher":86,"accessed":61},"Webhooks","https:\u002F\u002Fdetectivision.ai\u002Fdocs\u002Fwebhooks",{"title":91,"url":92,"publisher":86,"accessed":61},"Credits and billing","https:\u002F\u002Fdetectivision.ai\u002Fdocs\u002Fcredits",{"title":94,"url":95,"publisher":86,"accessed":61},"Flags","https:\u002F\u002Fdetectivision.ai\u002Fdocs\u002Fflags",{"title":97,"url":98,"publisher":86,"accessed":61},"Text moderation","https:\u002F\u002Fdetectivision.ai\u002Fdocs\u002Ftext",{"title":100,"url":101,"publisher":86,"accessed":61},"Image moderation","https:\u002F\u002Fdetectivision.ai\u002Fdocs\u002Fimage",[103,107,111,115,119],{"path":104,"title":105,"description":106},"\u002Fuse-cases\u002Fonline-communities","Online communities","Moderate forum posts, comments, usernames and avatars for insults, hate, sexual content and self-harm, in ten languages, with one API.",{"path":108,"title":109,"description":110},"\u002Fuse-cases\u002Fdating-apps","Dating apps","Check profile photos, bios and chat messages on your dating app for nudity, harassment, hate and scams, in ten languages, with one API.",{"path":112,"title":113,"description":114},"\u002Fuse-cases\u002Fmarketplaces","Marketplaces","Check listing photos, titles, descriptions, reviews and buyer messages for nudity, hate, violence and scam images, with one API.",{"path":116,"title":117,"description":118},"\u002Ftoxicity-detection-api","Toxicity detection","Check comments and chat messages for insults, hate, harassment and self-harm in ten languages, with a flag for each kind of toxicity.",{"path":120,"title":121,"description":122},"\u002Fnsfw-detection-api","NSFW detection","Detect nudity and sexual content in images, and sexual language in text written in ten languages, with one API call and a confidence for each finding.","TechArticle",false,["Island",126],{"key":127,"result":128},"ArticleBody_7wVKZ9uVuNxlVtIy8EIE6NWgRZK9aefeQHx6za2Ps9s",{"head":129},{},1792166153968]