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.
Embedded binary metadata (Info.plist)
Section titled “Embedded binary metadata (Info.plist)”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.
TCC service classifications
Section titled “TCC service classifications”Operating system permissions map to specific TCC security domains:
| Integration | TCC security domain | Authorization model |
|---|---|---|
| Calendar | Calendar | EventKit full calendar access |
| Reminders | Reminders | EventKit full reminders access |
AppleEvents | Apple Events targeting Mail / Outlook | |
| Notes | AppleEvents | Apple Events targeting Apple Notes |
Unified permission orchestration
Section titled “Unified permission orchestration”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.
Startup reconciliation
Section titled “Startup reconciliation”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.