Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Electron
  3. electron-osx-sign

electron-osx-sign

BSD-2-ClauseTypeScriptv2.5.0

A Node.js library for codesigning Electron macOS apps and creating .pkg installers.

GitHubGitHub
622 stars111 forks0 contributors

What is electron-osx-sign?

@electron/osx-sign is a Node.js library that simplifies code signing and installer creation for Electron applications on macOS. It automates the use of Apple's `codesign` and `productbuild` utilities, handling the technical requirements for distributing apps on the Mac App Store or via direct download. The tool integrates with popular Electron packaging pipelines like Electron Packager and Electron Forge.

Target Audience

Electron developers targeting macOS distribution, particularly those needing to sign apps for the Mac App Store or create .pkg installers. It's also useful for developers maintaining legacy Electron applications.

Value Proposition

Developers choose @electron/osx-sign because it reduces the complexity of macOS code signing with sensible defaults, provides a programmatic API for automation, and maintains compatibility with older Electron versions. Its integration with Electron's ecosystem makes it a trusted, official solution.

Overview

Codesign Electron macOS apps

Use Cases

Best For

  • Signing Electron apps for Mac App Store submission
  • Creating .pkg installer packages for direct macOS distribution
  • Automating code signing in CI/CD pipelines for Electron projects
  • Handling provisioning profiles and certificate management for macOS apps
  • Signing legacy Electron applications with older macOS compatibility requirements
  • Applying deep signing to specific subresources within an Electron app bundle

Not Ideal For

  • Non-Electron macOS application development, as the tool is specifically designed for Electron .app bundles
  • Teams using all-in-one packaging solutions like electron-builder that handle signing internally, adding redundancy
  • Developers requiring granular control over the codesign process beyond the provided API, where direct command-line usage is necessary
  • Projects exclusively targeting Linux or Windows platforms, since this tool is macOS-exclusive

Pros & Cons

Pros

Sensible Defaults

Works out of the box for most Electron apps by automatically detecting certificates and minimizing configuration, as stated in the README's philosophy of reducing manual effort.

Advanced API Flexibility

Offers fine-grained control through options like per-file signing with `optionsForFile`, allowing customization for specific subresources such as applying --deep signing selectively.

Ecosystem Integration

Seamlessly integrates with popular Electron tools like Electron Packager and Electron Forge, reducing setup effort in existing packaging pipelines.

Legacy Version Support

Maintains backwards compatibility with older, unsupported versions of Electron by allowing version specification, ensuring long-term project viability.

Cons

Legacy CLI Limitations

The command-line interface is labeled as legacy and lacks full API features, such as `optionsForFile`, forcing developers to use the JavaScript API for advanced use cases.

Mac App Store Complexity

Signing for Mac App Store distribution can prevent local execution without manual entitlement adjustments, adding extra steps for testing as noted in the README's warning about `preAutoEntitlements`.

External Dependencies

Requires Xcode, Apple developer certificates, and provisioning profiles, which involve additional setup, costs, and potential security concerns with third-party sources.

Frequently Asked Questions

Quick Stats

Stars622
Forks111
Contributors0
Open Issues20
Last commit4 days ago
CreatedSince 2015

Tags

#provisioning-profiles#sandbox#itunes-connect#developer-tools#app-distribution#mac-app-store#entitlements#cli-tool#nodejs#apple-developer#code-signing#macos#electron

Built With

T
TypeScript
N
Node.js

Included in

Electron27.1k
Auto-fetched 8 hours ago

Related Projects

rxdbrxdb

The local-first database that runs on every JS runtime and replicates with your existing backend - no vendor, no lock-in - https://rxdb.info/

Stars23,268
Forks1,166
Last commit10 hours ago
gotgot

🌐 Human-friendly and powerful HTTP request library for Node.js

Stars14,923
Forks989
Last commit7 days ago
electron-builderelectron-builder

A complete solution to package and build a ready for distribution Electron app with “auto update” support out of the box

Stars14,619
Forks1,857
Last commit21 hours ago
NeDBNeDB

The JavaScript Database, for Node.js, nw.js, electron and the browser

Stars13,540
Forks1,012
Last commit1 year ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub