← back to home

Privacy Policy

Last updated: 18 May 2026

Practice Pack is a local-first coding practice tool. This page describes what data the site handles, where it lives, and what your options are.


The short version

What we collect

For anonymous (signed-out) users: nothing. Progress events, journal entries, and settings are written only to your browser's IndexedDB by src/services/storage.ts. No network request carries that data anywhere.

If you sign in with GitHub or Google, the OAuth provider returns the following to us, which we store in our Cloudflare D1 database:

Synced practice data (created only after sign-in, pushed to our backend by src/services/sync.ts):

What we do not collect

Why we collect what we collect

Who we share data with

Nobody. We do not sell, rent, or share your data with third parties. The only third parties involved in our processing are:

Cookies

We set one cookie: a signed JWT session token, scoped to code.lywedo.com, valid for 30 days, marked HttpOnly, Secure, and SameSite=Lax. It is only set after you sign in. We use no third-party cookies and no analytics cookies.

Your choices

Data retention

Synced data is kept for as long as your account exists. Anonymous local data is kept until you clear your browser storage. We do not back up the D1 database to any third-party service beyond Cloudflare's own platform retention.

Children

Practice Pack is not directed at children under 13. We do not knowingly collect data from children. If you believe a child has signed in, please contact us and we will delete the account.

Changes to this policy

If we change what we collect or how we use it, the "Last updated" date at the top will change and the new policy replaces the old one. Material changes will also be called out in the project's CHANGELOG.

Contact

Questions or deletion requests: lywedo@outlook.com.