Overview
At DailyCoder, we take your privacy seriously. This Privacy Policy explains how we collect, use, and protect your information when you visit our website. The short version: we collect the bare minimum needed to let you track your learning progress across devices — nothing more.
Authentication
We offer optional sign-in via Google or GitHub through Firebase Authentication. Signing in lets you sync your progress (solved problems, bookmarks, notes, course enrollments) across different browsers and devices.
What we receive when you sign in
- Display name — used to show your name on comments and discussions
- Email address — used only to identify your account; never shared or sold
- Profile photo URL — used for your avatar
- Unique user ID — a random identifier assigned by Firebase to link your progress data
What we do NOT collect or store
- Passwords (authentication is handled entirely by Google/GitHub)
- Payment or financial information
- Location data
- Contacts, files, or any data from your Google/GitHub account beyond what's listed above
Information We Collect
Automatically Collected
When you visit our site, we may automatically collect:
- Browser type and version
- Pages visited and time spent
- Referring website
- Device information (screen size, OS)
Information You Provide
When you use interactive features on the site, we store:
- Problem progress — which problems you've solved, attempt counts
- Bookmarks — problems you've saved for later
- Notes — your private notes on problems
- Course enrollments — which courses you've enrolled in and your last visited lesson
- Comments and discussions — posts you submit on problem or blog pages
- Newsletter email — if you voluntarily subscribe
How We Use Your Information
We use collected information to:
- Sync your learning progress across browsers and devices
- Display your name and avatar on comments and discussions
- Improve our content and user experience
- Analyze site traffic and usage patterns
- Respond to your inquiries
We do not use your data for advertising, profiling, or selling to third parties.
Where Your Data Is Stored
Your progress data is stored in two places:
- Locally in your browser (IndexedDB) — this is the primary store and works offline
- Google Sheets (via Google Apps Script) — a background mirror so your progress syncs across devices when you're signed in
This means your data lives in your browser first. Google Sheets acts only as a sync layer — not a traditional server or database. We chose this approach to keep things simple, free, and transparent.
Cookies and Local Storage
We use minimal cookies and local storage for essential functionality only:
- Theme preference — to remember your dark/light mode choice
- Reading mode — to remember your reading mode preference
- IndexedDB — to store your progress, bookmarks, and notes locally
- Firebase Auth token — a short-lived session token if you're signed in
We do not use tracking cookies or third-party advertising cookies.
Third-Party Services
Our site uses the following third-party services:
- GitHub Pages — for hosting (subject to GitHub's Privacy Statement)
- Firebase Authentication — for sign-in via Google/GitHub (subject to Firebase's Privacy Policy)
- Google Apps Script — for syncing progress data and handling comments (runs on Google's infrastructure)
- Google Analytics — for anonymous site usage statistics (subject to Google's Privacy Policy)
Data Security
We implement appropriate security measures to protect your information:
- Authentication is handled by Firebase (Google/GitHub) — we never see or store your password
- API requests that access your private data are verified using short-lived Firebase ID tokens
- All data transmission happens over HTTPS
- As a static site hosted on GitHub Pages, there is no traditional server to compromise
Your Rights
You have the right to:
- Use the site without signing in (features like the code editor and reading content work without auth)
- Sign out at any time to stop syncing
- Clear your local data by clearing your browser's IndexedDB storage
- Request deletion of your synced data — contact us and we'll remove your records
- Revoke access from your Google or GitHub account settings at any time
Children's Privacy
Our site is not directed at children under 13. We do not knowingly collect personal information from children.
Changes to This Policy
We may update this Privacy Policy from time to time. Changes will be posted on this page with an updated revision date.
Contact Us
If you have any questions about this Privacy Policy, please contact us.