> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify.com/electron-userland/electron-builder/llms.txt
> Use this file to discover all available pages before exploring further.

# Mac App Store Configuration

> Configuration options for building Mac App Store (MAS) packages

The top-level `mas` key contains options for building MAS (Mac Application Store) target. This configuration inherits all [macOS options](/configuration/mac).

## Basic Example

```json theme={null}
{
  "mas": {
    "entitlements": "build/entitlements.mas.plist",
    "entitlementsInherit": "build/entitlements.mas.inherit.plist",
    "hardenedRuntime": false,
    "type": "distribution"
  }
}
```

## Mac App Store Requirements

When building for the Mac App Store, you need to:

1. Use appropriate entitlements files for MAS
2. Sign with a Mac App Store distribution certificate
3. Disable hardened runtime (MAS has its own sandboxing)
4. Follow Apple's App Store guidelines

## Configuration Options

### MAS-Specific Entitlements

<ParamField path="entitlements" type="string">
  The path to entitlements file for signing the app.

  `build/entitlements.mas.plist` will be used if exists (it is a recommended way to set).

  <Warning>
    Be aware that your app may crash if the right entitlements are not set like `com.apple.security.cs.allow-jit` for example on arm64 builds with Electron 20+.
  </Warning>

  See [this folder in osx-sign's repository](https://github.com/electron/osx-sign/tree/main/entitlements) for examples.

  See [Signing and Notarizing macOS Builds](https://www.electronjs.org/docs/latest/tutorial/code-signing#signing--notarizing-macos-builds) for more information.
</ParamField>

<ParamField path="entitlementsInherit" type="string">
  The path to child entitlements which inherit the security settings for signing frameworks and bundles of a distribution.

  `build/entitlements.mas.inherit.plist` will be used if exists (it is a recommended way to set).

  See [this folder in osx-sign's repository](https://github.com/electron/osx-sign/tree/main/entitlements) for examples.
</ParamField>

<ParamField path="binaries" type="string[]">
  Paths of any extra binaries that need to be signed.
</ParamField>

## Inherited Options

The MAS configuration inherits all options from [macOS configuration](/configuration/mac), including:

* `category` - Application category
* `icon` - Application icon
* `identity` - Code signing identity (use Mac App Store certificate)
* `type` - Distribution or development
* `bundleVersion` - CFBundleVersion
* `bundleShortVersion` - CFBundleShortVersionString
* `minimumSystemVersion` - Minimum macOS version
* `provisioningProfile` - Provisioning profile path
* And all other macOS options

<Note>
  Some macOS options behave differently for MAS builds:

  * `hardenedRuntime` should typically be `false` for MAS
  * `notarize` is not applicable for MAS
  * `requirements` is not applicable for MAS
</Note>

## Example Entitlements

### mas.plist

```xml theme={null}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.application-groups</key>
    <array>
      <string>TEAM_ID.your.bundle.id</string>
    </array>
  </dict>
</plist>
```

### mas.inherit.plist

```xml theme={null}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
    <key>com.apple.security.inherit</key>
    <true/>
  </dict>
</plist>
```

## Testing MAS Builds

You can build a development MAS build for testing using the `mas-dev` target:

```json theme={null}
{
  "mac": {
    "target": ["mas-dev"]
  }
}
```

Or via command line:

```bash theme={null}
electron-builder --mac mas-dev
```

## Resources

* [Apple's App Sandbox Guide](https://developer.apple.com/library/archive/documentation/Security/Conceptual/AppSandboxDesignGuide/)
* [Electron Mac App Store Submission Guide](https://www.electronjs.org/docs/latest/tutorial/mac-app-store-submission-guide)
* [Code Signing Guide](https://developer.apple.com/library/archive/documentation/Security/Conceptual/CodeSigningGuide/)
