tauri-apps/tauri
tauri-macos-sign
Active contributors: Lucas Fernandes Nogueira, Amr Bashir
Purpose
crates/tauri-macos-sign is a focused helper for code-signing and notarizing macOS bundles. The bundler (tauri-bundler) and the CLI's signer subcommand call into it; downstream apps don't touch it directly.
It abstracts:
- Looking up signing identities from the keychain.
- Running
codesignagainst an.appor.dmgwith the right flags (entitlements, hardened runtime, deep signing). - Submitting the bundle to Apple's notary service (
xcrun notarytool/altool) and stapling the resulting ticket.
Directory layout
crates/tauri-macos-sign/
├── Cargo.toml
├── README.md
└── src/
└── (codesign / notary helpers)How it works
The helper wraps platform tools via Command invocations rather than re-implementing signing in pure Rust. This keeps the crate small and lets it stay in lockstep with whatever Apple ships in Xcode.
graph TD
Bundler["tauri-bundler<br/>macos::sign"] -->|"sign(path, identity, entitlements)"| Lib["tauri-macos-sign"]
Lib -->|"Command codesign --options runtime ..."| codesign["codesign"]
Lib -->|"Command xcrun notarytool submit ..."| notary["Apple notary"]
notary --> Staple["xcrun stapler staple"]Integration points
- Up:
tauri-bundler(DMG /.app/ iOS code paths) andtauri-cli'ssignersubcommand. - Down: spawns
codesign/xcrun/securityfrom the system. Pure subprocess.
Entry points for modification
- Adjusting
codesignflags, entitlements layout, or hardened-runtime defaults: this crate'ssrc/. - Adding support for newer notary protocols: same file; mirror the corresponding
xcruninvocation.
This crate is macOS-only by virtue of its dependencies; it compiles into a Linux/Windows build but its functions are no-ops or unreachable there.
Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.