Back to Keyboard Hero

Cookies & visitor privacy

Updated November 5, 2026. For school-managed accounts, also read the School privacy notice.

Essential storage

We use first-party account cookies to sign you in and protect your session. These are necessary for account features. The kh_session cookie lasts for the browser session, or up to 30 days when Remember me is selected; inactivity can end access sooner. Administrator sessions use kh_admin_session, for up to eight hours. kh_consent remembers your cookie choice for up to 180 days. Browser storage also keeps device and sign-in preferences, including a login name when you choose Remember me.

Current family account pages keep family profiles and learning work in the open tab's memory and save authenticated changes to the service. They do not save those account records in localStorage. Unsaved work can be lost if a tab closes before the service accepts it. Older versions stored family contact details, student profiles, answers, portfolio work, assessment data and payment summaries in this browser. Updated pages try to remove those older stored copies and may temporarily hold unsynced work in tab memory for review by the matching authenticated parent; it is not automatically uploaded. Reload or close older tabs, sign out and clear this site's data on shared devices. A live-account deletion does not prove every browser copy has disappeared.

School staff use kh_school_session; school students use kh_school_student. These separate, first-party session cookies authorize only their respective school services. Access ends after 15 minutes without authenticated activity, after eight hours at the latest, or on sign-out. They are also recognized across the site to suppress optional visitor analytics. School worksheet and response records are saved to the school account, not the public multimedia cache.

Optional visitor analytics

Analytics are off until an adult selects Allow analytics. Essential only keeps optional analytics off without limiting account access. We do not record optional visitor analytics when an account or administrator session cookie is present, or on school entry, classroom or school-privacy pages. We do not use these analytics for advertising or device fingerprinting.

If you allow analytics, kh_visitor is a random first-party identifier lasting up to 180 days after a recorded visit. We store a hashed version with page paths (without query strings or fragments), visit times, referring website names, time-zone information from the browser or location lookup, and approximate city, region and country. This is pseudonymous data, not a promise of complete anonymity. It is not linked to student progress or an account.

For approximate location, your IP address is sent to ipwho.is (IPWHOIS privacy policy) over HTTPS. Our visitor database does not store the IP address. The hosting provider may separately process IP addresses and request logs to deliver and secure the service. Locations are approximate and can be wrong, particularly with VPNs.

Visitor event history has a 400-day cleanup schedule. Scheduled maintenance deletes visitor identity summaries after 400 days without a recorded visit. Maintenance is scheduled hourly and when visits are processed; cleanup failures can delay removal and require operator follow-up. Withdrawing consent stops future analytics and deletes the browser's visitor cookie, but does not automatically erase previous records; contact us to request help with earlier records.

Local multimedia storage

Eligible public images, animations, audio and videos may be saved in this browser as they are used. General media uses up to 500 MB, reduced when browser storage is limited, with a maximum cached file size of 150 MB. Gameplay music has a separate cache of up to 120 MB. Older media is removed to make room. Changed version URLs fetch the new file when available; unchanged media URLs are checked for updates after 24 hours when online. These functional caches are separate from optional analytics and do not contain student records, passwords, account API responses, protected purchase downloads, or tracking identifiers. People using the same browser profile share its downloaded media. Signing out may clear some browser storage, depending on the account flow and browser. Use Media storage, then Clear downloaded multimedia, Clear downloaded music under Choose Your Music, or clear this site's data in browser settings. Files already playing or displayed may remain in memory; continuing to browse can cache media again. Browsers may remove cached files when storage is low. Cached media does not make the whole website available offline.

Your choices

Use Cookie settings at the bottom of the page any time to change your choice. We honor the browser's Global Privacy Control signal by disabling optional analytics. Children should choose Essential only. A cookie choice is not a substitute for parental authorization for an account.

Stripe's checkout is a separate service with its own privacy and cookie information. Questions or privacy requests: Support@keyboardhero.site.