Cookies and browser storage
Cookie Policy
In short: we only store what is needed to run the site and the choices you make. No advertising or tracking cookies. The full list is below.
Last updated: 11 October 2026
Translation for convenience. This English text is provided for convenience only. If it differs from the Turkish original, the Turkish version prevails.
Read the Turkish versionThis text is a draft; it must be reviewed by a lawyer before publication. This text was written to describe honestly how the platform works today. Information in square brackets will be completed before publication.
Contents
1. What are cookies and browser storage?
A cookie is a small text file that a site leaves in your browser. "Browser storage" (localStorage) likewise stays only in your browser. This page covers both, and also lists the third-party video players that load when you press "Play".
2. Categories
Every entry belongs to a category. Those that need consent run only if you allow them.
Strictly necessaryNo consent needed
Keep you logged in, keep the site secure and remember your cookie choice. Logging in is impossible without them; they cannot be switched off.
PreferencesNo consent needed
Written only when you make a choice yourself (theme, text size, reduce motion, language, closing the tour), to remember that choice. If you make no choice, nothing is written.
AnalyticsOnly with your consent
Count which pages are used, in aggregate and without knowing who you are. Loaded only if you allow it.
MarketingNot used
Advertising or tracking you across other sites. Not used on this site.
We treat preferences as exempt from consent because none of them is written by itself: each is written only when you make a choice (e.g. switch on night mode), to remember that choice, and is used for nothing else. If you make no choice, nothing from this category is written to your browser.
3. Full list
This table is generated from the same source as the site’s code, so the two cannot drift apart.
| Name | Category | Purpose | Duration | Party |
|---|---|---|---|---|
kz_atCookie | Strictly necessary | Access token: proves that requests come from you.When: When you log in; deleted when you log out. httpOnly: code on the page cannot read it. | 15 minutes | First party (this site) |
kz_rtCookie | Strictly necessary | Session refresh token. Sent only to the session refresh address (/api/auth).When: When you log in; deleted when you log out. httpOnly: code on the page cannot read it. | 7 days | First party (this site) |
kz_sCookie | Strictly necessary | Only a "session exists" flag (carries no secret); used to route you to pages that need a login.When: When you log in; deleted when you log out. httpOnly: code on the page cannot read it. | 7 days | First party (this site) |
kz_mfaCookie | Strictly necessary | For accounts with two-step verification: after the correct password, it holds the unfinished sign-in step while the authenticator code is awaited. It does not log you in; sent only to the sign-in address (/api/auth).When: After the password step of a two-step sign-in; deleted once the code is entered or when it expires. httpOnly: code on the page cannot read it. | 5 minutes | First party (this site) |
kz_consentCookie | Strictly necessary | Your cookie choice: policy version, date of the decision and consent per category. Used to remember and demonstrate your choice.When: When you make a choice in the banner or the cookie settings. | 12 months | First party (this site) |
kz-langCookie | Preferences | The language you explicitly chose (Türkçe / English): used for the first render of app screens and to stop showing the "also in English" note.When: When you choose with the language switcher or Settings → Language; for logged-in users it is synced with the language saved on the account. | 12 months | First party (this site) |
kz_uiCookie | Preferences | Not to show again the intro windows you closed: the welcome note, the guided tour and the date of the last "What’s new" you saw. Instead of your user ID, a short irreversible digest of it is stored.When: When you close an intro window, or finish or skip the tour. | 12 months | First party (this site) |
themeBrowser storage | Preferences | The day / night / system appearance you chose in the app.When: When you press the theme button. | Until you clear it (in the browser) | First party (this site) |
kz-text-scaleBrowser storage | Preferences | The text size you chose.When: When you change the text size; removed when you go back to the default. | Until you clear it (in the browser) | First party (this site) |
kz-motionBrowser storage | Preferences | Your "reduce motion" preference.When: When Settings → Reduce motion is turned on; removed when turned off. | Until you clear it (in the browser) | First party (this site) |
www.youtube-nocookie.comThird-party content | Preferences | Course videos (YouTube privacy-enhanced mode). The player loads only when you press "Play"; from then on YouTube may use its own browser storage.When: When you press "Play" on a video. | According to YouTube’s policy | Third party |
iframe.mediadelivery.netThird-party content | Preferences | Course videos (Bunny Stream player). Loaded only when you press "Play".When: When you press "Play" on a video. | According to Bunny’s policy | Third party |
kz_atStrictly necessary- Purpose
- Access token: proves that requests come from you.
- Duration
- 15 minutes
- Party
- First party (this site)
- Type
- Cookie · httpOnly: code on the page cannot read it.
When: When you log in; deleted when you log out.
kz_rtStrictly necessary- Purpose
- Session refresh token. Sent only to the session refresh address (/api/auth).
- Duration
- 7 days
- Party
- First party (this site)
- Type
- Cookie · httpOnly: code on the page cannot read it.
When: When you log in; deleted when you log out.
kz_sStrictly necessary- Purpose
- Only a "session exists" flag (carries no secret); used to route you to pages that need a login.
- Duration
- 7 days
- Party
- First party (this site)
- Type
- Cookie · httpOnly: code on the page cannot read it.
When: When you log in; deleted when you log out.
kz_mfaStrictly necessary- Purpose
- For accounts with two-step verification: after the correct password, it holds the unfinished sign-in step while the authenticator code is awaited. It does not log you in; sent only to the sign-in address (/api/auth).
- Duration
- 5 minutes
- Party
- First party (this site)
- Type
- Cookie · httpOnly: code on the page cannot read it.
When: After the password step of a two-step sign-in; deleted once the code is entered or when it expires.
kz_consentStrictly necessary- Purpose
- Your cookie choice: policy version, date of the decision and consent per category. Used to remember and demonstrate your choice.
- Duration
- 12 months
- Party
- First party (this site)
- Type
- Cookie
When: When you make a choice in the banner or the cookie settings.
kz-langPreferences- Purpose
- The language you explicitly chose (Türkçe / English): used for the first render of app screens and to stop showing the "also in English" note.
- Duration
- 12 months
- Party
- First party (this site)
- Type
- Cookie
When: When you choose with the language switcher or Settings → Language; for logged-in users it is synced with the language saved on the account.
kz_uiPreferences- Purpose
- Not to show again the intro windows you closed: the welcome note, the guided tour and the date of the last "What’s new" you saw. Instead of your user ID, a short irreversible digest of it is stored.
- Duration
- 12 months
- Party
- First party (this site)
- Type
- Cookie
When: When you close an intro window, or finish or skip the tour.
themePreferences- Purpose
- The day / night / system appearance you chose in the app.
- Duration
- Until you clear it (in the browser)
- Party
- First party (this site)
- Type
- Browser storage
When: When you press the theme button.
kz-text-scalePreferences- Purpose
- The text size you chose.
- Duration
- Until you clear it (in the browser)
- Party
- First party (this site)
- Type
- Browser storage
When: When you change the text size; removed when you go back to the default.
kz-motionPreferences- Purpose
- Your "reduce motion" preference.
- Duration
- Until you clear it (in the browser)
- Party
- First party (this site)
- Type
- Browser storage
When: When Settings → Reduce motion is turned on; removed when turned off.
www.youtube-nocookie.comPreferences- Purpose
- Course videos (YouTube privacy-enhanced mode). The player loads only when you press "Play"; from then on YouTube may use its own browser storage.
- Duration
- According to YouTube’s policy
- Party
- Third party
- Type
- Third-party content
When: When you press "Play" on a video.
iframe.mediadelivery.netPreferences- Purpose
- Course videos (Bunny Stream player). Loaded only when you press "Play".
- Duration
- According to Bunny’s policy
- Party
- Third party
- Type
- Third-party content
When: When you press "Play" on a video.
4. How is your choice stored?
The choice you make in the banner or the cookie settings is kept for 12 months in a first-party cookie called kz_consent: the policy version (currently 1), the date of the decision and the consent per category. We keep this cookie to remember your choice and to be able to show it if needed. When the 12 months are up, or when a new tool or purpose is added to this policy (the version changes), we ask again.
5. How can you change your choice?
At any time, with the button below, with the “Cookie settings” link in the footer of every page or, if you are logged in, in Settings → Privacy and intro. Withdrawing consent is as easy as giving it. You can also delete this site’s cookies and storage completely in your browser settings; that will log you out.
6. Global Privacy Control (GPC)
If your browser sends a Global Privacy Control signal, we treat it as refusal of the optional categories: no banner is shown and analytics and marketing stay off. You can still allow individual categories in the cookie settings if you wish.
7. Third-party content
Course videos come from YouTube’s privacy-enhanced mode or from Bunny Stream. The player does not load when the page opens; it loads only when you press "Play", and the provider is named under the player. From then on the provider may use browser storage under its own policy.
8. Analytics
We use no analytics tool today. If we add a cookieless tool that counts without knowing who you are, we will update this page, raise the policy version and ask you again; the tool will load only with your consent.
9. Questions
How personal data is processed is explained on the Privacy page. For any question about this policy: destek@kuazara.com