Requirements for listing an app on GitHub Marketplace
Apps on GitHub Marketplace must meet several requirements before they can be listed.
Before your app can be listed on GitHub Marketplace, you must read and accept the terms of the Marketplace Developer Agreement. The agreement can be found within your listing management page on GitHub. After you submit your listing for review, you will receive additional onboarding information about integrating your app with the GitHub Marketplace API for payments and putting it through user testing.
- OAuth Apps should have a minimum of 1,000 users.
- GitHub Apps should have a minimum of 250 installations.
- A GitHub App listing may offer a free plan, paid plans, or both free and paid plans. If you list a paid version of your app outside of GitHub Marketplace, you must offer at least one paid plan when listing the app in GitHub Marketplace. Free plans are optional but encouraged. For more information, see "About GitHub Marketplace pricing plans."
- A customer pays for an app using a payment method attached to their GitHub account.
- Apps must be publicly available (neither in beta or invite-only) and purchasable through GitHub Marketplace.
- Apps must follow GitHub's brand guidelines and GitHub Marketplace marketing requirements (specifically logo usage). For more information, see "Creating GitHub Marketplace listing images."
- Apps cannot actively persuade users away from GitHub.
- Any marketing materials for the app must accurately represent the behavior of the app.
- Apps must include links to user-facing documentation that describe how to set up and use the app.
- Apps must allow network communications over the public internet using TLS-based HTTPS or SSH for Git.
- Apps must agree to delete GitHub user data within 30 days upon valid request by the user or once the legal relationship with GitHub has ended.
- Apps can't require the user to send their GitHub password to the partner.
- You must complete GitHub's Marketplace Security Review process. For information on the review process, contact firstname.lastname@example.org.
- You must provide GitHub with a written record of the authentication method and scope that's required.
- You must confirm that you're not requesting more scopes or GitHub access than is needed for the app to perform its intended functionality, taking OAuth limitations and use of GitHub Apps into account.
- You must disclose the use of any third-party services or infrastructure, such as SaaS, PaaS, or IaaS.
- You must confirm that an incident response procedure exists.
- You must attest to a method of key/token handling.
- You must attest that you have a responsible disclosure policy and process in place or plans to implement one within six months.
- You must attest that you have a vulnerability management workflow or program.
- You must attest that you have logging and monitoring capabilities. You must also provide evidence that any relevant app logs are retained for at least 30 days and archived for at least one year.