Conversation
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why (draft for build-policy review)
In our local Mini/iMac setup, replacing an ad-hoc-signed Sender during development repeatedly changed its signing identity. This proposal makes persistent signing explicit and provides a check before replacing an installed Sender.
I am leaving this as a draft for your distribution/build-policy review. It is independently rebased on
maint-3.5(fb45b5f); it does not include application, pairing, input, or login-item changes.Change
TARGETBRIDGE_REQUIRE_PERSISTENT_SIGNING=1requires persistent signing; a configured identity also enables strict preflight, never silently falling back after failure. The standalone signing helper requires two explicit settings for ad-hoc signing.ENABLE_DEBUG_DYLIB=NO) rather than Xcode's preview/debug-dylib layout, which contains unsigned nested preview libraries when code signing is disabled during compilation. Interactive Xcode builds are unchanged.No certificate or private key is included. The scripts do not create/trust/export certificates, change TCC, or grant permissions. Stable identity is a prerequisite for update continuity, not a guarantee or a bypass of macOS permission decisions.
Validation
scripts/test_sender_signing_guards.sh <built-app>: seven negative guard checks pass.scripts/test_sender_signing.sh <built-app>: persistent-signature continuity passes for distinct signed executables; missing/unavailable identity, implicit ad-hoc signing, ad-hoc baseline/update, wrong bundle IDs, and tampered candidate/baseline are rejected.Real first-grant / permission migration and public Developer ID distribution remain separate interactive/distribution validation. This proposes an optional update-safe mode without forcing certificate provisioning into CI or the current release workflow.