โ† Back to app

๐Ÿ”’ Privacy Policy

Last updated: 2026-08-09 ยท 30-Day Reading Challenge v2.0

TL;DR

Your reading data stays in your browser. No account required. No tracking pixels. No cookies. We don't sell data โ€” we don't even have it. If you enable Supabase sync, you choose where it goes; otherwise everything is localStorage on your device.

What we store (locally)

All are localStorage on your device. Clear browser data โ†’ it's gone. Export a backup from Your data โ†’ Export backup (JSON).

What we never collect

Optional Supabase sync

Off by default. If you (the host) configure Supabase URL + anon key in Admin โ†’ Settings, the app will upsert your anonymized state JSON to your own Supabase project (reading_progress table) every ~60 s + 5 s debounced. You control RLS policies. No data goes to us.

Optional Plausible

Host may uncomment one line <script defer data-domain="yourdomain.com" src="https://plausible.io/js/script.js"> โ€” Plausible is cookieless, GDPR-friendly, no personal data.

Contact forms

Contact messages are stored locally under readingChallenge30.contacts until host enables Formspree/Supabase. If enabled, they go to host's endpoint โ€” not to us.

Your rights

Contact

Questions? Use the in-app Contact the Creator card or email the host shown on the Support card (ABA KHQR). This is a static PWA โ€” there is no central server to contact beyond your host's deployment.

Built with โค๏ธ for readers ยท Open source ยท Changelog