Summary: Legit is an open-source, client-side Chrome Extension that synchronizes your accepted LeetCode solutions directly to your personal GitHub repository. We do not operate backend servers, we do not collect or sell personal data, and we do not track or profile users. All network communication occurs directly between your browser, LeetCode, and GitHub.
1. Introduction
This Privacy Policy explains how the Legit browser extension ("the Extension", "we", "our") accesses, uses, and stores information when you use the extension in Google Chrome or Chromium-based browsers.
Legit is hosted publicly on GitHub at Abhishek-Singh-2008/legit-extension.
2. Data We Access and Process
To provide automatic synchronization of accepted LeetCode solutions to GitHub, the Extension accesses the following data:
A. LeetCode Problem and Solution Data
- Submission Metadata: Problem title, problem slug, difficulty level (Easy/Medium/Hard), and programming language.
- Solution Code: The source code of your accepted submission.
- Problem Description: The problem prompt, constraints, and testcase format (used to generate formatted problem
README.mdfiles in your repository).
How it is accessed: When you submit code on https://leetcode.com/problems/*, the extension's content script detects the "Accepted" verdict and retrieves the submitted solution and question details directly from LeetCode's public GraphQL endpoint (https://leetcode.com/graphql/) using your active browser session.
B. GitHub Account and Repository Information
- GitHub Username and Avatar URL: Displayed within the extension popup and options page to confirm account connection.
- Repository and Branch Lists: Used so you can select the target repository and branch where solutions will be committed.
- Repository File Contents: Used to check whether a problem solution file or README already exists before creating or updating the commit.
3. Data Storage and Local-Only Architecture
All data stored by Legit is retained strictly locally on your computer using Chrome's local storage API (chrome.storage.local). No data is sent to external developer servers, analytics services, or third-party databases.
| Data Item | Storage Location | Purpose |
|---|---|---|
| GitHub Personal Access Token (PAT) | chrome.storage.local |
Authenticates direct API requests to the GitHub REST API (v3) to create commits in your chosen repository. |
| Repository & Branch Settings | chrome.storage.local |
Remembers your target GitHub repository and branch preferences. |
| Sync History | chrome.storage.local |
Maintains a local log of synced problems, timestamps, and commit links shown on your extension dashboard. |
| Submission Hashes (SHA-256) | chrome.storage.local |
Local SHA-256 cryptographic hashes of synced code to prevent duplicate commits for identical submissions. |
4. GitHub Personal Access Token (PAT) Security
Legit requires a GitHub Fine-grained Personal Access Token (PAT) or Classic Token with repo / contents: write scope to commit code to your repository.
- Local Storage Only: Your PAT is stored exclusively in your browser's private
chrome.storage.localstorage area. - No Token Logging or Exposure: The token is never written to application logs, never displayed in UI error popups, and never transmitted to any third party.
- Direct Transmission: The token is transmitted exclusively over encrypted HTTPS directly to the official GitHub API endpoint (
https://api.github.com).
5. Network Requests and Third-Party Services
Legit communicates strictly with two official domains:
https://leetcode.com— To detect verdicts and fetch problem descriptions and your accepted code.https://api.github.com&https://github.com— To verify token access, list branches, and commit solution files to your repository.
There are no other network requests. The extension does not connect to any developer server, relay server, proxy, or telemetry service.
6. Extension Permissions Justification
Legit requests only the minimum permissions necessary to function:
storage: Needed to persist your GitHub configuration, sync preferences, sync history, and deduplication hashes locally inchrome.storage.local.notifications: Needed to display non-intrusive desktop notifications when a solution is synced successfully, skipped as a duplicate, or when an authentication error occurs.host_permissions(https://leetcode.com/*): Required for the content script to run on LeetCode problem pages and fetch solution details.host_permissions(https://api.github.com/*,https://github.com/*): Required to authenticate with GitHub and create commits in your repositories.
7. Analytics, Tracking, and Advertising
- No Tracking: Legit does not use Google Analytics, Mixpanel, Sentry, or any other tracking, analytics, or profiling tools.
- No Advertising: Legit does not display ads, inject affiliate links, or monetize your activity.
- No Selling of Data: We do not sell, rent, trade, or transfer user data to any third party or data broker under any circumstances.
8. User Rights and Data Deletion
Because all data is stored locally on your machine, you have complete control over your data at all times:
- Disconnect GitHub Account: Clicking "Disconnect" in the extension Options page immediately purges your stored GitHub token, username, and repository preferences from
chrome.storage.local. - Clear Sync History: You can clear your stored sync history at any time from the extension Dashboard.
- Uninstalling the Extension: Removing Legit from Chrome permanently deletes all extension settings and local storage data from your device.
- Token Revocation: You can revoke your GitHub Personal Access Token at any time directly through your GitHub Token Settings.
9. Children's Privacy
Legit is a developer utility for LeetCode practice and does not intentionally collect or process personal information from children under the age of 13.
10. Changes to This Privacy Policy
We may update this Privacy Policy from time to time to reflect extension updates or regulatory changes. Any modifications will be posted to this page with an updated effective date. Major changes will be documented in the repository's release notes.
11. Contact and Support
If you have any questions, feedback, or concerns regarding this Privacy Policy or the security of the extension, please open an issue on GitHub:
👉 GitHub Issues: https://github.com/Abhishek-Singh-2008/legit-extension/issues