Setapp requirements

Get to know the acceptance criteria and technical requirements.

Setapp Review Guidelines
Cross-platform requirements
Requirements for macOS
Requirements for iOS
Requirements for web

Setapp frees users from the burden of reading reviews, comparing prices, trying features, and making choices. We are responsible for choosing the best apps on the market and expect your app to speak for itself. Setapp users get only the best apps without limits.

Our approach implies very high quality and reputation standards. If your product matches them, you will need minimum technical input to go live on Setapp. Review the guidelines and make the necessary changes. If you face any difficulties, please contact Setapp Review Team, and we will gladly assist you.

Follow the Setapp Review Guidelines

We've created a short list of guidelines to help you develop suitable products or adapt your existing apps to Setapp standards. Feel free to get acquainted with the full version of Setapp Review Guidelines. You can proceed with the technical implementation after ensuring your apps match the Setapp standards.

Cross-platform requirements (macOS, iOS, and web)

Compatibility and quality standards:

  • App functionality must be appropriately tested ("beta," "demo"', "trial," or "test" versions are not allowed).
  • App description and other text metadata must be relevant to the app content and functionality

Not allowed functionality:

  • Undocumented or hidden features
  • Features or app components that require Setapp users to pay on top of their subscription fees (including any in-app purchases or donations)
  • Advertising and promotional functionality

Moreover, we urge you not to automatically add your app to Launch Agents. Please ask for a user’s consent first.

Requirements for macOS apps

  • The app must be notarized.
  • The apps must be signed with a Developer ID certificate.
  • Compatibility with the latest macOS version must be tested and confirmed.
  • Universal (fat) binary for arm64 and x86_64. Read Building a Universal macOS Binary in the Apple Developer Guide.

We don't have strict requirements for supporting macOS versions from 11.0 (Big Sur) and later. However, there is no reason for you to bump the minimum macOS target of your project. Setapp runs on 10.13 and later. Your revenue could increase if Setapp users can use your app on older OS editions.

Please make sure you tested the OS compatibility properly. Note that Setapp users must receive a corresponding notification if your app doesn't run on their current macOS version.

Not allowed functionality:

  • Paid features or app components
  • Proprietary installer and update frameworks
  • Activation and licensing mechanisms
  • Built-in stores and in-app purchases

General requirements for iOS apps

  1. The iOS app must be distributed via the Apple App Store as a free app with in-app purchases.

    • The paid features must be available for Setapp users with an active subscription. This can be verified using the Setapp Framework's public API or server-server Setapp Vendor API. It also relates to app extensions (share extension, safari extension, iMessage extension, widget extension, etc.). The app should not send push notifications to the user about purchasing a subscription.

    • There must also be a way for non-Setapp users to unlock the whole app's functionality — for example, using in-app purchases on the App Store. In other words, Setapp Framework must not be the only mechanism for activating the apps' paid features.

    • Your Setapp version should not include "Rate on App Store" or "Share app > App Store" links. We will soon provide an option to share a link on Setapp.

  2. Integration requirements

    2.1. The app must support custom URL schemes.
    2.2. The app must be integrated

  • via the Setapp Framework and have the Setapp public key or
  • via the Vendor API with built-in "Sign in with Setapp" functionality.
  1. Activation requirements:
  • The app must be activated right after scanning the QR code without additional user actions, even if it’s the first launch. Alternatively, the app can start the "Sign in with Setapp" flow. Note: the user must not enter email manually because it won’t work for cases where iOS is the first platform to install the app.

  • The user must see the activation status — successfully activated or not. If the app is not activated, the user must see a message that explains the reason for denial (device limit is reached, no internet connection, etc.). Our Setapp Framework includes all the messages that you can use as they are or as templates for your own messages.

  • The app must be activated both with usual (e.g.,co.noteplan.NotePlan3) and lowercase (e.g.,co.noteplan.noteplan3) URL schemes. For your convenience, we’ve added an option to the QR Code Generator to switch between these schemes quickly. See more details in Testing your iOS app.

  • The app must not display the trial start pop-up if activation was successful.

  • The app settings must show that the app has an active Setapp subscription if activation was successful.

  • If activation is successful, the Setapp subscription must remain active even after the iOS app is forced to close.


Requirements for web apps

  • The web app must also be available on macOS or iOS in Setapp.

  • The web app must integrate the "Sign in with Setapp" authorization flow.

  • The user must see the activation status — successfully activated or not. If the app is not activated, the user must see a message explaining the denial (subscription isn't active, no internet connection, etc.). You can use our messages from Setapp Framework as they are or as templates for your own messages.

  • We'd also like to ask you to name the button "Sign in with Setapp" (not "Log in with Setapp," "Continue with Setapp," etc.) for consistency across all Setapp web apps.


All the necessary information related to the review process is also available in your Setapp developer account.