Skip to content

Enable hardened runtime resource access entitlements#46

Merged
khoi merged 1 commit into
mainfrom
security/tcc-fs-access
Feb 10, 2026
Merged

Enable hardened runtime resource access entitlements#46
khoi merged 1 commit into
mainfrom
security/tcc-fs-access

Conversation

@khoi
Copy link
Copy Markdown
Contributor

@khoi khoi commented Feb 10, 2026

Summary

  • Enable hardened runtime resource access entitlements (audio, camera, contacts, calendars, location, photos, AppleScript) to match Ghostty's entitlement setup
  • Programs running inside the Supacode terminal can now properly request TCC-protected resources through macOS permission dialogs

Closes #26

Context

Users raised concerns about macOS TCC permission popups for file system access (iCloud Drive, Documents, other app data). Investigation confirmed:

  • These popups are standard behavior for all non-sandboxed terminal emulators (Ghostty, iTerm2, Alacritty, etc.) — macOS attributes child process file access to the parent app
  • Supacode's own code only accesses ~/.supacode/ and user-selected repositories
  • No file paths are sent to analytics (PostHog tracks event names only) or error tracking (Sentry logs operation names and exit codes only)
  • The resource access entitlements were previously set to NO, unlike Ghostty which declares them — this PR aligns the configuration

Test plan

  • Build the app and verify it launches without issues
  • Run a terminal command that requests camera/microphone access and verify the TCC dialog appears correctly attributed to Supacode

Match Ghostty's entitlement setup so programs running inside the
terminal can request camera, microphone, contacts, calendar, location,
photos, and AppleScript access through macOS TCC.
@khoi khoi merged commit b771f80 into main Feb 10, 2026
1 check passed
@khoi khoi deleted the security/tcc-fs-access branch February 10, 2026 05:59
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.

macOS permission prompts during Ghostty initialization

1 participant