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
I have two Macs, desktop and laptop. Since they both belong to me, they both sign in with the same Apple account. I find that if I sign and notarize an app on one, the other must be powered off. Otherwise, notarization will fail.
Is this intentional? If so, what is the rationale? Is there a way to fix or avoid it?
Both systems run macOS Tahoe with the latest updates. Both are set up the same way for signing using the same certificates. The build process is identical on each.
Topic:
Code Signing
SubTopic:
Notarization
I am using the xcrun notarytool submit --apple-id xxxxx@gmail.com --password xxxxx--team-id xxxxxx --output-format json --wait --no-progress /my/dmg/file
to notarize my DMG file. But it always gives me back the error,
Error: HTTP status code: 403. A required agreement is missing or has expired. This request requires an in-effect agreement that has not been signed or has expired. Ensure your team has signed the necessary legal agreements and that they are not expired.
I did log in my developer account and found no place to sign any agreement. Actually in the morning when I logged in the developer account, it indeed pop up the agreement for me to sign and I did sign it. But now it seems I don't have any more agreements to sign. So, any ideas about what I should do?
Topic:
Code Signing
SubTopic:
Notarization
Hello,
we have a product package which is structured like this:
/ Installer.pkg
/ Distribution
/ Main Component.pkg
/ Scripts
/ preinstall
/ postinstall
/ helper [ Mach-O executable ]
/ Payload
/ Application Bundle.app
/ Another Component.pkg
...
The helper is our custom CLI helper tool which we build and sign and plan to use it in pre/post install scripts.
I'd like to ask if we need to independently notarize and staple the helper executable or just the top level pkg notarization is sufficient in this case?
We already independently notarize and staple the Application Bundle.app so it has ticket attached. But that's because of customers who often rip-open the package and pick only the bundle. We don't plan to have helper executable used outside of installation process.
Thank you,
o/
The process has been stuck "In Progress" for 8 days now. We had a scheduled New Year Offer for our software that would run based around this important new update, and obviously we missed it because of this crazy issue. Notarization used to take a few seconds. Now it does not work, neither on my newly set up Mac, nor in my old (completely unchanged) one.
My company and finances are totally frozen at this point due to this issue. PLEASE help, look into my actual account and do what is needed!
Topic:
Code Signing
SubTopic:
Notarization
Hey there!
Thanks so much for all the great posts about this topic!
I'm fairly new to Mac development since a few months back, and I've been really impressed with Apple's developer tools and ecosystem so far. It's been an exciting journey building for macOS!
However, I've hit a bit of a roadblock with the notarization process via direct download and would really appreciate some guidance from you more experienced developers. I understand that Apple has built a well-designed automated system to maintain high security for users, but I'm wondering:
What's the normal timeframe for notarization to complete?
What are usually the most common reasons if it takes longer than expected?
Is there anyone at Apple who can help if the process gets stuck?
I'm really excited to launch my app and continue developing for this amazing platform, so any tips from experienced Apple developers would be hugely appreciated!
Thanks in advance! 🙏
Topic:
Code Signing
SubTopic:
Notarization
I have recently enrolled in the Apple Developer to get my app notarized, and submitted an Archive for notarization, but it is taking forever. It has almost been a whole day, but the status is still in progress, whereas I have seen other developers say that the same takes 10-15 mins to an hour for them. Am I doing anything wrong? Please guide me through this.
Topic:
Code Signing
SubTopic:
Notarization
I have been waiting well over 24 hours for my notarization to occur, and nothing - no "we might take a while if it is your first app" or any mention of that in the docs.
So why is it taking this long? What's the hold up???
If this is part of the process, Apple should officially document it, so developers aren't left resubmitting and wondering. This is not a good first experience with the developer program.
Successfully received submission history.
history
--------------------------------------------------
createdDate: 2026-01-07T05:22:34.038Z
name: URSAMajorSpaceStationSST206_v1.0.0.zip
status: In Progress
--------------------------------------------------
createdDate: 2026-01-06T01:55:05.144Z
name: URSAMajorSpaceStationSST206_v1.0.0.zip
status: In Progress
--------------------------------------------------
createdDate: 2026-01-05T20:55:50.624Z
name: test.zip
status: Invalid
--------------------------------------------------
createdDate: 2026-01-05T20:32:52.944Z
name: URSAMajorSpaceStationSST206.vst3.zip
status: In Progress
--------------------------------------------------
createdDate: 2026-01-05T19:37:15.426Z
name: URSAMajorSpaceStationSST206.component.zip
status: In Progress
--------------------------------------------------
createdDate: 2026-01-05T18:37:43.101Z
name: URSAMajorSpaceStationSST206.component.zip
status: In Progress
Topic:
Code Signing
SubTopic:
Notarization
Hello,
I'm experiencing a persistent issue where all my notarization submissions remain stuck in "In Progress" indefinitely. This has been happening for the past several days, affecting multiple submissions.
Environment:
macOS 26.2 (Build 25C56)
Using xcrun notarytool submit for submissions
Team ID: M3FN25UQK2
Timeline of the issue:
Starting from January 2nd, 2026, my submissions began getting stuck in "In Progress"
As of January 6th, I have 6+ submissions that have been "In Progress" for 24-72+ hours
Prior to this, notarization was working normally (I have multiple "Accepted" submissions from January 1st)
What I've tried:
Verified my Developer ID Application certificate is valid and properly installed
Checked Apple Developer System Status page (shows "Operational")
Verified code signatures using codesign -vvv --deep --strict
Contacted Apple Developer Support (no response yet)
Checked my Apple Developer account for any pending agreements or warnings (none found)
Is there any known issue affecting notarization processing, or could my Team ID be rate-limited/flagged? Any guidance on how to resolve this would be greatly appreciated.
Thank you!
Hi everyone,
Has anyone seen notarization behave like this?
We have one specific app (let’s call it App A) with a Network Extension system extension. Whenever we submit App A for notarization:
• Its submission stays “In Progress” indefinitely
• The provisioning profile for its system extension becomes Invalid on its own
• All our other apps suddenly fail notarization
• And the whole team immediately gets:
StatusCode 7000 – “Team is not yet configured for notarization.”
Apple Support restored notarization once(Case 102738171569), and we confirmed other apps notarize fine — until we submit App A again, which instantly triggers the same team-wide block. This cycle has repeated twice.
We verified:
• Hardened runtime
• Proper system extension signing
• No private API usage
• No get-task-allow
• No ATS violations
What’s confusing is that this doesn’t look like a normal notarization rejection. Normal failures don’t invalidate provisioning profiles or disable notarization for the entire team. It feels more like an automated security heuristic or misclassification.
My questions:
1. Can a single app or system extension trigger an automated team-wide notarization disable?
2. Can an entitlement or NE configuration issue cause StatusCode 7000 instead of a standard rejection?
3. If this could be a false positive, is there a specific team at Apple who can manually review/clear it?
Any insight would be greatly appreciated.
Notarization Rejects Valid Developer ID Certificates - Apple Infrastructure Issue?
Environment
macOS: 15.6.1
Xcode: 26.0.1
Architecture: arm64 (Apple Silicon)
Team ID: W----------
Certificate Status: Valid until 2030 (verified on developer.apple.com)
Problem
Apple's notarization service consistently rejected properly signed packages with error:
"The binary is not signed with a valid Developer ID certificate."
Despite:
✅ Valid certificates on developer.apple.com
✅ Local signing succeeds (codesign --verify passes)
✅ Proper certificate/key pairing verified
✅ Package structure correct
Failed Submission IDs
September 2025:
adeeed3d-4732-49c6-a33c-724da43f9a4a
5a910f51-dc6d-4a5e-a1c7-b07f32376079
3930147e-daf6-4849-8b0a-26774fd92c3c
b7fc8e4e-e03c-44e1-a68e-98b0db38aa39
d7dee4a1-68e8-44b5-85e9-05654425e044
da6fa563-ba21-4f9e-b677-80769bd23340
What I've Tried
Re-downloaded fresh certificates from Apple Developer Portal
Verified certificate chain locally
Tested with multiple different builds
Confirmed Team ID matches across all configurations
Verified no unsigned nested components
Waited 3 months for potential propagation delays
Verified all agreements are current and accepted
Re-tested with minimal test package - same error persists
Local Verification
# Certificates present and valid
security find-identity -v -p codesigning | grep "Developer ID"
1) XXXXXXXXXX "Developer ID Application: <<REDACTED>> (W----------)"
2) XXXXXXXXXX "Developer ID Installer: <<REDACTED>> (W----------)"
# Signing succeeds
codesign --verify --deep --strict --verbose=2 [app] → Success
Question
This appears similar to thread #784184. After 3 months and ensuring all agreements are signed, the issue persists with identical error.
The certificates work for local signing but Apple's notarization service rejects them. Could this be:
Backend infrastructure issue with Team ID W----------?
Certificate not properly registered in Apple's notarization database?
Known issue requiring Apple Support intervention?
Has anyone else experienced valid Developer ID certificates being rejected specifically by the notarization service while working locally?
Topic:
Code Signing
SubTopic:
Notarization
Tags:
App ID
Notarization
Signing Certificates
Code Signing
I've submitted my app four times, each time waiting a few hours for something to happen, then reducing the file size of my *.dmg and trying again. The first two seemed to have completed after 36 hours, but I no longer have that specific signed binary (and its a much smaller binary now anyway). The latest two are still "In Progress" and its almost been 48 hours.
I know my process isn't wrong, and my app isn't somehow incorrectly built or being denied because two were accepted. The outage page shows green for the notary tool (https://developer.apple.com/system-status/) so I'm not sure what the hold up is.
I am submitting .dmg notarization requests from Sequoia 15.7.3 using xcrun submit. My developer certificate was created in the last two weeks and is valid. I have had some successful notarizations already so I know that my configuration is correct. However, for the last 48 hours all of my submissions are stuck at 'in progress'. Is there an issue with the notarization service on Apple's side?
Topic:
Code Signing
SubTopic:
Notarization
In an AppleScript applet, compiling and exporting in Script Editor replaces a custom icon with the default. To retain a custom icon, it is necessary, after exporting, to use Finder's "Get info..." to copy the icon from another file and paste into the icon for the applet. The custom icon is stored in the "Icon?" file, located in the root of the applet bundle. The applet can then be signed and notarized.
With macOS Tahoe, that procedure no longer works. That is because the notarization process now wipes the "Icon?" file. The file remains in place but has zero size. Thus Finder shows the default applet icon.
Does anyone know of a way to provide a custom icon for a signed and notarized AppleScript applet ?
We package a nightly build of our application for distribution. About 1 month ago, this package has started showing the "Apple could not verify 'Application' is free of malware" message.
This only happens to our development branch package. We run the same pipeline with the same signature for our stable branch and the stable package does not show this message.
$ codesign -dv --verbose=4 KiCad.app
Executable=/Applications/KiCad/KiCad/KiCad.app/Contents/MacOS/kicad
Identifier=org.kicad.kicad
Format=app bundle with Mach-O universal (x86_64 arm64)
CodeDirectory v=20500 size=51931 flags=0x10000(runtime) hashes=1612+7 location=embedded
VersionPlatform=1
VersionMin=722432
VersionSDK=983552
Hash type=sha256 size=32
CandidateCDHash sha256=4f15435c1d3cc056a83432b78a2f6acae8fb0e6d
CandidateCDHashFull sha256=4f15435c1d3cc056a83432b78a2f6acae8fb0e6d03cbe70641719fd1ced3395b
Hash choices=sha256
CMSDigest=4f15435c1d3cc056a83432b78a2f6acae8fb0e6d03cbe70641719fd1ced3395b
CMSDigestType=2
Executable Segment base=0
Executable Segment limit=3915776
Executable Segment flags=0x1
Page size=4096
CDHash=4f15435c1d3cc056a83432b78a2f6acae8fb0e6d
Signature size=9002
Authority=Developer ID Application: KiCad Services Corporation (9FQDHNY6U2)
Authority=Developer ID Certification Authority
Authority=Apple Root CA
Timestamp=Dec 19, 2025 at 5:21:05 AM
Info.plist entries=17
TeamIdentifier=9FQDHNY6U2
Runtime Version=15.2.0
Sealed Resources version=2 rules=13 files=37238
Internal requirements count=1 size=176
codesign --verify --verbose=4 KiCad.app
<snipped all libs validated>
KiCad.app: valid on disk
KiCad.app: satisfies its Designated Requirement
% spctl --assess --verbose=4 KiCad.app
KiCad.app: accepted
source=Notarized Developer ID
We distribute this via dmg. The notarization ticket is stapled to the dmg and the dmg opens without warning.
Any help would be appreciated
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
I am trying to notarize a VS-Code Fork Electron based app for non-App store distribution. Its just same for more than 24hrs, it just says processing. Looking for someone who could help me.
Thanks
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.
I'm currently observing a problem similar to this thread https://developer.apple.com/forums/thread/737334
The difference is that this is happening after updating a system extension.
Basically same error, sysextd complains it can not check that the system extension is notarized: macOS Error 3 + Error code=-67050.
I think macOS (Sequoia 15.3.2 or 15.7.2 if it matters) is wrong in this case for the following reasons:
when using spctl assess -t install, the system extension is reported to be correctly notarized.
when restarting the Mac, the updated system extension is correctly checked and staged.
if I run spctl assess before sysextd tries to check the system extension, it works.
I'm currently thinking of 2 reasons why the check does not work:
sysextd is somehow trying to work with a cached assessment that has become invalid after the system extension was updated.
macOS needs way more time between the update of the files and the request to update the staged extension. I tried adding a 5-second delay. This does not seem to work or at least reliably.
I tried just touching the system extension, no positive result. Unfortunately, in macOS Sequoia, it is not possible anymore to reset-default using spctl and see if it solves the issue, at least the next time the update is performed.
[Q] Is there some magic operation that would help macOS correctly check the notarization of an updated system extension?
i encountered an error when i distributing my app on xcode 26.0.1. Below is error log.
{
"logFormatVersion": 1,
"jobId": "ed2b622b-61f6-4c8a-90b7-7c3cdfbafc7a",
"status": "Rejected",
"statusSummary": "Team is not yet configured for notarization. Please contact Developer Programs Support at developer.apple.com under the topic Development and Technical / Other Development or Technical Questions.",
"statusCode": 7000,
"archiveFilename": "mychm.zip",
"uploadDate": "2025-12-10T01:50:34.198Z",
"sha256": "b61e224154823c8e06c3db904d67a78969f1564c7602f1fa77335fdd12a8d22b",
"ticketContents": null,
"issues": null
}