1. Cookies and similar storage
Cookies are small browser records sent with matching requests. Local storage stays in the browser and is read by page scripts; session storage is scoped to a browser tab or session. Rules about device storage can cover more than traditional cookies.
2. Necessary storage
Django session and CSRF cookies support account login, request security and guest attempt ownership. Their actual configured names and lifetimes appear in the inventory below. The typelearn_consent cookie records the preference you explicitly save for up to 180 days.
Exam recovery uses session storage with a typelearn-exam: prefix. It can include typed text and edit events for the active exam. The controller removes its record after a successful completion or abandonment response. This recovery function is part of the requested exam attempt, not an advertising profile.
3. Optional functional history
The browser history key prefix typelearn.performance.v1. stores up to 30 recent non-exam performance summaries per scope, including WPM, accuracy, character counts, mistaken keys and completion times. It is not the complete custom source text. Optional functional history is disabled until you enable it in Cookie Preferences.
Reject Non-Essential or withdrawing functional permission blocks reading and saving that history. When a normal site page loads, the preference script removes matching history keys after rejection. If a browser prevents removal, use its site-data controls. This does not delete server-side account history.
4. Analytics and advertising categories
Analytics consent controls eligible Google Analytics measurement separately from optional practice history. Advertising consent is a separate choice and does not enable ads unless production account settings and an advertising consent integration are ready.
Our cookie preferences banner is not a Google-certified consent management platform. For personalized ads in the EEA, UK and Switzerland, Google requires a certified CMP integrated with the IAB Transparency and Consent Framework. When advertising is enabled, its consent service provides the applicable choices. Declining optional categories does not prevent core typing practice.
5. Fonts and external requests
The website uses system fonts available on your device and does not request Google Fonts files or styles. Analytics and advertising integrations, when configured, remain subject to their separate consent controls.
6. Managing choices
Use Cookie Preferences to save individual choices, Accept All optional categories, or Reject Non-Essential. You can change or withdraw choices at any time using the footer link. Changes apply on the next page load. A version change or expiry requires a fresh choice.
Rejecting optional practice history removes matching browser summaries. It does not remove account records or data already sent to providers. Browser settings can clear cookies and site data. Blocking necessary cookies can prevent login and request submission.
7. Necessary contact-form session and abuse protection
Opening the contact form creates a necessary session token for a requested submission and duplicate prevention. A receipt reference is stored in the same session after successful submission. The CSRF cookie protects form requests. These are not analytics or advertising consent.
Server-side abuse counters use keyed digests of a connection address and supplied email. They are shared between workers and do not trust arbitrary forwarded address headers. No third-party CAPTCHA or marketing script is loaded by the contact form.
8. Google advertising and your choices
KeyTute supports Google AdSense on selected public content pages. Advertising remains disabled until the publisher account, approved domain and separate advertising consent integration are configured. Active typing sessions, game play windows, results, account pages, contact forms and policy pages do not load this advertising integration.
When advertising is enabled, Google and its advertising partners may use cookies or similar technologies to serve and measure ads. Advertising cookies can allow Google and its partners to show ads based on visits to this and other websites. Where personalized ads are offered, you can manage personalization through Google My Ad Center and manage or withdraw website advertising consent through the advertising consent service.
Google advertising information: https://policies.google.com/technologies/ads. Google privacy information: https://policies.google.com/privacy. Personalization choices: https://myadcenter.google.com/. Third-party advertising choices: https://www.aboutads.info/choices/. Actual advertising providers and storage details will be published before ads are enabled.
Current storage inventory
- sessionid
- Login and guest-session ownership
14 days configured; login/session expiry can vary - csrftoken
- Request forgery protection
364 days configured - typelearn_theme / typelearn_sound_enabled / typelearn_sound_user_*
- Appearance and sound preferences (local storage)
Until replaced or cleared - typelearn_game_sound_*
- Separate sound preference for each game (local storage)
Until replaced or cleared - typelearn_consent
- Your explicit optional-storage choices
180 days - _ga / _ga_*
- Google Analytics visit measurement, only with Analytics consent on eligible live public pages
Up to 180 days; removed after consent withdrawal and page reload - typelearn.performance.v1.*
- Optional recent non-exam summaries (local storage)
Up to 30 summaries per scope; until replaced or cleared - typelearn-exam:*
- Active exam recovery (session storage)
Removed on successful terminal response; browser/session limits also apply
Google information and advertising choices
Google Privacy Policy · How Google uses advertising cookies · Google My Ad Center · Other advertising choices