ApproveKit checks your app against the rules App Store, Google Play and Google OAuth reviewers actually apply, then writes the documents they ask for. Your coding agent does the work. You approve one payment.
Then, inside your app repo, tell Claude: "get my app ready for the App Store". Other MCP-capable agents can connect straight to https://approvekit.dev/mcp.
Reviewers reject on a checklist, and AI-built apps trip the same items over and over.
submissions Apple rejected in 2025, 23% of everything reviewed.
new App Store submissions in Q1 2026 versus a year earlier, the biggest jump since 2016.
the cap on any app using Google sign-in with sensitive scopes until OAuth verification passes.
It builds an inventory of what the app collects, which SDKs it uses, which permissions and Google scopes it requests. Your code never leaves your machine.
23 rules from Apple's guidelines, Google Play policy and Google's OAuth verification, each with the fix and a link to the official source.
Privacy policy and account deletion page hosted at yourapp.approvekit.dev, reviewer notes, and for Google OAuth the scope justifications and demo video script.
The audit is free and unlimited. Pay once per app when you want the documents.
A remote MCP server with four tools. No signup: the first audit returns a token that identifies the app.
audit_appSend the inventory, get findings with severity, fix and source, plus which package resolves each one.
create_checkoutReturns a Stripe link for the user to pay. Only after they say yes.
get_orderOnce paid, returns every document as Markdown with the open [CONFIRM: …] items to resolve.
publish_documentSaves the final text and puts the hosted pages live.
Endpoint: https://approvekit.dev/mcp (Streamable HTTP). The Claude Code plugin adds a skill that drives the whole flow: inventory, audit, purchase with your approval, and publishing.
No. Your agent reads the repo locally and sends only the inventory: data types, SDK names, permissions, scopes. That is what the documents are built from.
No. ApproveKit produces documents grounded in what your app does, following what the platforms require. Anything the inventory cannot answer is marked for you to confirm, and you should review every document before publishing it.
Google requires the privacy policy on a domain you verify in Search Console. App Store and Google Play accept any public URL. Serving the hosted pages from your own subdomain is coming for the OAuth pack.
No one can. What ApproveKit does is remove the reasons reviewers give most often, with the official source for each one, so a rejection is the exception and not the third round.