Skip to content

build: notarized developer id signing - #33

Merged
joshuagruenstein merged 2 commits into
mainfrom
build-signing
Jul 14, 2026
Merged

build: notarized developer id signing#33
joshuagruenstein merged 2 commits into
mainfrom
build-signing

Conversation

@joshuagruenstein

Copy link
Copy Markdown
Member

Wires up the Tutor Intelligence Apple Developer account (Team S52X7AGB2P).

  • Hardened runtime + secure timestamps on every codesign invocation (notarization hard-requires both).
  • Entitlements re-grant mic capture and Apple Events under the hardened runtime.
  • Sparkle signed inside-out per its distribution docs — the bare Autoupdate helper binary is what the first notarization attempt rejected.
  • Notarization switched from Apple-ID/app-specific-password to an App Store Connect API key (the team Apple ID is Microsoft-federated; app-specific passwords don't exist for it).
  • Ad-hoc dev builds keep the old signing path.

Proven end-to-end before merge: a locally built bundle with this exact recipe was submitted to Apple's notary service — status: Accepted (submission 9d83e166, first-ever from this team, ~40min extended scan; subsequent runs should take minutes). All five repo secrets are set.

After the first signed release: cask drops the quarantine postflight; users re-grant mic + accessibility once (signature identity changes ad-hoc → Developer ID), then permissions survive all future updates.

🤖 Generated with Claude Code

joshuagruenstein and others added 2 commits July 14, 2026 15:39
Notarization rejects binaries without the hardened runtime; hardened
runtime in turn strips mic capture and Apple Events unless re-granted
via entitlements. Sparkle's nested XPC services are signed individually
(each must carry the runtime flag). Ad-hoc dev builds keep the old
path.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@joshuagruenstein
joshuagruenstein merged commit 26d42cd into main Jul 14, 2026
2 checks passed
@joshuagruenstein
joshuagruenstein deleted the build-signing branch July 14, 2026 22:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant