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
Created
Hi, I'm currently at 19 hours waiting for notarization. My dev account is new and this is the first time I'm submitting anything to be notarized. I've gathered from my research that this is normal (unfortunately). I figure the only thing I can do is wait, but is there any way for me to know if I'm waiting for a human to manually review it? I was going to file a support request, but I saw that they won't be responding to any support requests until after their Thanksgiving break, and I assume nobody is manually reviewing notary submissions for the next week+. I attached the submission below, thanks!
createdDate: 2025-11-21T21:17:10.082Z
id: c9746d42-1dc7-4641-aec1-62c6cedff1a2
name: ***********.zip
status: In Progress
Topic:
Code Signing
SubTopic:
Notarization
Can someone please explain why Mac app packaging is so farcically convoluted?
Windows app packaging can be picked up in an hour or so.
But I've spent longer trying to fathom how to package the Mac version than I did building the app.
And it's not done with me yet.
Every single line of code requires a deep dive into a new, unrelated skillset.
So, it’s sidebar after sidebar.
Kafka’s ‘The Trial’ comes to mind.
Why does it have to be like this?
Topic:
Code Signing
SubTopic:
Notarization
Hello,
I've been developing a mac app built with Electron Builder. In August, I was successfully notarizing my app and able to send it to testers without them receiving a malware warning. I took a two month break. When I came back in October, I am not able to distribute my app without the malware warning.
I can't for the life of me figure out what I could be missing, unless my developer account was flagged by Apple for some reason. All the diagnostics I run on my app package show that it is properly signed, notarized, and stapled.
Here are some diagnostics I have run on the app:
Command: codesign -dv --verbose=4 "/Volumes/Form Desktop 1/Form.app"
Output:
Executable=/Volumes/Form Desktop 1/Form.app/Contents/MacOS/Form
Identifier=co.Form.desktop
Format=app bundle with Mach-O thin (arm64)
CodeDirectory v=20500 size=763 flags=0x10000(runtime) hashes=13+7 location=embedded
VersionPlatform=1
VersionMin=720896
VersionSDK=917504
Hash type=sha256 size=32
CandidateCDHash sha256=cedcaef933c003c01b4d9ef6925a413fe6b4a585
CandidateCDHashFull sha256=cedcaef933c003c01b4d9ef6925a413fe6b4a585bf61e19751e8158775600b00
Hash choices=sha256
CMSDigest=cedcaef933c003c01b4d9ef6925a413fe6b4a585bf61e19751e8158775600b00
CMSDigestType=2
Executable Segment base=0
Executable Segment limit=16384
Executable Segment flags=0x1
Page size=4096
CDHash=cedcaef933c003c01b4d9ef6925a413fe6b4a585
Signature size=8973
Authority=Developer ID Application: Jacob LEELAND (92D98F49FU)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=Nov 14, 2025 at 8:25:09 PM
Notarization Ticket=stapled
Info.plist entries=30
TeamIdentifier=92D98F49FU
Runtime Version=14.0.0
Sealed Resources version=2 rules=13 files=35090
Internal requirements count=1 size=176
RESULT: ✅ SIGNED WITH DEVELOPER ID
✅ NOTARIZATION TICKET STAPLED
✅ HARDENED RUNTIME ENABLED
----------------------------------------------------------------
Command: spctl --assess --verbose=4 --type execute "/Volumes/Form Desktop 1/Form.app"
Output:
/Volumes/Form Desktop 1/Form.app: accepted
source=Notarized Developer ID
RESULT: ✅ GATEKEEPER ACCEPTS APPLICATION
----------------------------------------------------------------
Command: xattr -l "/Volumes/Form Desktop 1/Form.app"
Output:
(No extended attributes)
----------------------------------------------------------------
Command: stapler validate "/Volumes/Form Desktop 1/Form.app"
Output:
Processing: /Volumes/Form Desktop 1/Form.app
The validate action worked!
RESULT: ✅ NOTARIZATION TICKET VALID
[signing-verification-report.txt](https://developer.apple.com/forums/content/attachment/45b41936-6e7a-4f4f-8e80-bc1e3136c84e)
code-block
I have attached a more complete diagnostic text file as well. I have tried notarizing the .dmg in addition to the app bundle, but no combination seems to work as far as I can tell.
I appreciate any help or point in the right direction. I've wasted many days of development time on this, lol.
Hi Team,
i'm running into same issue with notarization time. I create new, small app for a customer but however the notarization is running since this morning, so almost a few hours.
This isn't normal or ?
Is there anything what i can do ?
Best regard,
Lars
Topic:
Code Signing
SubTopic:
Notarization
Hi everyone,
I’m trying to notarize a macOS app for direct distribution in Xcode. The upload finished, but the notarization has been stuck on “In Progress” for hours. I’m not getting any emails or errors, and the status log in Organizer only shows the same “In Progress” message without any extra details.
I tried reopening Organizer and creating a new archive, but it always ends up in the same state.
Is this normal, or is there something I should check on my side? Any help would be appreciated.
Thanks!
Hello Quinn and Apple Developer Support,
We are encountering an issue where our notarization queue appears to be stuck, and we would greatly appreciate your help.
A few days ago, we assisted another team by submitting their app for notarization using our own Apple Developer account, because their own notarization attempts were getting stuck. However, the submission we made for them under our account has now been stuck in the “In Progress” state for about 5 days.
Later, their own submission (using their account) was rejected after 2–3 days, but our submission for them (under our account) has never completed.
Since then, all our subsequent notarization requests have also remained “In Progress”, which strongly suggests that the stuck submission is blocking our entire notarization queue.
Here are the details from our submission history:
xcrun notarytool history --apple-id "xxx" --team-id "xxx" --password "xxx"
Partial results:
id: 0bafa66f-4f47-4327-811f-a05481be5d0b status: In Progress
id: 2d00b75a-a17a-44fc-afa1-71e0e39ec2cd status: In Progress
The first ID is our own app’s submission.
The second ID belongs to the submission we made for the other team.
Both have been stuck in “In Progress” for several days, which seems abnormal.
Could you please help us clear or reset the notarization queue for our account so that we can continue submitting our own apps?
Thank you very much for your time and assistance!
Best regards,
gongcj
Topic:
Code Signing
SubTopic:
Notarization
I've submitted my app, signed with a new Developer Id Certificate for a distribution outside of the App Store, 88 hours ago.
xcrun notarytool history ...
Shows the submission as "In Progress".
xcrun notarytool log ...
Tells me "Submission log is not yet available or submissionId does not exist".
I don't know if that's expected for an "In Progress" submission.
As far as I can tell the signing worked without problems. I'm using the Tauri toolchain, which under its hood is using notarytool.
How long can I expect this to take? If there is a problem with my submission does the status just stay on "In Progress" or do I get an error?
Thanks
Topic:
Code Signing
SubTopic:
Notarization
Hello,
We are experiencing an issue with the notarization queue and would appreciate your assistance.
A few days ago, we helped another team submit their app for notarization. However, that submission has been stuck in the “In Progress” state for about three days now. Unfortunately, this also seems to have caused our own team’s notarization requests to get stuck as well.
We ran the following command to review the submission history:
xcrun notarytool history --apple-id "xxx" --team-id "xxx" --password "xxx"
Successfully received submission history.
Partial results:
id: 0bafa66f-4f47-4327-811f-a05481be5d0b
status: In Progress
id: 2d00b75a-a17a-44fc-afa1-71e0e39ec2cd
status: In Progress
It appears that one of these belongs to another team’s app we helped submit, and the other is our own submission.
Both have remained In Progress for several days, and we are now unable to proceed with any new notarization requests.
Could you please help us clear or reset the stuck notarization queue so we can continue our submissions?
Thank you very much for your help!
Topic:
Code Signing
SubTopic:
Notarization
I am currently having issues uploading my app to appstoreconnect.apple.com/notary/ for notarization. It times out after hanging for a while. I get the following error.
13:42:04 "LocalDataTask <D84AED32-B05B-4439-8BDC-40C0F89B89F1>.<1>"
13:42:04 ), NSLocalizedDescription=The request timed out., NSErrorFailingURLStringKey=https://appstoreconnect.apple.com/notary/v2/asp?, NSErrorFailingURLKey=https://appstoreconnect.apple.com/notary/v2/asp?, _kCFStreamErrorDomainKey=4})
Topic:
Code Signing
SubTopic:
Notarization
I am trying to package a Filemaker 18 Runtime app.
A week ago, I managed to get 90% of the way towards doing as much, using MS
Copilot as a guide.
Unfortunately, due to my confusion over the landing stage files, I decided to
start the process from scratch.
This time, I fell at the first stage:
Code Signing my .app Bundle.
The Terminal command:
codesign --deep --force --verify --verbose \
--sign "Developer ID Application: ME (V********)" \
"/Users/Me/Documents/Apps/MyApp/Runtime/MyApp/My App.app"
Returned the error:
/Users/Me/Documents/Apps/MyApp/Runtime/MyApp/My App.app: bundle format unrecognized, invalid, or unsuitable
In subcomponent: /Users/Me/Documents/Apps/MyApp/Runtime/MyApp/My App.app/Contents/Frameworks/FMWrapper.framework
No matter how many separate elements within the bundle I sign, I encounter the
same error message.
A few days ago, the identical command worked first
time.
I would be obliged for any help you can provide.
Thanks.
Is the Notary service unavailable again? The system-status page shows it as being green but I am back to receiving the same error as previously which fixed itself once the notary service went green again and I am unable to notarize and staple my Distribution PKG.
During the release of our macOS App, we encountered the following issue:
We need to support dynamic code loading of WebAssembly (wasm) inside our App, mainly by loading WebAssembly (wasm) binary modules.
We discovered a problem: a wasm file is neither an executable nor a bundle, so it cannot be code-signed.
Since our App needs to pass notarization, we have not set the com.apple.security.cs.allow-unsigned-executable-memory entitlement.
Without setting com.apple.security.cs.allow-unsigned-executable-memory, loading a wasm module results in an “unsigned code” error that causes the process to crash.
Could you please advise on what we should do to avoid this problem? Is it possible to apply for a special entitlement to allow com.apple.security.cs.allow-unsigned-executable-memory?
Hello Colleagues,
We have been seeing a delay in our Apple notarization submission that hangs for hours "in progress" without completing:
This issue has been occurring since Friday, October 17th.
We have also checked the Apple System Status page and there is no indication of any outage for Apple notarization.
Successfully received submission history.
history
......
--------------------------------------------------
createdDate: 2025-10-19T18:34:47.472Z
id: d3248896-7841-421e-9470-101df9d0da21
name: ...
status: In Progress
--------------------------------------------------
createdDate: 2025-10-19T18:12:45.325Z
id: e5822fa0-5bcf-4610-81fc-9f541e8ad189
name: ...
status: In Progress
Hello,
I am new to the apple developer program. I, and my team, are working on porting some medical software that we have written from Windows to MacOS. We obviously want to notarize our app to make it easy for professionals and colleagues to use. The software is entirely written in python and includes ffmpeg for one of the features to export the medical data to video and compiled to a single file with pyinstaller, like so:
pyinstaller app_name.py --noconfirm --onefile --add-data "ffmpeg:ffmpeg"
chmod +x dist/app_name*
We are currently adding the signing and notarization of the app to our github workflow. The workflow build a successful app with the correct structure and is able to be run if we allow it past the MacOS firewall. We are signing the app like so:
run: |
BINARY_PATH="dist/app_name"
IDENTITY=$(security find-identity -p codesigning -v | grep -E 'Developer ID Application|Mac Developer' | head -n1 | awk -F\" '{print $2}')
echo "Using identity: $IDENTITY"
security unlock-keychain -p "" build.keychain
codesign --verbose=4 --force --options runtime --timestamp --entitlements .github/mac_build_tools/entitlements.plist --sign "$IDENTITY" "$BINARY_PATH"
codesign --verify --verbose=4 "$BINARY_PATH"
We then also move the binary around into an app structure and sign that as well like so
echo "Moving contents to SedPlot.app"
mkdir -p dist/app_name.app/Contents/MacOS
mv "$BINARY_PATH" dist/app_name.app/Contents/MacOS
cp .github/mac_build_tools/Info.plist dist/app_name.app/Contents
echo -n "APPL????" > dist/app_name.app/Contents/PkgInfo
echo "Signing App"
codesign --verbose=4 --force --options runtime --timestamp --entitlements .github/mac_build_tools/entitlements.plist --sign "$IDENTITY" dist/app_name.app
codesign --verify --verbose=4 dist/app_name.app
codesign --display --entitlements :- dist/app_name.app
If I upload the artifact and check its properties, everything looks good. It has the correct ID associated with it and shows as valid when I use codesign --verify on it. I start having issues when I move onto notarization, like so:
cd dist
echo "Zipping and checking the zip"
ditto -c -k --keepParent app_name.app app_name.zip
zipinfo -1 app_name.zip | head
echo "$AC_API_KEY" > AuthKey.p8
SUBMISSION_ID=$(xcrun notarytool submit app_name.zip \
--key AuthKey.p8 \
--key-id "$AC_KEY_ID" \
--issuer "$AC_ISSUER_ID" \
--team-id "TEAM_ID" \
--output-format json | jq -r '.id')
echo "Submitted notarization with ID: $SUBMISSION_ID"
All of the print statements for errors look good at this point, and the submission ID shows up in my history when I query it. However, all 7 attempts that I have made to notarize this app hang for indefinite amounts of time. We are hoping to submit our tool for publication soon, and it would be helpful to know if there is an issue causing the hang on our end or if this is an issue with new developers.
I have been reading around the forums and see some notes about this taking about a week until the system start to "learn" about our development team and our attempts to notarize. I also know that there is limited amounts that can be said about the backend of the notarizations step. What would be helpful is a few things:
I would like feedback about if there is a fundamental flaw in our approach for signing and notarizing our application, so that we can identify it.
I would appreciate some guidelines about how long to expect this notarization step to take until we can get notarization to finish within 10s of minutes, as we have a hard-coded 30 min wait time for the completion of the notarization in our workflow right now.
It would be helpful to know how to check our logs, as requesting the logs for any of our attempts results in being told that the logs are not available yet.
In case someone from apple is interested in this and wants to check, the most-recent submission ID (the one that I believe should be most-likely correct and valid) is 9ef24966-42a5-47db-a7e0-c6baf0310ac4
Thank you in advance!
Hi everyone,
I’ve just subscribed and configured my Apple Developer account.
I tried to notarize the first binary I need to distribute via Homebrew, but I’m experiencing an issue where the process has been stuck in “In Progress” status for more than 21 hours, without completing or returning any errors.
Here’s the relevant history:
createdDate: 2025-10-15T21:53:41.343Z
status: In Progress
The problem is the following:
We create a keychain item called NotaryTool (There are multiple accounts that use Notary tool and we created it for all of them )
This is created in the following way:
$ xcrun notarytool store-credentials
This process stores your credentials securely in the Keychain. You reference these credentials later using a profile name.
Profile name:
NotaryTool
We recommend using App Store Connect API keys for authentication. If you'd like to authenticate with an Apple ID and app-specific password instead, leave this unspecified.
Path to App Store Connect API private key:
//AuthKey_ABCDEFGH.p8
App Store Connect API Key ID:
<ABCDEFGH>
App Store Connect API Issuer ID:
ABCDEF-ABCD-1234-1234-1234567
Validating your credentials...
Success. Credentials validated.
Credentials saved to Keychain.
To use them, specify `--keychain-profile "NotaryTool"`
The key is downloaded from Apple and some other IDs are provided alongside.
These should remain in the keychain for as long as the user process is running (just like any other process)
A few runs are successful when we run with the profile that was created.
After a few runs we start seeing a failure.
Now we are seeing the following issue where the keychain item just vanishes:
Error: No Keychain password item found for profile: NotaryTool\n\nRun 'notarytool store-credentials' to create another credential profile.\nError during the not process\nTue Aug 26 06:02:09 2025 Notarization failed with notarytool with exit code 17664: \nTue Aug 26 06:02:09 2025 could not upload for notarization!!!
Topic:
Code Signing
SubTopic:
Notarization
Hi everyone,
My app notarization has been stuck in the “In Progress” state for the past 4 days. Here are the details:
createdDate: 2025-10-12T07:56:46.228Z
id: 8f8c9a33-1c72-489e-a189-74c797a12fbc
name: DevScribe.zip
status: In Progress
I checked the Apple System Status
page and noticed that the Developer Notarization service has been showing an outage since October 8th.
Could this ongoing outage be the reason my notarization is stuck? Is anyone else experiencing the same issue?
Any guidance or workaround would be greatly appreciated.
I’m unable to notarize the executable and the .app — the status has been showing “In Progress” for over an hour. Upon checking the xcrun logs, it indicates that the submission ID was not received. I also noticed there’s an Apple Developer Service outage reported since October 8, 2025. Could you please let me know when this outage is expected to be resolved? It would be very helpful.
I am facing an issue while trying to staple a notarization ticket to my signed macOS installer package.
Details of my setup:
The .pkg file is signed using my Developer ID Installer certificate.
The app inside the package is signed using my Developer ID Application certificate.
Notarization via xcrun notarytool completes successfully with status: Accepted.
However, the stapler command fails with the following error:
xcrun stapler staple -v /Users/mac-test/Desktop/IPMPlus_Arm_Installer_signed.pkg
Processing: /Users/mac-test/Desktop/IPMPlus_Arm_Installer_signed.pkg
Could not validate ticket for /Users/mac-test/Desktop/IPMPlus_Arm_Installer_signed.pkg
The staple and validate action failed! Error 65.
I verified that all other Apple notarization-related servers (api.apple-cloudkit.com, gs.apple.com, ocsp.apple.com, ocsp2.apple.com, crl.apple.com, developer.apple.com) are reachable.
However, the domain cdn-apple-cloudkit.apple.com cannot be resolved from any network, including mobile or public Wi-Fi.
Both dig and nslookup return “No answer” even when using external DNS servers like 8.8.8.8 or 1.1.1.1.
It appears that cdn-apple-cloudkit.apple.com might be required during the stapler validation process, but the DNS for this domain is not resolving.
Could you please confirm whether this CDN endpoint is required for stapling, and if there is currently an outage or configuration issue with cdn-apple-cloudkit.apple.com?