1. What CodeTrail collects
CodeTrail handles the following categories of information when you use the extension:
- LeetCode submission data: problem title, problem slug, problem URL, difficulty, language, submitted code, runtime, memory, and submission timestamp.
- GitHub account and repository data: GitHub account profile information returned by GitHub, repository names, repository URLs, default branch, and repository selection settings.
- Authentication data: GitHub OAuth access token, token type, scope, and authentication timestamp.
- Local extension data: user settings, sync queue state, sync status, last error text, and previously synced submission metadata.
- Operational page data: the LeetCode page route and limited page content needed to detect accepted submissions and extract the final answer.
2. How CodeTrail uses data
CodeTrail uses the data above only for the product purpose you chose:
- Detect accepted LeetCode submissions.
- Authenticate with GitHub through OAuth.
- Write solution files and README updates to the GitHub repository you selected.
- Show sync status, errors, badges, and notifications in the extension UI.
- Store settings, queue state, and synced history locally so the extension can continue working across sessions.
3. Where data is stored
Data is stored in the following places:
- Chrome local storage: extension settings, auth state, queue data, sync status, and synced submission metadata.
- GitHub: accepted submissions and README entries are written to the repository you selected.
- LeetCode: the extension reads publicly available or authenticated page and GraphQL data from LeetCode to detect accepted submissions.
- Railway OAuth backend: receives the GitHub OAuth authorization code and redirect URI so it can exchange the code for an access token. It is not used to store your LeetCode solutions.
4. What we do not collect
CodeTrail does not intentionally collect or use:
- Google or GitHub passwords.
- Payment or financial data.
- Contacts, calendar data, microphone, camera, or physical location data.
- General browsing history or unrelated websites.
- Analytics, ad targeting identifiers, or advertising profiles.
5. Sharing and third parties
CodeTrail only shares information with services required to provide the extension:
- GitHub: for OAuth authentication and repository writes that you explicitly initiate or enable.
- LeetCode: for reading submission details and problem metadata required to detect an accepted solution.
- Railway OAuth backend: for exchanging the GitHub OAuth authorization code for an access token.
CodeTrail does not sell user data, does not share user data with advertising networks or data brokers, and does not use user data for targeted advertising.
6. Security
CodeTrail uses HTTPS for external network requests where supported by the destination service. GitHub access tokens are stored locally in Chrome storage for the extension session and are not intentionally disclosed publicly. The backend keeps the GitHub client secret server-side and does not bundle it into the extension.
7. Retention and deletion
Your local extension data stays on your device until you remove it. You can clear stored settings, auth state, queues, and synced history from the extension UI. If you want GitHub repository content removed, you must delete it from GitHub directly or ask us for help.
8. Permissions
CodeTrail requests permissions only for the features it provides:
- storage: save settings, queue state, and sync history locally.
- identity: complete the GitHub OAuth flow through Chrome.
- notifications: show sync success or failure updates.
- LeetCode host access: detect accepted submissions and read the final submission details.
- GitHub API access: fetch account and repository data and write synced files.
9. Children and eligibility
CodeTrail is intended for general use by people who can install browser extensions and connect a GitHub account. It is not directed at children.
10. Changes to this policy
If CodeTrail changes how it handles data, this page will be updated so it continues to match the extension’s actual behavior. Continued use after an update means the revised policy applies.
11. Contact
Questions about this policy or CodeTrail data handling can be sent to contact@sidhiratech.com.