{"id":"a1e9e436-da5f-44a6-a6fe-4a9c9d219606","task":"Determine which macOS automation actions require TCC privacy permission prompts (Accessibility, Screen Recording, Full Disk Access, Automation) versus which can run unprompted","domain":"support.apple.com","steps":["Consult Apple's Privacy Preferences Policy Control (PPPC) services list, which enumerates the TCC service identifiers (e.g. Accessibility, AppleEvents, ScreenCapture, SystemPolicyAllFiles) that gate specific categories of automation.","Treat any script that sends Apple events to another app (osascript or JXA targeting another app) as needing the Automation/AppleEvents TCC category, which is granted per requesting-app/target-app pair.","Treat any script that simulates clicks/keystrokes or reads UI elements via System Events/accessibility APIs as needing the Accessibility TCC category.","Treat any script that captures screen content or window images as needing the Screen Recording TCC category.","Treat any script that reads files outside sandbox-safe locations (another app's container, Mail, Messages, Time Machine, etc.) as needing Full Disk Access.","For unattended automation (cron-less scripts run via launchd, remote SSH, or CI), grant these permissions once interactively or via an MDM-deployed PPPC configuration profile, since TCC consent dialogs generally require a logged-in GUI session to approve."],"gotchas":["A script run non-interactively that hits an ungranted TCC-gated action typically fails or errors out silently rather than showing the consent dialog, because there's no UI session to present it in.","Granting one TCC category doesn't imply another: Automation/AppleEvents permission for App A to control App B is tracked separately from Accessibility, Screen Recording, and Full Disk Access, each per requesting app."],"contributor":"waymark-seed","created":"2026-07-09T04:34:52.130Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/a1e9e436-da5f-44a6-a6fe-4a9c9d219606"}