---
id: "service-credentials/itunesconnect-app-specific-shared-secret"
title: "App Store Connect App-Specific Shared Secret"
description: "The App-Specific Shared Secret is a unique authentication key that allows RevenueCat to securely communicate with Apple's servers on your behalf. This secret is mandatory for receipt validation when using StoreKit 1."
permalink: "/docs/service-credentials/itunesconnect-app-specific-shared-secret"
slug: "itunesconnect-app-specific-shared-secret"
version: "current"
original_source: "docs/service-credentials/itunesconnect-app-specific-shared-secret.mdx"
---

> **AI agents:** This is the Markdown version of a RevenueCat documentation page. For the complete documentation index, see [llms.txt](https://www.revenuecat.com/docs/llms.txt).

The App-Specific Shared Secret is a unique authentication key that allows RevenueCat to securely communicate with Apple's servers on your behalf. This secret is **mandatory for receipt validation** when using **StoreKit 1**.

:::warning
StoreKit 1 is now deprecated by Apple. New apps are recommended to use **StoreKit 2**. See our [migration guide](https://www.revenuecat.com/docs/sdk-guides/ios-native-4x-to-5x-migration) for details.
:::

## StoreKit Version Requirements

The App-Specific Shared Secret is required for **StoreKit 1** implementations. For **StoreKit 2** apps, you'll need an [In-App Purchase Key](https://www.revenuecat.com/docs/service-credentials/itunesconnect-app-specific-shared-secret/in-app-purchase-key-configuration) instead.

### StoreKit 2 (Recommended)

- **Required**: [In-App Purchase Key](https://www.revenuecat.com/docs/service-credentials/itunesconnect-app-specific-shared-secret/in-app-purchase-key-configuration) (comprising Issuer ID, Key ID, and Private Key)
- **Use case**: Modern apps using iOS 15+ with RevenueCat SDK v5.0+
- **Purpose**: Server-to-server communication with Apple's App Store Server API for validating transactions, managing subscriptions, and accessing detailed purchase information

:::info
The In-App Purchase Key is required for all in-app purchases (including subscriptions) when using StoreKit 2 and RevenueCat v5.0+. This key enables RevenueCat to securely access Apple's APIs and ensure accurate validation and reporting.
:::

### StoreKit 1

- **Required**: App-Specific Shared Secret
- **Use case**: Legacy apps, apps targeting iOS 15 or earlier
- **Purpose**: Server-side receipt validation and subscription management for the traditional receipt-based flow

## Setup (StoreKit 1 Only)

:::warning
This setup is only required for StoreKit 1 implementations. If you're using **StoreKit 2**, see [In-App Purchase Key Configuration](https://www.revenuecat.com/docs/service-credentials/itunesconnect-app-specific-shared-secret/in-app-purchase-key-configuration) instead.
:::

### 1. Generating an App-Specific Shared Secret

1. Log in to [App Store Connect](https://appstoreconnect.apple.com/)
2. Navigate to "My Apps" and select your app
3. Select "App Information" under the "General" section from the left side menu
4. Select "Manage" under the App-Specific Share Secret section from the right side

![Shared secret in App Store Connect](https://www.revenuecat.com/docs_images/credentials/apple/shared-secret-asc.png)

5. Generate and copy your shared secret

![Shared secret in App Store Connect](https://www.revenuecat.com/docs_images/credentials/apple/shared-secret-asc-2.png)

### 2. Enter the Shared Secret in RevenueCat

Enter the secret in your iOS app settings in the RevenueCat dashboard:

![Shared secret input](https://www.revenuecat.com/docs_images/credentials/apple/shared-secret-input.png)

## Troubleshooting

### Receipt Validation Issues

If you're experiencing server-side receipt validation failures, ensure you've configured the appropriate credentials for your StoreKit version:

- **StoreKit 1**: App-Specific Shared Secret (this page)
- **StoreKit 2**: [In-App Purchase Key](https://www.revenuecat.com/docs/service-credentials/itunesconnect-app-specific-shared-secret/in-app-purchase-key-configuration)

### Migration Context

If you're migrating from StoreKit 1 to StoreKit 2, you'll need to:

1. Update to [RevenueCat SDK v5.0+](https://www.revenuecat.com/docs/sdk-guides/ios-native-4x-to-5x-migration)
2. Configure an [In-App Purchase Key](https://www.revenuecat.com/docs/service-credentials/itunesconnect-app-specific-shared-secret/in-app-purchase-key-configuration)
3. Remove the App-Specific Shared Secret configuration
