Effective date: 20 May 2026
CssHub is a Chrome extension that syncs your CSSBattle submissions to a GitHub repository you choose. This page describes what data the extension handles and where it goes.
CssHub is an open-source project (GitHub). It is not affiliated with CSSBattle or GitHub.
| Data | Storage | Purpose | Retention |
|---|---|---|---|
| GitHub access token | Session storage | Authenticate GitHub API requests | Until logout or session ends |
| Auth status (username, method) | Local storage | Popup and settings UI | Until logout or reset |
| Settings (repo, branch, notifications, etc.) | Local storage | Remember your choices | Until you change or reset |
| Last submission (CSS, challenge metadata, optional images) | Local storage | Recent activity and sync | Overwritten by newer submissions |
| Activity log (up to 15 events) | Local storage | Status and troubleshooting in settings | Until you clear the log |
CssHub does not keep your GitHub token in long-term local storage.
When you sign in and sync, your credentials or token are sent to GitHub (api.github.com, github.com) to verify your account and create commits in the repository you selected. CssHub does not sell your data.
For web GitHub sign-in, the extension sends a short-lived OAuth code, state, and redirectUri to the CssHub backend (hosted on Vercel in production). The backend exchanges the code with GitHub and returns an access token. It is not used to store your CSSBattle submissions.
On cssbattle.dev / www.cssbattle.dev play pages only, the extension reads submission data shown on the page so you can sync it to GitHub.
Optional desktop notifications (if enabled) are shown by Chrome on your device only.
CssHub is not directed at children under 13.
Questions: GitHub Issues.