Gradescope to Cal is a browser extension that automatically syncs your Gradescope assignments to Google Calendar and displays your grades at a glance. We are committed to protecting your privacy through a zero-server architecture that processes all data locally in your browser.
Permissions Required
Our extension requests only the minimal permissions necessary to function. Here's exactly what we need and why:
Purpose: To manage calendar events for your Gradescope assignments
Usage:
Create: Add new calendar events when you extract assignments from Gradescope
Read: Check for existing events to prevent duplicates during sync
Update: Modify event details if assignment information changes
Delete: Remove events when you deselect assignments or clear sync data
Important: This permission only grants access to calendar events. We cannot read your full calendar, contacts, email, or any other Google services.
🎓 Content Script Access to *.gradescope.com
Domain:*.gradescope.com
Purpose: To extract assignment and grade information from Gradescope pages you visit
Usage:
Read assignment names, due dates, and course information from visible page content
Parse assignment status (submitted, graded, not submitted)
Extract assignment URLs and identifiers for calendar event tracking
Read grade information to display in the extension popup (stored locally only)
Detect page type (dashboard, course page, assignment page) to optimize extraction
Important: We only access Gradescope.com pages you actively visit. We do not track your browsing history, access other websites, or monitor activity in the background. Your grades are displayed locally in your browser and are never sent anywhere.
🔔 Notifications
Permission:notifications
Purpose: To alert you when your Gradescope login session has expired
Usage:
Display a notification when background sync fails due to an expired session
Prompt you to re-visit Gradescope to refresh your login
Important: Notifications are only triggered when a sync issue is detected. We do not send marketing messages, reminders, or any other type of notification.
Minimal permissions only. We do not ask for access to your browsing history, tabs, downloads, cookies, or any other sensitive data. The extension operates entirely within these clearly defined scopes.
Information Collection and Use
What We Collect (Stored Locally in Your Browser)
Assignment Data: Assignment titles, due dates, course names, course IDs, assignment URLs, and assignment IDs from Gradescope pages you visit
Grade Display Data: Your grades from Gradescope, stored locally in your browser to display in the extension popup. This data never leaves your device.
Extraction Metadata: Timestamps of when data was extracted, source page URLs, and extraction method used
Authentication Tokens: Google Calendar OAuth access and refresh tokens stored securely in your browser
Auto-Sync Data: Timestamps and results of automatic background sync operations
User Preferences: Sync frequency settings, notification preferences, and auto-sync enable/disable status
What We DON'T Collect (We Never See This Data)
Personal Information: We do not collect names, email addresses, or any personally identifiable information
Browsing History: We only access Gradescope.com pages when you visit them
Assignment Content: We do not read or store assignment descriptions or submissions
Your Grades (Remotely): While we display grades locally in your browser, we never transmit your grades to any server. We have no idea what courses you take or what your grades are.
Analytics: We do not track usage, collect statistics, or send any data to external servers
Data Storage and Processing
Local Processing Only
All data processing occurs locally in your browser
No servers are used to process, store, or transmit your data
Assignment data is stored only in your browser's local storage
Authentication tokens are stored securely using browser extension APIs
Automatic Background Sync: Every 24 hours, the extension checks locally stored assignment data and syncs new items to your Google Calendar - no external data fetching occurs during this process
Data Retention
Assignment data is retained until you manually clear it or uninstall the extension
Google Calendar authentication tokens are retained until you disconnect or uninstall
Auto-sync logs and error data are retained for troubleshooting and automatically cleared periodically
No data persists after extension removal
Third-Party Services
Google Calendar API
We use Google's OAuth 2.0 for authentication (industry standard)
Calendar events are created directly between your browser and Google's servers
We do not intercept, store, or process your Google account information
Google's privacy policy applies to your Google Calendar data
Gradescope.com
We extract publicly visible assignment information from pages you visit
No login credentials or private data are accessed
We respect Gradescope's rate limits and terms of service
Mobile Email Reminder Service
If you request an installation reminder via our mobile website:
📧 What We Collect
Your email address, temporarily
💬 How We Use It
To send one transactional email with installation instructions for your laptop
⏱️ How Long We Keep It
Not stored in any database we control
Processed by our email service provider (Resend) for delivery only
Automatically purged from Resend's logs within 24 hours per their free tier policy
⚖️ Legal Basis
Your explicit consent when submitting the email form
🔒 Your Rights
Since we don't retain your email address in any database, there's nothing to delete or access. The email is used once for delivery and discarded. For questions, contact hello@gs2cal.me
Data Sharing
We do not share any data with third parties because:
We operate with zero servers
All processing happens locally in your browser
We have no analytics, advertising, or tracking mechanisms
No data ever leaves your local environment except for direct Google Calendar API calls
Security
Technical Safeguards
OAuth 2.0 with PKCE for secure Google authentication
HTTPS-only communication with Google APIs
Secure browser extension storage for sensitive tokens
Content Security Policy to prevent code injection
Privacy by Design
Minimal permission requests (only Gradescope and Google Calendar access)
No external dependencies beyond Google Calendar API
Open source codebase available for security review
Regular security updates through browser extension stores
User Rights and Control
Your Control
Enable/Disable: Turn automatic sync on/off at any time
Data Deletion: Clear all stored assignment data and authentication
Selective Sync: Choose which assignments to sync
Revoke Access: Disconnect Google Calendar access instantly
Data Portability
All assignment data is stored in standard formats
You can export your data through the extension interface
No vendor lock-in or proprietary data formats
Technical Details for Transparency
Permissions Explained
storage: Store your preferences, assignment data, and grades locally
identity: Handle Google OAuth authentication
scripting: Inject content scripts to extract assignment and grade data from Gradescope pages
activeTab: Access the currently active Gradescope tab for assignment extraction
alarms: Schedule automatic background sync every 24 hours
notifications: Alert you when your Gradescope session expires during background sync
*://*.gradescope.com/*: Access Gradescope pages to extract assignment and grade data
https://www.googleapis.com/*: Communicate with Google Calendar API
Data Flow
You visit Gradescope → Extension extracts assignment data → Stored locally
Authentication → Direct connection to Google → Tokens stored locally
Sync → Direct API call to Google Calendar → Events created in your calendar
No intermediate servers or third-party data processing
Contact Information
Data Controller: Gradescope to Cal Development Team Support Email: gradescope.to.cal@gmail.com Response Time: We aim to respond to privacy inquiries within 7 days
For privacy-related questions or to exercise your rights under GDPR/CCPA, please contact our support email with "Privacy" in the subject line.