Guideline 3.1.1

Guideline 3.1.1 - In-App Purchase: License Key or Serial Number Unlocks

High SeverityHard FixTypical Fix: 1-3 days0 Reports
Also known as:App uses license keys to unlock premium featuresApp includes serial number activation for content purchased externallyApp enables functionality through activation codes from website purchasesApp uses registration codes purchased from third-party retailers

Our Take

Apple is rejecting your app because it uses license keys, serial numbers, or activation codes purchased outside the App Store to unlock functionality within the app. This is a variation of the external payment bypass -- the purchase happens elsewhere (your website, a physical retailer, a B2B agreement), and a code entered in the app unlocks premium features. This pattern is extremely common in enterprise and B2B apps, productivity tools with desktop counterparts, and apps that originated on other platforms. The developer often assumes that because the sale happened externally, it falls outside Apple's IAP requirements. It does not -- if the key unlocks digital content or functionality consumed within the iOS app, IAP is required. The exception is if your app qualifies as a reader app (3.1.3(a)) or if the license was purchased as part of a multiplatform service where the iOS app is one of several consumption points. Even then, you cannot include a license entry field in the app itself -- the entitlement must be tied to account-level authentication.

Resolution Guide

01

Remove the license key entry UI

Delete any text field, screen, or flow where users enter license keys, serial numbers, or activation codes.

02

Replace with IAP

Offer the same premium features through StoreKit In-App Purchase. Configure the appropriate product type in App Store Connect.

03

For multiplatform services

If users legitimately purchase access on another platform, tie the entitlement to their user account (not a license key). When they sign in on iOS, check the server-side entitlement. Do not include any mechanism to enter a key in the iOS app.

04

Handle existing license holders

For users who already purchased licenses, honor their entitlement through server-side account authentication. They sign in, your server verifies their purchase, and the app unlocks. No key entry needed.

05

Enterprise/B2B exception

If this is a B2B app distributed only through Apple Business Manager (custom apps), you may have more flexibility. Consider custom app distribution if your audience is exclusively enterprise.

Prevention

  • Design iOS monetization around IAP from the start
  • For multiplatform products, use account-based entitlement rather than transferable license keys
  • Consider Apple Business Manager for pure B2B distribution
  • Example Rejection Email

    From:Apple App Review Team
    Subject:Guideline 3.1.1 - In-App Purchase: License Key or Serial N
    Guideline 3.1.1 - Business - Payments - In-App Purchase The app unlocks or enables additional functionality with mechanisms other than in-app purchase, which is not appropriate for the App Store. Specifically, the app includes a license key activation screen that unlocks premium features purchased outside of the app. Next Steps: It would be appropriate to remove the license key activation feature and use in-app purchase for unlocking premium functionality. If the app is a multiplatform service, ensure that feature access is managed through account-based authentication rather than license key entry.

    Consider Appealing

    Appeal if your app is a genuine multiplatform service (e.g., a desktop app with an iOS companion) and the license grants access across platforms. Cite guideline 3.1.3(b) and explain the multiplatform nature. Otherwise, migrate to IAP.

    Generate Appeal

    Before & After

    Before — Rejected

    Settings screen with 'Enter License Key' text field where users paste a 24-character key purchased from the developer's website to unlock Pro features

    After — Approved

    Pro features offered via StoreKit auto-renewable subscription; existing license holders sign into their account and the server validates their entitlement automatically

    What changed: License key entry fields are not permitted. Use IAP for new purchases and account-based authentication for existing cross-platform entitlements.

    Community Solutions · 0

    Sign in to share your solution.

    More Guideline 3 (Business) rejections

    View all Guideline 3 rejections