Skip to content

OS integration permissions (TCC)

Access to native macOS user databases (Calendar, Reminders, Mail, and Notes) is enforced by the operating system’s Transparency, Consent, and Control (TCC) security framework. Because helper CLI processes execute out-of-process, Speedwave embeds binary metadata to ensure explicit user consent dialogs are triggered correctly. For architectural context, see OS integration internals.

Helper binaries embed their Info.plist manifests directly into the Mach-O binary structure. This ensures application bundle identifiers (such as pl.speedwave.desktop.calendar) and user-facing usage descriptions (NSCalendarsFullAccessUsageDescription, NSRemindersFullAccessUsageDescription) accompany spawned processes, preventing macOS from silently rejecting authorization requests.

Operating system permissions map to specific TCC security domains:

IntegrationTCC security domainAuthorization model
CalendarCalendarEventKit full calendar access
RemindersRemindersEventKit full reminders access
MailAppleEventsApple Events targeting Mail / Outlook
NotesAppleEventsApple Events targeting Apple Notes

Speedwave unifies authorization probing across EventKit and Apple Events into a coherent diagnostic state machine. When a target application (e.g. Mail or Notes) is closed, Speedwave detects process dormancy and advises launching the application rather than reporting spurious permission errors.

During application launch, Speedwave reconciles active OS integration toggles against host TCC records, automatically deactivating toggles whose permissions have been revoked at the operating system level.