Single-file builds for macOS, Windows, and Linux. The macOS build is signed with a Developer ID Application certificate and notarized by Apple, so Gatekeeper opens it without a quarantine warning.
ad9088962874da2541ef8540a937d47edd077c10f08092f4417795f7c7a0cc6646ce1069571a5d949722d16fc9487c74efb77b2fb7857448d69030f734ddf2ad
e805ea831376ee2c8e24312e362d85fe96c74629bb689d17a1b49a989604958c0cfd34dc6f22705d08b40ae6c94be0d7b3060ccbd3e98cf8cee1f33745f70bc2
4490afa5222a5cc1e078cd38eafb10d5e49c59a21c22c7603fadd313fe35ca46
After downloading, you can confirm the signature, the notarization ticket, and that Gatekeeper is happy. The DMG and the .app bundle inside it are both signed and stapled separately:
cd ~/Downloads
# 1. Gatekeeper accepts the DMG itself
spctl --assess --type install --verbose=2 rbterm-macos-arm64.dmg
# accepted
# source=Notarized Developer ID
# Mount it and assess the bundle inside.
hdiutil attach rbterm-macos-arm64.dmg
cd /Volumes/rbterm
# 2. Signing identity + hardened runtime
codesign -dv --verbose=4 rbterm.app 2>&1 | grep -E "Authority|flags"
# Authority=Developer ID Application: Richard Blundell (4L7XW5NPCX)
# Authority=Developer ID Certification Authority
# Authority=Apple Root CA
# CodeDirectory v=20500 size=… flags=0x10000(runtime) …
# 3. Notarization ticket is stapled on the bundle (works offline)
xcrun stapler validate rbterm.app
# The validate action worked!
# 3. Gatekeeper accepts it
spctl --assess --type execute --verbose=2 rbterm.app
# rbterm.app: accepted
# source=Notarized Developer ID
Every release on this page is reproduced verbatim
from a tagged commit in the source repository. On macOS the signed
build flow is make app-distributable; on Linux/Windows
the standard cmake -S . -B build && cmake --build build
reproduces the binary.