MenuCal Privacy Policy
Last updated: 30 August 2026
In short: MenuCal has no servers. Your calendar data is read on your Mac, shown on your Mac, and stored on your Mac. Nothing is transmitted to me or to any third party. The only network requests MenuCal makes go directly to Google's own API, and only when you sign in or change an RSVP.
1. Who this covers
This policy applies to MenuCal, a menu bar application for macOS (the "App"), published by Saketh ("I", "we"). It does not cover the sak3th.dev website, which has its own policy. Contact: v.saketh@gmail.com.
2. There is no backend
MenuCal is a local application. There is no MenuCal server, no hosted database, no user account, and no telemetry. I operate no infrastructure that receives your data, and therefore hold no data about you of any kind. This is not a policy commitment I could quietly change without shipping you a new version of the app — the source code is public at github.com/sak3th/menucal.
3. Two separate sources of calendar data
MenuCal reads calendar information from two places, and it is worth being precise about which is which.
3a. Apple Calendar, via EventKit
When you grant calendar permission in macOS, MenuCal reads your events through Apple's EventKit framework — the same interface Calendar.app uses. This data comes from your Mac's local calendar store. It is never sent to Google, never sent to me, and never leaves your device.
3b. Google Calendar, via the Google Calendar API
If you choose to sign in with Google, MenuCal can also read your Google Calendar events and change your RSVP on them. This is optional: MenuCal displays your schedule without it, and you can use the App indefinitely without ever connecting a Google account.
4. Google data MenuCal accesses
MenuCal requests exactly one Google scope:
| Scope | What MenuCal does with it |
|---|---|
https://www.googleapis.com/auth/calendar.events |
Read: retrieves your events (title, time, location, organiser,
attendee list, and your own response status) so the App can show your schedule
and identify which invitations are awaiting a reply. Write: updates only your own attendee response status to accepted, declined, or tentative when you RSVP from the menu bar. Google provides no narrower scope that permits responding to an invitation, so this is the least permissive scope that makes the feature possible. |
MenuCal does not create, modify, or delete events; does not change any other attendee's response; does not alter event details, guest lists, or calendar settings; and requests no other Google scope.
5. What is stored, and where
Everything MenuCal stores lives on your Mac.
- Calendar events. Cached locally so the menu bar can render instantly. The cache lives in MenuCal's application support directory inside your home folder, and persists for as long as the App is installed.
- Google sign-in tokens. When you connect a Google account, Google issues MenuCal an access token and a refresh token. These are written to MenuCal's application support directory in your home folder. They are protected by standard macOS file permissions — readable only by your own user account — and, if you have FileVault enabled, by full-disk encryption at rest. They are not additionally encrypted by MenuCal itself. See section 8.
- Preferences. Your App settings, stored in the standard macOS preferences location.
None of the above is transmitted anywhere. Deleting the App and its application support directory removes all of it.
6. What MenuCal does not do
- No analytics, crash reporting, or usage telemetry.
- No advertising, and no use of your data for advertising.
- No sale, rental, or trade of your data.
- No use of your data to train AI or machine learning models.
- No subprocessors, contractors, or third parties with access to your data.
- No transfer of your data to me, under any circumstance.
7. Google API Services User Data Policy
MenuCal's use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
8. Security
All communication with Google is over HTTPS. Because MenuCal has no backend, there is no server-side store of your data that could be breached.
The meaningful risk is local. Your Google refresh token is stored on your Mac in MenuCal's application support directory, protected by macOS file permissions rather than by encryption applied by MenuCal. A process running under your own user account, or someone with access to an unlocked Mac, could read that file. That token would let them read your calendar and change your RSVPs until you revoke it. Enabling FileVault protects it while your Mac is powered off; revoking access at myaccount.google.com/permissions invalidates the token immediately.
9. Your controls
- Revoke Google access at any time at myaccount.google.com/permissions. MenuCal loses all Google access immediately.
- Revoke calendar access in System Settings → Privacy & Security → Calendars.
- Delete everything by removing the App and its application support directory. Since I store nothing, there is no deletion request to send me and nothing for me to erase on your behalf.
10. Your rights
Data protection laws including the GDPR and CCPA give you rights to access, correct, export, and delete personal data held about you, and to object to its processing. Because MenuCal transmits no data to me and I hold no personal data about any user, there is nothing for me to disclose, correct, export, or delete. Your calendar data is already entirely in your own possession, on your own device. If you believe I hold data about you, write to v.saketh@gmail.com and I will respond within 30 days.
11. Children
MenuCal is not directed at children under 13, and I do not knowingly collect data from them — or, as described above, from anyone.
12. Changes
If this policy changes, the date above changes with it, and the full revision history is public in the site repository. Material changes affecting how Google data is handled will also be noted in the release notes of the version that introduces them.