Privacy and provider access
Calendar access stays under your control.
Flight Deck Calendar is read-only by default. It has no hosted backend, telemetry, analytics, advertising, or AI integration. Provider tokens and the local cache remain on the workstation, and changes you save go directly to the selected provider.
01 / Data accessed
Google user data we access
Google authorization requests openid, email, https://www.googleapis.com/auth/calendar.events.readonly, and https://www.googleapis.com/auth/calendar.calendarlist.readonly. It also requests offline access so the local service can refresh in the background. If you separately enable editing, Flight Deck also requests https://www.googleapis.com/auth/calendar.events.owned for events on calendars you own.
The identity scopes provide the Google account identifier and email address used to label the connected account. The calendar-list scope provides calendar identifiers, names, colors, selection state, and deletion state. The events scope provides event identifiers, titles, times, all-day status, location, description, organizer, event status, meeting links, source links, and update times.
Personal Outlook.com authorization uses Microsoft's /consumers authority and requests openid, profile, offline_access, User.Read, and Calendars.Read. If you separately enable editing, Flight Deck also requests Calendars.ReadWrite.
Editing is optional for each account. Flight Deck does not send invitations, search availability, book rooms, or schedule events through a Flight Deck server.
02 / Data use
How we use Google user data
Flight Deck uses Google Calendar data only to display calendars and events, let you choose which calendars appear, select the current or nearest event, refresh the local read-only view, and open a meeting or source link when you request it.
If you enable editing, Flight Deck uses the added provider permission to create, update, copy, or delete events on calendars owned by that account. Only changes confirmed with Save are sent to the provider. Copying an event does not delete the original. Deletion requires separate confirmation.
The calendar-list scope is required to identify your calendars and support calendar visibility controls. The events scope is required to read events from those calendars. A narrower identity-only grant cannot provide either feature, and either calendar scope alone cannot provide both the calendar selector and the event views.
The developer cannot access your calendar data or tokens because the app sends neither to a Flight Deck server.
04 / Protection
Data protection
- OAuth tokens
- Flight Deck stores access and refresh tokens in the desktop Secret Service keyring under the
omarchy-calendarapplication attribute. - Calendar cache
- Flight Deck stores account identifiers and labels, calendar identifiers, names, and colors, event titles, times, locations, descriptions, organizers, status, and meeting and source links. It also stores provider event and series identifiers, revision keys, time zones, recurrence details, ownership and writability flags, attendee presence, supported meeting providers, synchronization state, and provider refresh health. The local SQLite cache is
~/.local/state/omarchy-calendar/calendar.dbwith private file permissions. Its parent directory is accessible only to the local user. - Network and links
- Flight Deck communicates with Google and Microsoft over HTTPS. Meeting and source actions accept only HTTPS URLs returned with an event and pass each URL to the desktop opener without a shell.
- Registration metadata
- Bundled Google and Microsoft desktop registrations are public application metadata. They cannot grant account access without your browser consent and tokens. Local provider overrides use private file permissions.
The project does not collect, transmit, or retain calendar data on a Flight Deck server because no such server exists.
05 / Retention
Retention and deletion
Flight Deck retains Google OAuth tokens until you disconnect Google or reset local data. It retains cached Google Calendar data until a successful refresh replaces the applicable time window, you disconnect Google, or you reset local data. Flight Deck retains no Google user data on a developer-controlled server.
When a refresh fails, Flight Deck keeps the last successful local cache visible and marked stale.
Disconnecting Google or Outlook deletes that provider's OAuth tokens from Secret Service and removes its cached accounts and events immediately. It does not undo changes previously saved to the provider.
The in-app flow uses two activations: choose Reset local data, then choose Confirm reset. The terminal command calendarctl reset-local-data runs immediately when invoked.
Both paths delete all Flight Deck provider tokens, imported Google app credentials, cached events, provider health records, and local provider client-ID overrides. They preserve bundled public registration metadata and appearance settings. They do not delete or undo Google or Microsoft calendar data.
Uninstalling the plugin alone does not delete data. Run calendarctl reset-local-data first when complete local removal is wanted.
06 / This website
This website does not collect user data.
The site contains no JavaScript, analytics, cookies, tracking, forms, advertising, backend, or database. It loads its stylesheet and product image from relative paths on the same public site.
The Terms of Service describe the software license and provider boundaries.