Skip to content

ci: codesign + staple the DMG, and staple the app - #14

Merged
VU3ESV merged 1 commit into
mainfrom
ci/harden-dmg-signing
Jun 4, 2026
Merged

ci: codesign + staple the DMG, and staple the app#14
VU3ESV merged 1 commit into
mainfrom
ci/harden-dmg-signing

Conversation

@VU3ESV

@VU3ESV VU3ESV commented Jun 4, 2026

Copy link
Copy Markdown
Owner

What

Follow-up hardening for the signed+notarized release (the original CI PR is already merged). Applies the same DMG-hardening proven on LP-100A v0.2.13.

Before this, the release notarized + stapled the DMG but never codesigned the DMG container, so spctl -a -t open rejected it ("no usable signature") — a downloaded DMG could prompt Gatekeeper on mount even though the app is notarized. The app was also not individually stapled (weaker offline).

Change (package-signed.sh)

  1. build app → embed extension → sign inside-out
  2. notarize the app → staple the app (ticket travels with the bundle offline / once copied out of the DMG)
  3. build DMG → codesign the DMG → notarize + staple the DMG

Two notary submissions; gated on secrets as before; ad-hoc fallback unchanged.

Note

Recreated on a fresh branch off main: the hardening commit was accidentally pushed onto the already-merged CI branch, so it never reached main. This PR carries that exact commit cleanly.

🤖 Generated with Claude Code

package-signed.sh now notarizes + staples the *app* before building the DMG (so
the bundle carries its ticket offline / once copied out), then codesigns the
DMG and notarizes + staples the DMG itself. Without the DMG codesignature
`spctl -a -t open` rejects it ("no usable signature") and a downloaded DMG can
prompt Gatekeeper on mount even though the app is notarized. Two notary
submissions; gated on secrets as before.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@VU3ESV
VU3ESV merged commit d7e8085 into main Jun 4, 2026
1 check passed
@VU3ESV
VU3ESV deleted the ci/harden-dmg-signing branch June 4, 2026 14:36
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