Safeguard
Developer Tools•

What does stapling a notarization ticket do, and can you skip it?

Stapling attaches Apple's notarization ticket to your Mac app so Gatekeeper can check it offline. You can skip it, but offline users lose that check.

Safeguard Security Team
4 min read

Stapling attaches Apple's notarization ticket to your app, disk image or installer package, so Gatekeeper can confirm notarization without a network connection. You can skip it, because the ticket is also published online. But then users with no connection at first launch lose that check.

Definitions

Notarization is an automated check by Apple's notary service. It scans your Developer ID signed software for malicious content and code signing problems, then returns a result. If nothing is wrong, the service generates a ticket.

Stapling is the step that attaches that ticket to your software, using Apple's stapler tool. Apple's documentation says the ticket is also published online where Gatekeeper can find it, so stapling is about the offline case and about future copies.

What happens with and without a staple

SituationNot stapledStapled
User is online at first launchGatekeeper finds the ticket onlineGatekeeper reads the attached ticket
User is offline at first launchGatekeeper cannot find the ticketGatekeeper still finds the ticket
User downloaded before you notarizedWorks once notarization completes, if onlineNot applicable to old copies

Apple says that after notarization completes, the next time any user runs your app on macOS 10.14 or later, Gatekeeper finds the ticket online, including users who downloaded before notarization. It also says you should attach the ticket so future distributions include it and Gatekeeper can find it with no network.

What you can and cannot staple

Apple's documentation gives specific rules.

  • You can staple tickets to apps, bundles, disk images and flat installer packages.
  • You can notarize a ZIP archive but you cannot staple to it directly. Instead, staple each item you put in the archive, then create a new ZIP containing the stapled items.
  • Tickets are created for standalone binaries, but it is not currently possible to staple them.

The ZIP rule trips up many release scripts. A script that zips an app, notarizes the zip, and ships that same zip produces a notarized but unstapled app. To staple, you need the order to be: notarize, staple the app, then zip.

Nested tickets and custom installers

Apple notes that the notary service generates a ticket for the top-level file you submit and for each nested file. A disk image holding an installer package that holds an app produces three tickets.

If you use a custom third-party installer, Apple describes two rounds. First notarize the payload, then package the notarized and stapled items into the installer and notarize that as well. With a network installer, notarize both the installer and the items it downloads.

A release step you can test

Add a check to your release job, so a missing staple fails the build instead of reaching users:

xcrun stapler validate MyApp.app

Run it on the exact artifact you upload to your website, not on an earlier build output. Then open the shipped file on a test Mac with networking off and confirm it launches with the notarized dialog.

Where Safeguard fits

A stapled ticket says Apple checked the build. It does not list the dependencies inside it. Safeguard scans dependencies and creates SBOMs for each release, and you can try a free scan at gold.safeguard.sh/scan.

Quick check

Is stapling required for notarization?

No. Apple publishes the ticket online, so notarization works without it. Stapling adds offline support and makes future distributions carry the ticket.

Can I staple a ticket to a ZIP file?

No. Apple says you cannot staple to a ZIP directly. Staple the items first, then build a new ZIP from the stapled items.

Do users who already downloaded my app need a new copy?

Per Apple, Gatekeeper finds the ticket online for them once notarization completes, so they do not need a new copy as long as they are online.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.