Privacy policy
Last updated 2 November 2026
RosterCal ("the app", "we") is a free web tool that turns an airline crew roster PDF into calendar events. This policy explains what information the app uses and what happens to it. In short: your roster stays on your device, and the app only works with the calendar events it creates.
Your roster PDF
- The PDF you choose is read entirely inside your web browser on your own device.
- It is never uploaded to us or to anyone else. We do not run a server that receives roster data.
- The details read from it (such as your name, staff ID, flights and duty times) stay in your browser's memory and are gone when you close the page.
Google user data
If you choose to sync with Google Calendar, you sign in with Google and grant the app permission to:
- See your list of calendars (
calendar.calendarlist.readonly), only so you can choose which calendar to add your roster to. - View and edit events (
calendar.events), so the app can add your duties, update them when your roster changes, and remove duties that were cancelled.
How the app uses this access:
- It creates events for your roster in the calendar you pick, and marks each one with a hidden label so it can find it again.
- When you sync again, it reads only events carrying that label, for the months you uploaded, to work out what to add, change or remove. It never changes or deletes events you created yourself.
- Before any change, the app shows you a summary of what will be added, changed and removed, and nothing happens until you tap Apply.
All Google Calendar requests go directly from your browser to Google. Your sign-in token is held in your browser's memory only for the current session and is not stored or sent anywhere else. We do not store, sell, share or transfer your Google data, use it for advertising, or use it to train AI or machine learning models. No person at RosterCal can see your calendar.
RosterCal's use and transfer of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
You can remove the app's access at any time at myaccount.google.com/permissions, or by tapping Sign out in the app.
How we protect your data
RosterCal is designed so that sensitive data, your roster and your Google Calendar data, is never collected or stored by us in the first place. On top of that:
- Encryption in transit. The website is served only over HTTPS. All requests between your browser and Google's Calendar API use HTTPS (TLS), so your data is encrypted while it travels.
- No server and no database. RosterCal has no backend server or database. Your roster is processed only in your browser's memory, and your Google Calendar data goes only between your browser and Google.
- Short-lived, memory-only access token. Google sign-in gives your browser a temporary access token that expires after about one hour. It is kept only in memory, never written to storage, cookies or logs, and never sent to us. Signing out revokes it immediately.
- Least access. The app requests only the two Google Calendar permissions it needs: read-only access to your calendar list, and access to events. It only changes events it created itself, identified by a private tag, and only in the calendar you choose.
- You stay in control. Before anything is written to your calendar, the app shows exactly what will be added, changed or removed, and asks you to confirm the calendar.
- No tracking. No analytics, advertising or tracking scripts are used.
- Emailed rosters. Rosters emailed to us (see below) are kept only in the developer's Google account, protected by a strong password and 2-Step Verification, and only the developer can access them. They are deleted once your airline is supported.
Data retention and deletion
- Roster data: not retained. It disappears when you close or reload the page.
- Google user data: not retained by us. The events the app creates stay in your own Google Calendar, where you can edit or delete them at any time. Deleting the calendar you synced into removes them all.
- Settings on your device: kept in your browser until you clear its site data.
- Emailed rosters: deleted with the email once your airline is supported, or sooner if you ask.
If you email us a roster
If you choose to email us a roster PDF so we can add support for your airline, we use it only to learn the layout and test the converter. We don't share or publish it, and we delete it, together with your email, once your airline is supported, or sooner if you ask.
Calendar files (ICS)
If you choose "Generate an ICS file", the file is created on your device and saved or opened by your device. Nothing is sent to us.
Information stored on your device
The app remembers a few settings in your browser's local storage so you don't have to choose them every time: whether you last used Google Calendar or ICS, and which Google calendar you picked. You can clear them by clearing your browser's site data.
Hosting, fonts and the PDF reader
The website is hosted by Netlify. Its fonts load from Google Fonts, and the open-source PDF reader it uses (PDF.js by Mozilla) loads from the jsDelivr network. Like any website, these providers receive standard technical information such as your IP address and browser type when the page loads, under their own privacy policies. They never receive your roster or your Google data. We do not use analytics, cookies for tracking, or advertising.
Children
The app is meant for working airline crew and is not directed at children.
Changes
If this policy changes, the new version will be posted on this page with a new date.
Contact
Questions about privacy: limandlimgrokbot@gmail.com