General:
Forums topic: Code Signing
Forums subtopic: Code Signing > Notarization
Forums tag: Notarization
WWDC 2018 Session 702 Your Apps and the Future of macOS Security
WWDC 2019 Session 703 All About Notarization
WWDC 2021 Session 10261 Faster and simpler notarization for Mac apps
WWDC 2022 Session 10109 What’s new in notarization for Mac apps — Amongst other things, this introduced the Notary REST API
Notarizing macOS Software Before Distribution documentation
Customizing the Notarization Workflow documentation
Resolving Common Notarization Issues documentation
Notary REST API documentation
TN3147 Migrating to the latest notarization tool technote
Fetching the Notary Log forums post
Q&A with the Mac notary service team Developer > News post
Apple notary service update Developer > News post
Notarisation and the macOS 10.9 SDK forums post
Testing a Notarised Product forums post
Notarisation Fundamentals forums post
The Pros and Cons of Stapling forums post
Resolving Error 65 When Stapling forums post
Many notarisation issues are actually code signing or trusted execution issue. For more on those topics, see Code Signing Resources and Trusted Execution Resources.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"
Notarization
RSS for tagNotarization is the process of scanning Developer ID-signed software for malicious components before distribution outside of the Mac App Store.
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi, overnight I'm getting "HTTP status code: 403. Invalid or inaccessible developer team ID for the provided Apple ID. Ensure the Team ID is correct and that you are a member of that team." in my pipeline running notarytool store-credentials. I'm getting --apple-id, --team-id and --password from CI variables. Double checked the values (even though they shouldn't change). Tried a new app specific password
I did not change anything to cause this and my apple developer account is active. Really scratching my head what's going on here. Some assistance would be greatly appreciated!
Topic:
Code Signing
SubTopic:
Notarization
Normally I get a response from a submit via notarytool within 30 seconds. Today - with a process that worked a few days ago - I don't get any answer, although the system status claims that the service is up and work.
Anybody else, or is it only me?
2022-07-24 16:43:30.074 *** Error: Notarization failed for '/var/folders/r1/3j8rdbl95l9csz588j1nc6xc0000gn/T/electron-notarize-gGm3Fr/git-icons.zip'.
2022-07-24 16:43:30.075 *** Error: You do not have required contracts to perform an operation. With error code FORBIDDEN_ERROR.CONTRACT_NOT_VALID for id bb96a1a8-c3c3-4ded-a3c8-2abe369d8881 You do not have required contracts to perform an operation (-19208)
{
NSLocalizedDescription = "You do not have required contracts to perform an operation. With error code FORBIDDEN_ERROR.CONTRACT_NOT_VALID for id bb96a1a8-c3c3-4ded-a3c8-2abe369d8881";
NSLocalizedFailureReason = "You do not have required contracts to perform an operation";
}
Starting a few hours ago (roughly 2:45PM Eastern time) we began experiencing elevated latency with the Developer ID Notary Service. There is nothing listed on the developer system status page about degraded performance or a service outage.
Operations that usually take ~15 minutes, are stacking up for hours.
The oldest pending entry we have was created at 2:45PM Eastern:
createdDate: 2025-06-24T18:45:22.539Z
id: 5209a4d2-eae4-4714-aa8e-6961677ff2e
We currently have 27 pending builds in the notary service since we are required to notarize internal builds to ensure we satisfy our requirements so this is creating an issue for us.
We're having failures reported back to us from the notarization service as of the 4th of September. It's complaining about binaries inside .jar files, saying some aren't signed and others aren't signed with a valid developer certificate. These are third party jars; we unzip the unsigned binaries from these jars, sign them then put them back in using "jar -ufv". Notarizing is only complaining about binaries inside jars and not anything else, which implies our certificates are valid.
Nothing has changed regarding these jars between the notarizing service accepting and rejecting our app. To confirm our suspicions that the notarizing service may be behaving differently, we sent it an app package that previously had succeeded in notarizing. Now the notarizing service fails, citing issues with the same jars as described above.
Are you able to confirm whether anything has changed? Any ideas on what we could look at?
Topic:
Code Signing
SubTopic:
Notarization
Hello!
I've been facing an issue with notarizing a macOS app with an Enterprise API Key.
Due to some misunderstanding setting up the project some years ago, the notarization step was using a developer's accounts API Key. I am looking to fix it to have everything centralized in the Enterprise account we work with, but I get "Debug [JWT] Generating new JWT for key ID" with the new key. This is using the xcrun notarytool directly to get more input.
Using Fastlane it fails as:
Error polling for notarization info:
[11:29:25]: unexpected token at ''
The project is deployed via MDM, so we need it to prevent the security warning.
I used this documentation to create the key:
https://developer.apple.com/documentation/enterpriseprogramapi/creating-api-keys-for-enterprise-program-api
I have tried a Developer and an Admin access key, and the Account Holder has also created an Admin key but the errors keep the same.
I just updated my Fastlane script to use the new key with the updated values. The old developer account key still works.
I am not sure if I am missing any steps in the documentation or if this is not achievable.
Important to add that all the profiles and certificates were already set up properly in the Enterprise account, the only error was using an App Store Connect Key instead of an Enterprise Key.
Thanks in advance for the help.
I'm having issues with notarizing my Electron app using electron-builder. The build process works, but notarization gets hung up on submitting to Apple.
Versions
electron: 33.2.1
electron-builder: 24.9.1
@electron/notarize: 2.3.2
macOS runner: macos-latest
Current Setup
Using GitHub Actions for CI/CD
Developer ID Application certificate is properly installed and verified
Apple ID credentials are confirmed working (verified via altool)
Notarization is configured in both package.json and build arguments
Logs
2024-12-29T18:56:37.198Z electron-notarize:spawn spawning cmd: xcrun args: [ '--find', 'notarytool' ] opts: {}
2024-12-29T18:56:38.652Z electron-notarize:spawn cmd xcrun terminated with code: 0
2024-12-29T18:56:38.653Z electron-notarize:notarytool starting notarize process for app: /Users/runner/work/***/***/dist/mac-arm64/***.app
2024-12-29T18:56:38.653Z electron-notarize:helpers doing work inside temp dir: /var/folders/95/0ydz4d79163427j3k5crp3fh0000gn/T/electron-notarize-KxNa7e
2024-12-29T18:56:38.653Z electron-notarize:notarytool zipping application to: /var/folders/95/0ydz4d79163427j3k5crp3fh0000gn/T/electron-notarize-KxNa7e/***.zip
2024-12-29T18:56:38.654Z electron-notarize:spawn spawning cmd: ditto args: [
'-c',
'-k',
'--sequesterRsrc',
'--keepParent',
'***.app',
'/var/folders/95/0ydz4d79163427j3k5crp3fh0000gn/T/electron-notarize-KxNa7e/***.zip'
] opts: { cwd: '/Users/runner/work/***/***/dist/mac-arm64' }
2024-12-29T18:56:47.906Z electron-notarize:spawn cmd ditto terminated with code: 0
2024-12-29T18:56:47.906Z electron-notarize:notarytool zip succeeded, attempting to upload to Apple
2024-12-29T18:56:47.906Z electron-notarize:spawn spawning cmd: xcrun args: [
'notarytool',
'submit',
'/var/folders/95/0ydz4d79163427j3k5crp3fh0000gn/T/electron-notarize-KxNa7e/***.zip',
'--apple-id',
'*********',
'--password',
'*********',
'--team-id',
'*********',
'--wait',
'--output-format',
'json'
] opts: {}
This is the farthest I've been able to get after pushing through many errors.. I set a timeout of 3 hours and this will now be my 4th time attempting I believe.
Configuration
package.json
json
"mac": {
"hardenedRuntime": true,
"gatekeeperAssess": false,
"entitlements": "build/entitlements.mac.plist",
"entitlementsInherit": "build/entitlements.mac.plist",
"notarize": {
"teamId": "APPLE_TEAM_ID WAS MANUALLY PUT HERE AFTER ISSUES WITH SECRETS"
}
}
GitHub Actions Workflow
Using samuelmeuli/action-electron-builder@v1 with proper environment variables for APPLE_ID, APPLE_TEAM_ID, and APPLE_APP_SPECIFIC_PASSWORD.
What I've Tried
Verified Apple Developer account access and Team ID
Confirmed certificate installation works
Tested credentials using altool (successfully lists providers)
Added explicit notarization environment variables
Any help would be appreciated!
Topic:
Code Signing
SubTopic:
Notarization
A few hours ago, it took 3 minutes to get the notarization phase of our build done... now I've got one that's been running for 25 minutes and hasn't finished yet. The last time this happened, the waits got up to multiple hours, and the status page didn't get updated.
This afternoon notarization started throwing an error in terminal. I confirmed that the NOTARIZE_APP_LOG was created, but empty. I have been notarizing our apps on this machine (intel-12.7) with Xcode 13.4.1 for over a year without issue. Any suggestions would be greatly appreciated
9192 Bus error: 10 xcrun notarytool submit --apple-id "$ASC_USERNAME" --password "$ASC_PASSWORD" --team-id "$ASC_TEAM" "$ZIP_PATH" > "$NOTARIZE_APP_LOG" 2>&1
Translated Report (Full Report Below)
Process: notarytool [9192]
Path: /Library/Developer/CommandLineTools/usr/bin/notarytool
Identifier: notarytool
Version: ???
Code Type: X86-64 (Native)
Parent Process: bash [2167]
Responsible: Terminal [2142]
User ID: 501
Date/Time: 2024-07-02 16:29:33.5256 -0600
OS Version: macOS 12.7 (21G816)
Report Version: 12
Bridge OS Version: 8.0 (21P365)
Anonymous UUID: 9AFB52C6-5CA1-7AE0-C249-9D090ABDFD28
Time Awake Since Boot: 820 seconds
System Integrity Protection: enabled
Crashed Thread: 1 Dispatch queue: nio.nioTransportServices.connectionchannel
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000700009d77ff0
Exception Codes: 0x0000000000000002, 0x0000700009d77ff0
Exception Note: EXC_CORPSE_NOTIFY
Termination Reason: Namespace SIGNAL, Code 10 Bus error: 10
Terminating Process: exc handler [9192]
Topic:
Code Signing
SubTopic:
Notarization
Hello,
I'm currently facing issues with the notarization process for my macOS app, which has been in progress for several days without completion. I’ve submitted multiple builds over the past few days, but they all remain stuck in "In Progress" status.
{
"message": "Successfully received submission history.",
"history": [
{
"status": "In Progress",
"id": "3bab3c0e-203d-4d66-87e5-e9c46e366a6c",
"name": "Offer鸡.zip",
"createdDate": "2024-09-29T19:20:39.240Z"
},
{
"createdDate": "2024-09-29T18:28:08.522Z",
"status": "In Progress",
"name": "Offer鸡.zip",
"id": "9bb19fae-e7c2-485b-90c5-7158a1639225"
},
{
"createdDate": "2024-09-29T12:31:52.458Z",
"name": "Offer鸡.zip",
"id": "ff0ec784-7014-412e-9e42-30feae65b546",
"status": "In Progress"
},
{
"status": "In Progress",
"id": "4be0d351-e3db-43cb-a2ce-71ebdecd623a",
"createdDate": "2024-09-29T05:39:23.409Z",
"name": "Offer鸡.zip"
},
{
"status": "In Progress",
"createdDate": "2024-09-28T18:15:00.601Z",
"name": "Offer鸡.zip",
"id": "2a4947e0-3a4b-45e0-832a-723fdf221cbf"
},
{
"id": "e50fbd60-8448-4f12-8539-22dcf24caee5",
"name": "offerji.zip",
"createdDate": "2024-09-27T07:47:50.919Z",
"status": "In Progress"
},
{
"createdDate": "2024-09-26T21:45:10.596Z",
"name": "offerji.zip",
"status": "Rejected",
"id": "fc3490e9-3ff5-49f8-a08a-5bfac7cca81d"
},
{
"createdDate": "2024-09-26T06:59:51.950Z",
"id": "d003f48c-01ec-48f7-89e0-8b8f5ad700bd",
"name": "offerji.zip",
"status": "Invalid"
}
]
}
I also encountered two previous submission failures:
offerji.zip (submitted on 2024-09-26 at 21:45) - Rejected
offerji.zip (submitted on 2024-09-26 at 06:59) - Invalid
Could anyone provide insight into what might have caused the earlier failures? And is it common for notarization to take this long? Any advice on how to expedite or resolve this issue would be greatly appreciated!
Thanks in advance for your help.
Hello,
We use GitHub actions to build, sign and notarize our app. Everything was working fine, but lately the notarization has been failing almost every time. Only about 10% of attempts are successful. We haven't made any changes to the signing and notarizing processes.
Here is command we use
xcrun notarytool submit app.zip --wait --apple-id *** --team-id *** --password *** > notarization_output.txt
Here is the error
/Users/runner/work/_temp/c0b6c8e4-86d1-4307-af86-43666fcf39c7.sh: line 1: 3158 Bus error: 10 xcrun notarytool submit app.zip --wait --apple-id *** --team-id *** --password *** > notarization_output.txt
My app has been attempting to notarize for almost 3 hours now. The status page shows everything is ok: https://developer.apple.com/system-status/
Anyone else experiencing this? Anything I can do to expedite the process?
xcrun notarytool history
Successfully received submission history.
history
--------------------------------------------------
createdDate: 2024-12-29T01:20:45.358Z
id: 449ebcdd-60eb-41e3-87a7-8107fe6276c3
name: Scourhead.zip
status: In Progress
--------------------------------------------------
createdDate: 2024-12-29T00:51:10.641Z
id: 0054eebd-ddcc-4eb3-928f-86ce2182dbfe
name: Scourhead.zip
status: In Progress
Topic:
Code Signing
SubTopic:
Notarization
Hello Team,
I am building an Electron app and building platform-related installers line exe, appimage and dmg. To build an installer, I am using the electron builder library.
When I do code signing and notarization, the signing process gets stuck without any error. I have verified certificate and other information are correct. Below are more details.
Versions
@electron/notarize": "^2.5.0
@electron/rebuild": "3.3.0
electron": "26.2.1
electron-builder": "^25.1.8
electron-devtools-installer": "3.2.0
Current Setup
CircleCI pipeline
Developer ID Application certificate is properly installed and verified
Notarization is configured in both package.json and build arguments
I see the last log as below where it gets stuck without any error.
• selecting signing options file=release/build/mac-arm64/xxxx Assistant.app entitlements=assets/entitlements.mac.plist hardenedRuntime=true timestamp=http://timestamp.apple.com/ts01 requirements=undefined additionalArguments=[]
Package.json
"build": {
"productName": "xxxxx - Your AI Work xxxxx",
"executableName": "xxxx xxxxx",
"artifactName": "xxxxx-Assistant-${version}-${arch}.${ext}",
"appId": "org.erb.xxxx",
"asar": true,
"asarUnpack": "**\\*.{node,dll}",
"files": [
"dist",
"node_modules",
"package.json",
"assets/tray.ico",
"!**/*.lproj/**/*",
"!**/locale.pak",
"!locales/**/*"
],
"afterSign": ".erb/scripts/notarize.js",
"mac": {
"timestamp": "http://timestamp.apple.com/ts01",
"identity": "xxxxx Technology Inc (xxxxxxxx)",
"target": [
"dmg",
"zip"
],
"electronLanguages": [
"en-US"
],
"icon": "build/mac-icon/Logo512x512.icns",
"type": "distribution",
"hardenedRuntime": true,
"entitlements": "assets/entitlements.mac.plist",
"entitlementsInherit": "assets/entitlements.mac.plist",
"gatekeeperAssess": false
},
"dmg": {
"icon": "build/mac-icon/xxxxxxLogo512x512.icns",
"contents": [
{
"x": 130,
"y": 220
},
{
"x": 410,
"y": 220,
"type": "link",
"path": "/Applications"
}
]
},
"directories": {
"app": "release/app",
"buildResources": "assets",
"output": "release/build"
},
"extraResources": [
"./assets/**"
]
}
Entitlement
<?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>
<!-- Required for Electron/Chromium JIT -->
<key>com.apple.security.cs.allow-jit</key>
<true/>
<!-- Required for basic Electron functionality -->
<key>com.apple.security.inherit</key>
<true/>
<!-- Required for network communication (REST APIs) -->
<key>com.apple.security.network.client</key>
<true/>
</dict>
</plist>
I have made the following verification.
I already tried on multiple macos with different processors.
Verified on a high-speed network.
Certificate is exported to .p12 and verified.
All Env Variables are set with the correct value. (APPLE_APP_SPECIFIC_PASSWORD+APPLE_ID+APPLE_TEAM_ID )
I have tried with CSC_LINK/CSC_KEY_PASSWORD + Keystore as well.
Appriciate any help.
Hi there, I've developed a macOS app in Swift and SwiftUI. I'm planning to distribute the app outside of the App Store, so I'm currently getting it notarized. This is my first time notarizing an application.
My application is signed correctly during the build / archive process, but whether I try to notarize the .app via Xcode's organizer or a .dmg via notarytool, it seems to get stuck.
The status of Notarization attempts have been been stuck "In Progress", with the earliest attempt approaching 4 days.
Below is the output of xcrun notary tool history
Successfully received submission history.
history
--------------------------------------------------
createdDate: 2025-01-01T08:25:21.033Z
id: be860d89-9edd-4330-9358-aa3766772041
name: Sidekick.zip
status: In Progress
--------------------------------------------------
createdDate: 2024-12-31T17:08:37.493Z
id: 9cbd609e-d287-4217-afe3-362386159805
name: Sidekick-beta.dmg
status: In Progress
--------------------------------------------------
createdDate: 2024-12-31T15:35:11.609Z
id: 3e22c207-e156-410d-a0d1-24a587bfdca6
name: Sidekick.zip
status: In Progress
I've been searching for similar issues on the developer forums, and while others have warned about long wait times for first-time notarization requests, I've never come across anyone else who had to wait 4 days.
I have multiple submissions for an app notarization. The goal is to distribute the DMG on my website rather than the app store (which I also have a submission in review for). These are the notarization logs:
--------------------------------------------------
createdDate: 2025-06-23T20:26:46.597Z
id: 75972c58-bc83-44a9-b3af-4aff1b1839c3
name: Mira-Assist-Fresh.dmg
status: In Progress
--------------------------------------------------
createdDate: 2025-06-23T17:53:11.825Z
id: 4bccdfb6-6663-41d3-89bc-c0a15fbdd4b8
name: Mira Assist.zip
status: In Progress
--------------------------------------------------
createdDate: 2025-06-23T17:45:10.342Z
id: fedca538-7619-4a7f-bcc8-3199d6e4b1a6
name: Mira-Assist-1.0.0-Hardened.dmg
status: In Progress
--------------------------------------------------
createdDate: 2025-06-23T02:51:04.289Z
id: 19a866b9-e664-4641-b137-6ac852c14ac9
name: Mira Assist-1.0.0.dmg
status: In Progress
--------------------------------------------------
createdDate: 2025-06-23T02:44:25.372Z
id: 455209e5-91dd-4324-aac0-d582f88efc95
name: Mira Assist-1.0.0.dmg
status: In Progress
The earliest of which occured more than 18 hours ago.
This is my first time submitting an app for notarization. I also have a developer account that was created ~1-2 days ago.
From what I've read online, notarization usually occurs in less than 10 minutes.
When querying for the logs, it juts says that the submission ID is invalid or the logs aren't available yet.
Submission log is not yet available or submissionId does not exist
id: 75972c58-bc83-44a9-b3af-4aff1b1839c3
I've tried to notarize my app recently and got the error:{
"logFormatVersion": 1,
"jobId": "...",
"status": "Rejected",
"statusSummary": "Team is not yet configured for notarization",
"statusCode": 7000,
"archiveFilename": "myapp.dmg",
"uploadDate": "2019-06-20T06:24:53Z",
"sha256": "...",
"ticketContents": null,
"issues": null
}I've never heard about "team configuration for notarization" previously. What are the steps to resolve that issue?Thanks in advance.
Notarization step fails: New AppID and password created:
xcrun notarytool submit “.dmg” --apple-id “” --team-id “” --password “” --verbose --wait
Error: HTTP status code: 401. Your Apple ID has been locked. Visit iForgot to reset your account (https://iforgot.apple.com), then generate a new app-specific password. Ensure that all authentication arguments are correct.
I have reset app password many times, not result.
Codesigning completes normally:
Mac OS 11.5.2
Xcode 13.2.1
I have put my application for notarization and it's been more than 2 hours and it still shows in Progress to me. Is there any issue or way to notarize faster ?
Topic:
Code Signing
SubTopic:
Notarization
Several hours ago I've uploaded my simple Xcode Storyboard App on Apple Notarization Service. The upload process worked successfully and I could check the notarization status via xcrun notarytool info command.
And a few minutes ago, I've met a following error when I execute the xcrun notarytool info command for checking the status of notarization:
Error: internalError(statusCode: Optional(500), strData: nil, jsonData: Optional(["statusCode": 500, "errors": <__NSSingleObjectArrayI 0x600001d58ed0>(
{
code = "UNEXPECTED_ERROR";
detail = "<null>";
id = ISDIE4GVHVXLMO24V7L5LFUHXM;
links = "<null>";
status = 500;
title = "Uncaught server exception";
}
How can I fix this error?
Hello Apple Developer Community,
I've been working on notarizing my macOS application, Deep Focus, built using Electron, but I'm encountering persistent issues with binary signatures being reported as invalid during the notarization process.
I followed Apple's notarization documentation and ensured that all necessary configurations are in place, but I'm still seeing multiple "Invalid" errors in the notarization log.
Here’s the process I've followed so far:
1. System and Tools Setup:
macOS version: Apple M1 Pro Sonoma 14.5
macOS SDK: macOS 15.0
Xcode version: Version 16.0 (16A242d)
(Using VSCode instead of XCode since this is an Electron /JavaScript project.)
Link to source code for inspection
2. Notarization Process:
Successfully stored credentials in Keychain using xcrun notarytool store-credentials.
Signed all app components, including frameworks, using the command:
for framework in "dist/Deep Focus-darwin-arm64/Deep Focus.app/Contents/Frameworks/"*.framework; do
codesign --force --deep --options runtime --timestamp --sign "Developer ID Application: Timeo Williams (3Y4F3KTSJA)" "$framework"
done
Verified that Hardened Runtime is enabled and included the required entitlements.
3. Verification:
Checked code signatures with codesign -vvv --deep --strict Deep Focus.app, which returned valid results for all components.
Verified the presence of the _CodeSignature directory for each framework and confirmed proper entitlements using:
codesign -d --entitlements - Deep Focus.app
4. Notarization Submission
Compressed the app into a .zip file and submitted it with xcrun notarytool submit --keychain-profile "notary" --wait.
Although the notarization log provided detailed error messages, it still reported the following issues:
"The signature of the binary is invalid" for several frameworks, including Electron, ReactiveObjC, and Mantle.
{
"statusSummary": "Archive contains critical validation errors",
"statusCode": 4000,
"issues": [
{
"path": "Deep Focus.zip/Deep Focus.app/Contents/Frameworks/Electron Framework.framework/Electron Framework",
"message": "The signature of the binary is invalid.",
"architecture": "arm64"
},
...
]
}
I've double-checked the signing process and attempted re-signing the frameworks, but the notarization continues to fail due to these invalid signatures. I’m not sure what’s causing the _CodeSignature file to be missing for some frameworks even after signing.
[I also installed the Signet app to test verification.
My Questions:
What could be causing the binary signatures to be reported as invalid during notarization, despite the app satisfying its designated requirements according to codesign?
Is there a specific way I should be handling Electron-based apps for macOS notarization that differs from standard macOS apps?
Could the issue be related to the use of ARM64 architecture, and are there any additional steps required for signing on ARM-based systems?
Are there any known compatibility issues with frameworks like ReactiveObjC, Mantle, or Squirrel that could affect the notarization process?
Any guidance or troubleshooting steps would be greatly appreciated. Thank you in advance!
Topic:
Code Signing
SubTopic:
Notarization