The short version
DeadlineSync is a free Chrome extension that syncs your Moodle assignment deadlines into your Google Calendar. It runs entirely in your browser. We do not have servers that receive your data, we do not require an account, and we do not collect, store, sell, or share any of your personal information. There is no analytics and no telemetry of any kind.
The extension talks to exactly two places, both of which are already yours: your own Moodle site, and your own Google Calendar.
What DeadlineSync reads from Moodle
To do its job, DeadlineSync reads deadline information from the Moodle site you are signed in to. Specifically:
- Your assignments — the assignment name exactly as your instructor wrote it, the course name, the due date, Moodle’s internal event ID, and whether the item is still awaiting submission.
- Your Moodle calendar feed. For background syncing, DeadlineSync uses Moodle’s own calendar export link. That link covers your whole personal Moodle calendar, not only assignments, so other events on it (quizzes, course events, personal entries) may also be read and mirrored into your calendar.
- Session details needed to ask Moodle on your behalf. While reading the page, the extension picks up your Moodle session key and user ID so it can query Moodle’s calendar API as you. These are used in the moment and are never stored by the extension and never sent anywhere but Moodle itself.
- Your calendar export link. If you don’t already have one, DeadlineSync asks Moodle to issue you a calendar export link — the same link you would get yourself from Moodle’s Calendar → Export page. This link contains a personal access token, and it is saved in your browser’s local storage so the daily background sync can refresh your calendar without you having a Moodle tab open. Nothing else on your Moodle account is written to or changed.
All of this stays inside your browser and travels only between your browser and your own Moodle server, using the login session you already have.
What DeadlineSync does in your Google Calendar
DeadlineSync accesses your Google Calendar only after you authorize it through Google’s own sign-in screen. It requests a single scope:
https://www.googleapis.com/auth/calendar.app.created
Google’s consent screen describes it as “Make secondary Google calendars, and see, create, change, and delete events on them.” The word secondary is the important one: this scope reaches only calendars DeadlineSync itself created.
Within your Google account it does exactly three things:
- 1Creates its own calendar. DeadlineSync makes a dedicated calendar named “Moodle Assignments” and puts every synced deadline there. It does not write into your existing calendars.
- 2Sets the colour of the “Moodle Assignments” calendar to the colour you pick in the extension’s settings.
- 3Creates, updates, and deletes events inside that one calendar. When you submit an assignment, DeadlineSync’s default behaviour is to delete the matching event so your calendar stays clean. You can change this in Settings → “When submitted” to mark the event done instead, or to leave it untouched.
Where your data lives
Everything stays on your device and in accounts you already control.
- Your cached assignment list, the record of which assignments you’ve submitted, your Moodle site address, your calendar export link, and your preferences are kept in your browser’s local storage (
chrome.storage.local) on that computer. - None of it syncs across your devices. DeadlineSync uses local storage only — it does not use Chrome’s sync storage, so nothing is copied to another machine.
- Your Google authorization token is not stored by DeadlineSync. It is held by Chrome’s own built-in identity service, which the extension asks for a token each time it needs one. The extension never writes that token to its storage. (The token stored in local storage is the Moodle calendar-link token described above.)
- The extension keeps a small local diagnostic log of its last 30 sync attempts — just a timestamp, what triggered the sync, and whether it succeeded. It has no user interface, exists purely so a sync problem can be diagnosed, and never leaves your device.
- Records of submitted assignments are automatically discarded 90 days after the assignment’s due date.
- DeadlineSync never reads who you are. It does not request your Google account’s name, email address, or profile.
The sync moves data directly between your browser, your Moodle, and Google. It never passes through any DeadlineSync server, because there isn’t one.
What we collect
Nothing. DeadlineSync has no user accounts and no backend that receives your data. We do not collect your coursework, your calendar contents, your email address, your browsing activity, or any other personal or sensitive information. Because we never receive your data, we cannot and do not sell it, share it, or use it for advertising or any purpose unrelated to syncing your deadlines.
Google API Services User Data Policy
DeadlineSync’s use and transfer of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Concretely, this means Google Calendar data obtained through those APIs is used only to provide and improve the deadline-syncing feature you installed the extension for. It is not transferred to anyone, not used for advertising, not used to build profiles, and not read by any human — no such transfer is even technically possible, since the extension has no server and the data never leaves your browser and your own Google account.
Permissions the extension requests
DeadlineSync asks only for what its single purpose requires.
- activeTab
- Lets the extension read the Moodle page you’re looking at when you press “Sync now” — only that tab, and only for that interaction.
- scripting
- Runs one small function on your Moodle page to read the assignment names and due dates it displays. It does not modify the page or inject any content.
- identity
- Obtains the Google sign-in token needed to talk to the Google Calendar API. It is not used to read your Google profile.
- storage
- Saves your settings and the cached assignment list on your own machine, so the extension works between sessions without a server.
- alarms
- Schedules the background refresh that keeps your calendar current without you opening the extension.
- Access to your Moodle site
- Moodle is self-hosted separately by every institution, so the address differs for every user and cannot be listed in advance.
DeadlineSync also runs no remote code: all of its JavaScript, CSS, and fonts ship inside the extension package, and nothing is downloaded and executed at runtime.
Third parties
There are none. No analytics, no telemetry, no crash reporting, no advertising, no tracking, no fingerprinting.
The extension’s popup makes zero third-party network requests — even the fonts are bundled inside the extension rather than loaded from a font CDN, specifically so that opening DeadlineSync contacts nobody. You can verify this yourself in Chrome’s DevTools Network panel.
The only external addresses in the extension are two links in the small credit line at the bottom of the popup (the developer’s LinkedIn page and a “buy me a coffee” page). Nothing is requested from either unless you deliberately click the link, at which point you simply visit those sites as you normally would, under their own privacy policies.
Your choices and control
You stay in control at all times, at three levels.
Reset the Moodle connection.
In Settings, “Reset connection” removes your saved Moodle site, your stored calendar export link and its token, and all cached assignment data from your browser. It deliberately keeps your preferences (language, reminders, colour, event type), the pairing with your “Moodle Assignments” calendar, your Google authorization, and the site permission you granted — so you can reconnect without redoing setup.
Remove the extension.
Uninstalling DeadlineSync from Chrome stops all syncing immediately and clears everything it kept in your browser’s local storage. Note that uninstalling does not reach into your Google account: events already written to your “Moodle Assignments” calendar, the calendar itself, and the authorization you granted all remain until you remove them.
Revoke access in Google.
You can withdraw DeadlineSync’s access to your Google Calendar at any time from your Google Account’s security settings at myaccount.google.com/permissions. To remove the synced deadlines themselves, delete the “Moodle Assignments” calendar in Google Calendar.
Children’s privacy
DeadlineSync is intended for students using their own Moodle and Google accounts and is not directed at children under 13 (or the equivalent minimum age in your jurisdiction). We do not knowingly collect information from children.
Changes to this policy
If this policy changes, we will update the date above and post the revised version on this page.
Contact
Questions about privacy? Email support@deadlinesync.app.