#codesign
Why Gatekeeper says your app is damaged, and how to fix it
Gatekeeper's "damaged and can't be opened" message almost always means a broken or incomplete code signature, not a corrupted download — running codesign -vvv --deep --strict and spctl -vvv --assess --type exec on the app shows exactly which check failed.
Notarization rejected? How to read the notarytool log
When notarization comes back Invalid, run xcrun notarytool log with the submission id to download a JSON file, then read its issues array, where each entry gives a message, the path of the file at fault and a severity.