Privacy Policy
SolveBase uses only the information needed to detect accepted submissions and save them to the GitHub repository you choose.
Effective August 17, 2026
Data SolveBase uses
SolveBase stores your GitHub username, selected coding-platform usernames, enabled-platform settings, GitHub repository name, synchronization state, and GitHub authorization token in Chrome extension storage on your device. These account names identify the connected accounts but are used only to perform the requested synchronization.
When you submit a solution, SolveBase reads the accepted submission's source code and basic problem metadata from the supported coding platform so it can create or update the matching file in your GitHub repository.
A pending submission witness may remain in Chrome extension storage for up to fifteen minutes while SolveBase waits for the verdict. If an accepted solution cannot reach GitHub immediately, its retry record, including any captured source code, may remain locally for up to twenty-four hours or until synchronization succeeds.
How data moves
Accepted solution source code is sent directly from the extension to GitHub through GitHub's API. SolveBase does not send source code to its own backend and does not use it for analytics, advertising, profiling, or model training.
SolveBase reads only LeetCode's named CSRF cookie when LeetCode requires it as a request header. That value is never sent to GitHub or to the SolveBase OAuth service.
The OAuth service at solvebase.dev performs the GitHub authorization exchange. OAuth state expires after five minutes, and the encrypted one-time token exchange expires after sixty seconds. The service also keeps short-lived rate-limit records to prevent abuse.
The website and OAuth service are hosted by Vercel, which may process standard request metadata such as an IP address. To prevent abuse, SolveBase hashes the request IP before storing a rate-limit counter in Upstash Redis for up to ten minutes. Upstash also stores only short-lived OAuth state and encrypted one-time exchange data needed to complete the connection flow.
If the selected repository does not exist, SolveBase creates it as a public GitHub repository after the user explicitly confirms that choice. Accepted solution files committed there are publicly visible.
Chrome Web Store Limited Use
SolveBase's use of user data complies with the Chrome Web Store User Data Policy, including the Limited Use requirements. SolveBase uses data only to detect the user's accepted coding submissions and save them to the GitHub repository the user selects. It does not sell user data, use it for advertising or profiling, allow humans to read it, or transfer it for unrelated purposes.
Browser permissions
Storage keeps settings and synchronization state. Identity opens the GitHub authorization flow. The cookies permission reads only LeetCode's CSRF cookie. Scripting captures the user's submitted source on supported problem pages. Alarms and notifications check GitHub authorization health and warn when reconnection is required.
Website analytics
The SolveBase website uses Vercel Web Analytics to measure aggregate page visits and improve the site. It may process the page path, referring page, browser and device category, and country-level information. It does not access extension settings, GitHub tokens, coding-platform cookies, or solution source code.
Sharing and sale
SolveBase does not sell personal data, share data with advertisers, or transfer data for unrelated purposes. Data is sent only to the coding platforms you use, GitHub for the requested repository updates, and the temporary OAuth service required to connect GitHub.
Control and deletion
Disconnecting GitHub removes the saved GitHub authorization token from the extension. Resetting SolveBase removes its local settings, cached synchronization state, and connection data. Files already committed to GitHub remain in your repository until you delete them there.
Settings and repository synchronization state remain on the device until the user resets or uninstalls SolveBase. Submission deduplication records expire after thirty days, pending verdict witnesses expire after fifteen minutes, and accepted-solution retry records expire after twenty-four hours.
You can revoke SolveBase at any time from GitHub Settings under Applications.
Contact
For privacy questions or deletion help, open a support issue in the SolveBase GitHub repository.