:root{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#263143;background:#f6f5fb;--purple:#7654d9;--muted:#697084;--edge:#e1daee;--surface:#fff;--tint:#f0eafb;color-scheme:light}
*{box-sizing:border-box}body{margin:0}a{color:var(--purple);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:3px solid #b49bee;outline-offset:4px;border-radius:3px}.skip-link{position:absolute;left:18px;top:-100px;padding:12px;background:var(--surface);z-index:2}.skip-link:focus{top:12px}
.legal-header{max-width:1160px;margin:auto;padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px}.legal-brand{display:flex;align-items:center;gap:9px;font-size:29px;font-weight:850;letter-spacing:-1px;text-decoration:none}.legal-brand svg{width:28px;height:28px;fill:currentColor}.legal-header nav{display:flex;flex-wrap:wrap;gap:10px}.legal-header nav a{font-size:14px;font-weight:650;padding:10px 13px;border-radius:10px;text-decoration:none}.legal-header [aria-current=page]{background:var(--tint)}
main{max-width:1160px;margin:auto;padding:18px 32px 40px}.legal-intro{max-width:790px;margin:18px 0 30px}.legal-tag{display:inline-block;color:var(--purple);background:var(--tint);border-radius:20px;padding:7px 12px;font-size:11px;font-weight:800;letter-spacing:.7px}h1{font-size:clamp(32px,4vw,46px);line-height:1.2;letter-spacing:-1.3px;margin:18px 0 12px}.legal-intro>p{color:var(--muted);font-size:17px;line-height:1.6}.legal-intro .legal-meta{font-size:13px;margin-top:20px}
.draft-notice{padding:20px 24px;border:1px solid #e6c280;border-left:4px solid #ad7416;border-radius:16px;background:#fff5df;color:#6e4b18;line-height:1.6;margin-bottom:30px}.draft-notice p{margin:7px 0 0;font-size:14px}.legal-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}.legal-toc{position:sticky;top:24px;background:var(--surface);border:1px solid var(--edge);border-radius:18px;padding:20px;max-height:calc(100vh - 48px);overflow:auto}.legal-toc h2{font-size:15px;margin:0 0 12px}.legal-toc ol{padding:0;list-style:none;margin:0;display:grid;gap:6px}.legal-toc a{display:block;font-size:13px;line-height:1.5;padding:7px;border-radius:8px;text-decoration:none;color:var(--muted)}.legal-toc a:hover{background:var(--tint);color:var(--purple)}.legal-document{background:var(--surface);border:1px solid var(--edge);border-radius:22px;padding:34px;min-width:0}.legal-section{scroll-margin-top:24px;border-bottom:1px solid var(--edge);padding-bottom:24px;margin-bottom:28px}.legal-section:last-child{border:0;padding:0;margin:0}.legal-section h2{font-size:21px;letter-spacing:-.35px;line-height:1.35;margin:0 0 15px}.legal-section p,.legal-section li{font-size:15px;line-height:1.8;overflow-wrap:anywhere}.legal-section p{margin:12px 0}.legal-section ul{padding-left:22px}.legal-section li{margin-bottom:9px}
.placeholder{display:block;padding:12px 14px;border:1px dashed #bd9860;border-radius:10px;background:#fff8e9;color:#79551e;font-size:13px;line-height:1.6;overflow-wrap:anywhere}.review-note{border-left:3px solid #a185d7;padding:12px 15px;background:#f6f2fd;color:#6d568f;border-radius:0 10px 10px 0;font-size:13px!important}.rights-callout{padding:16px 18px;border:1px solid #c6b4eb;border-radius:13px;background:var(--tint);margin:18px 0}.rights-callout p{margin:8px 0 0}.table-wrap{overflow:auto;margin:18px 0;border:1px solid var(--edge);border-radius:12px}table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.7}th,td{text-align:left;vertical-align:top;padding:13px 15px;border-bottom:1px solid var(--edge);overflow-wrap:anywhere}th{background:var(--tint);font-weight:700}tbody tr:last-child td{border-bottom:0}td:first-child{width:36%;font-weight:600}code{font-size:12px;overflow-wrap:anywhere}footer{max-width:1160px;margin:auto;padding:24px 32px 36px;border-top:1px solid var(--edge);display:flex;flex-wrap:wrap;gap:18px;font-size:13px}footer span{margin-left:auto;color:var(--muted)}
@media(max-width:850px){.legal-layout{grid-template-columns:1fr}.legal-toc{position:static;max-height:none}.legal-toc ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.legal-document{padding:26px}.legal-header{align-items:flex-start}}
@media(max-width:550px){main{padding:6px 18px 30px}.legal-header{padding:22px 18px;flex-direction:column;gap:14px}.legal-header nav{gap:3px}.legal-header nav a{font-size:12px;padding:8px 10px}.legal-intro>p{font-size:15px}.draft-notice{padding:16px}.legal-toc{padding:16px}.legal-toc ol{grid-template-columns:1fr}.legal-document{padding:22px 18px}.legal-section h2{font-size:20px}.legal-section p,.legal-section li{font-size:14px}.table-wrap{border:0}table,thead,tbody,tr,th,td{display:block}thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}tr{border:1px solid var(--edge);border-radius:10px;margin-bottom:10px;overflow:hidden}th,td{width:auto!important;border:0;padding:12px}td:first-child{background:var(--tint);padding-bottom:8px}td+td{padding-top:8px}footer{margin:0 18px;padding:22px 0;gap:14px}footer span{width:100%;margin:0}}
@media(prefers-color-scheme:dark){:root{color:#e9eaf5;background:#171925;--purple:#c3a3f8;--muted:#c0bacf;--edge:#454055;--surface:#242636;--tint:#393047;color-scheme:dark}.draft-notice{background:#3d3221;border-color:#8b6a3c;border-left-color:#e2b76d;color:#f0d5a9}.placeholder{background:#3d3221;border-color:#a17d48;color:#f0d5a9}.review-note{background:#342b43;color:#d4c2ee}.rights-callout{border-color:#796195}}
@media print{:root{color:#111;background:#fff;--purple:#111;--surface:#fff;--muted:#333;--edge:#ccc;--tint:#f4f4f4}.legal-header nav,.legal-toc,.legal-footer,.skip-link{display:none}.legal-layout{display:block}main,.legal-header{max-width:none;padding:10px}.legal-document{border:0;padding:0}.legal-section{break-inside:avoid}.draft-notice{background:#fff;color:#111}.legal-intro{margin-bottom:20px}a{color:#111}.review-note,.plac…293 tokens truncated…22 29 29 22 32 3Z"/></svg>Stride</a><nav aria-label="Legal pages"><a href="terms.html" >Terms &amp; Conditions</a><a href="privacy.html" aria-current="page">Privacy Policy</a></nav></header><main id="document" tabindex="-1"><div class="legal-intro"><span class="legal-tag">YOUR STUDY SPACE · YOUR RIGHTS</span><h1>Privacy Policy</h1><p>What Stride handles, why it is used, and the choices and rights you have.</p><p class="legal-meta">Review draft v0.1 · Prepared 12 October 2026 · Not yet in force</p></div><div class="draft-notice" role="note"><strong>Draft for review — public launch is not ready.</strong><p>The contact email and final operator/controller are still to be confirmed. Retention periods and legal grounds are proposals; hosting, provider arrangements and implementation must be checked before publication as final documents.</p></div><div class="legal-layout"><aside class="legal-toc"><nav aria-label="On this page"><h2>On this page</h2><ol><li><a href="#controller">1. Who is responsible</a></li><li><a href="#summary">2. Privacy in plain English</a></li><li><a href="#information">3. Information the current website handles</a></li><li><a href="#purposes">4. Why information is used and the proposed legal grounds</a></li><li><a href="#providers">5. Who receives information</a></li><li><a href="#locations">6. Where information is processed</a></li><li><a href="#device-storage">7. Browser storage and your choices</a></li><li><a href="#retention">8. Retention and deletion</a></li><li><a href="#young-users">9. Young users and safe defaults</a></li><li><a href="#rights">10. Your choices and rights</a></li><li><a href="#updates">11. Changes to this notice</a></li></ol></nav></aside><article class="legal-document" aria-label="Privacy Policy"><section id="controller" class="legal-section"><h2>1. Who is responsible</h2><p><strong>Proposed operator: Dylan Titley, United Kingdom.</strong> <span data-legal-placeholder="operator">The final legal service operator and data controller must be confirmed before public registration opens.</span> A data controller decides why and how personal information is used.</p><p>Privacy questions, requests or complaints: <span class="placeholder" data-legal-placeholder="contact">[CONTACT EMAIL — TO BE ADDED BEFORE PUBLIC LAUNCH]</span></p><p>The contact details and responsibility review must be completed before this notice becomes final.</p></section>
<section id="summary" class="legal-section"><h2>2. Privacy in plain English</h2><ul><li>Your study records are not published as a profile or shared with other ordinary Stride accounts.</li><li>We use Supabase for accounts and cloud study records. The project region is Paris, France, as confirmed by the project owner.</li><li>Stride has no advertising, paid plans, marketing emails or optional visitor-tracking analytics at launch. Hosting and account providers still handle operational and security information.</li><li>You can export study data. Account deletion needs a working contact process before public launch.</li><li>Signing out does not erase every local copy. On a shared device, clear Stride’s browser storage and protect any backup files.</li></ul><p>Stride is intended for people aged 13 and over. You can ask a trusted adult to help you understand this page.</p></section>
<section id="information" class="legal-section"><h2>3. Information the current website handles</h2><div class="table-wrap"><table><thead><tr><th>Information</th><th>How it is used</th></tr></thead><tbody><tr><td>Email, internal account ID, password submitted for sign-in, verification and session information</td><td>Create and verify an account, sign in, refresh the session and reset a password. Supabase handles authentication; the study-data table does not store passwords.</td></tr><tr><td>Name entered during signup</td><td>Stored in the account profile. The tracker does not currently use this field elsewhere; its necessity is under review before public launch.</td></tr><tr><td>Subjects, colours, goals, study dates and minutes, activities, topics, notes, question marks, plans, deadlines and completion states</td><td>Save your study space, synchronise records and calculate the progress you ask to track.</td></tr><tr><td>Course/provider names, course and certificate links, module progress and personal reward targets</td><td>Organise independent learning and your own incentives.</td></tr><tr><td>Device/browser request details, IP addresses, authentication events and service logs</td><td>Deliver the website, process account requests, investigate faults and protect access. The providers receive these as part of their services.</td></tr><tr><td>Messages you choose to send to support</td><td>Respond to your question, request or complaint once the public contact route is active.</td></tr></tbody></table></div><p>Information comes from what you enter or import, your browser’s requests, and the account service. Study totals and achievements are derived from your records. The focus timer does not monitor your activity in other apps or websites.</p><p>We do not ask for a school address, precise GPS location, identity documents or payment details. Free-text fields can still contain sensitive information if you type it; please keep it out of Stride.</p></section>
<section id="purposes" class="legal-section"><h2>4. Why information is used and the proposed legal grounds</h2><p class="review-note">The following grounds are proposals for the final controller to review and document before public registration. Agreement to Terms is not being treated as blanket consent to process personal information.</p><div class="table-wrap"><table><thead><tr><th>Purpose</th><th>Proposed UK GDPR ground</th></tr></thead><tbody><tr><td>Provide the private account and study-tracking functions you request; protect unsynced work</td><td>Legitimate interests in providing a requested study-organisation service, subject to a necessity and balancing assessment that gives particular weight to children’s rights.</td></tr><tr><td>Protect accounts, investigate faults and respond to support</td><td>Legitimate interests in secure, reliable operation and resolving users’ requests, using only information needed for those purposes.</td></tr><tr><td>Meet a specific legal duty, including applicable rights requests</td><td>Legal obligation, where that duty actually applies. Information will not be retained merely because it might be useful.</td></tr></tbody></table></div><p>If an optional feature later relies on consent, its purpose and choice must be explained separately before it is used. This draft does not authorise future advertising or analytics.</p><p>Account information is needed to sign in and save online records. Some study fields are optional. The required name field needs a minimisation decision before launch.</p></section>
<section id="providers" class="legal-section"><h2>5. Who receives information</h2><ul><li><strong>Supabase:</strong> authentication, study-data hosting, operational logs and verification/reset email delivery. Authorised project administrators and provider personnel may have access where needed to operate or support the service. Account access controls do not make records end-to-end encrypted against the operator.</li><li><strong>GitHub Pages:</strong> currently hosts the website files. GitHub states that visitors’ IP addresses are logged for security. Study records are saved to Supabase rather than committed to the public code repository.</li><li><strong>jsDelivr:</strong> currently delivers the Supabase browser library. Loading it sends a network request, including an IP address and browser request information, to its delivery infrastructure.</li><li><strong>Email services:</strong> verification/reset messages pass through the configured sending service and your email provider. A production sending provider has not yet been selected.</li></ul><p>We may disclose information when a valid legal requirement applies or where necessary and proportionate to establish or defend legal rights. Stride does not sell study records or disclose them to advertisers.</p><p class="review-note">Before launch: confirm suitable hosting for account sign-in, the production email provider, and provider/data-processing arrangements. Update this list if the current setup changes. Google and Apple sign-in are not enabled.</p><p>Provider information: <a href="https://docs.github.com/en/site-policy/privacy-policies/github-general-privacy-statement" rel="noreferrer">GitHub privacy</a>, <a href="https://supabase.com/legal" rel="noreferrer">Supabase legal resources</a>, and <a href="https://www.jsdelivr.com/terms/privacy-policy" rel="noreferrer">jsDelivr privacy information</a>.</p></section>
<section id="locations" class="legal-section"><h2>6. Where information is processed</h2><p>The project owner has confirmed that the Supabase project is in <strong>Paris, France</strong>. That is the selected project region, not a promise that every service operation happens only in France.</p><p>Hosting, email delivery, support and security operations can involve other locations. Supabase describes region-specific database hosting alongside processing outside that region for certain platform operations.</p><p class="placeholder" data-legal-placeholder="transfers">[CONFIRM CURRENT PROVIDER LOCATIONS AND APPLICABLE INTERNATIONAL-TRANSFER SAFEGUARDS BEFORE PUBLIC LAUNCH]</p><p>The final notice must explain the safeguards actually applicable to this deployment and how to obtain information about them. We have not assumed that choosing Paris alone resolves every transfer issue.</p></section>
<section id="device-storage" class="legal-section"><h2>7. Browser storage and your choices</h2><p>The current account website uses browser local storage as well as its online database. This section also covers cookies or similar technologies if the account or hosting infrastructure uses them.</p><div class="table-wrap"><table><thead><tr><th>Storage</th><th>Purpose and duration</th></tr></thead><tbody><tr><td>Supabase authentication session</td><td>Keep you signed in and refresh access. The account library manages its lifetime and removes the local sign-in session on successful sign-out. Other devices’ sessions are not automatically signed out.</td></tr><tr><td>Account-specific study copy (<code>stride.draft.&lt;account ID&gt;</code>)</td><td>Hold a saved or unsynced copy for recovery. It has no automatic expiry in the current code and can remain after sign-out until overwritten or cleared.</td></tr><tr><td>Theme preference (<code>stride.theme</code>)</td><td>Remember light or dark mode. It currently has no automatic expiry. You can switch theme in Stride or clear this browser setting.</td></tr><tr><td>Older browser-only records (<code>stride.v1</code>), if present</td><td>May remain from the earlier tracker. They are not automatically imported into an account; you choose whether to import a backup.</td></tr></tbody></table></div><p>You can clear storage in your browser’s site-data settings. Export anything you want to keep first: clearing storage can sign you out and erase unsynced work. Downloaded backup files remain under your control and are not removed by signing out.</p><p>Necessary account/storage functions need a documented assessment of the applicable device-storage rules. A persistent appearance preference also needs clear information and an easy way to object to remembering it.</p><p class="review-note">Before launch: provide the theme-storage opt-out and decide whether local study copies should have an expiry or user control. We are not claiming that every local-storage use is automatically exempt from consent requirements.</p></section>
<section id="retention" class="legal-section"><h2>8. Retention and deletion</h2><p><strong>Current test behaviour:</strong> online records remain while the account exists, unless records are replaced or removed. There is no automatic unverified-account, inactive-account or support-mail cleanup schedule in the website yet.</p><p><strong>Proposed schedule for review — not yet active:</strong></p><div class="table-wrap"><table><thead><tr><th>Information</th><th>Proposed limit</th></tr></thead><tbody><tr><td>Unverified accounts</td><td>Remove after 30 days from creation if verification is not completed.</td></tr><tr><td>Verified account and study records</td><td>Keep while the account is in use or until a valid deletion request. After 24 months without sign-in or saved activity, give 30 days’ notice before closure; renewed activity stops that closure.</td></tr><tr><td>Support correspondence</td><td>Remove 90 days after the issue is resolved, unless a specific legal duty or unresolved legal claim requires a documented exception.</td></tr><tr><td>Logs, provider backups and email-delivery records</td><td>Exact provider/configuration limits must be confirmed before launch. Removing a live record does not necessarily remove every recovery copy immediately.</td></tr></tbody></table></div><p>A deletion request needs identity/authority checks and a process for removing the live account and associated study row. Provider recovery copies must expire under a defined schedule; any restored backup must have requested deletions reapplied. Narrow legal exceptions must be explained rather than used to keep everything indefinitely.</p><p>Deleting online data cannot erase backup files you downloaded or browser data on devices we cannot access. Clear those separately when appropriate.</p></section>
<section id="young-users" class="legal-section"><h2>9. Young users and safe defaults</h2><p>The minimum intended age is 13. Because teenagers will use Stride, their privacy needs must be considered in the service design, not just in this page. The current tracker has no public profiles, leaderboards, messaging between users, advertising or precise-location feature.</p><p>Use a nickname rather than private identifying details if a name field is retained. Do not record sensitive details about classmates, family members or people discussed in your coursework. You can ask a trusted adult for help with a privacy request.</p><p>A parent or guardian can raise a concern about a child’s information. We must check identity, authority and the young person’s rights before sharing records; a relationship alone does not automatically give access to every entry.</p><p class="review-note">Before launch: complete the children’s privacy/risk assessment, justify the age-assurance approach and remove unnecessary registration information. If an under-13 account is identified, a proportionate restriction/deletion process is needed.</p></section>
<section id="rights" class="legal-section"><h2>10. Your choices and rights</h2><p>You can ask for a copy of your information, correction of inaccurate information, deletion, or limits on its use. Some rights have conditions or lawful exceptions. A legal right to data portability applies where its conditions are met; Export backup also gives you a copy of study records as a product feature.</p><div class="rights-callout"><strong>Your right to object</strong><p>You can object to a use based on legitimate interests. We must consider your circumstances and stop that use unless the law permits us to continue for a stronger reason. Contact us through the privacy route above.</p></div><p>Export backup contains study records and settings; it is not a complete copy of the separate authentication profile or provider logs. Contact the controller if you need those as part of a rights request.</p><p>Requests normally require a response within one month under UK data-protection law. Any lawful extension, necessary clarification or identity check must be explained. The public contact route and request-handling process must be operational before launch.</p><p>Stride calculates totals, levels and graphs from what you enter. It does not use those calculations to make decisions with legal or similarly significant effects on you.</p><p>You can also complain to the UK <a href="https://ico.org.uk/make-a-complaint/">Information Commissioner’s Office (ICO)</a>. Contacting us first may help resolve a problem, but does not prevent you contacting the regulator.</p></section>
<section id="updates" class="legal-section"><h2>11. Changes to this notice</h2><p>We will show a new date and version when the notice changes, and explain material changes before a new use of information begins where required. A new domain, host, email provider, social sign-in option, advertising or analytics would require a fresh review of these details.</p><p>For the rules of using Stride, read the separate <a href="terms.html">Terms &amp; Conditions</a>. Neither document is final while its draft notice or unresolved placeholders remain.</p></section></article></div></main><footer class="legal-footer"><a href="index.html">← Back to Stride</a><a href="terms.html">Terms &amp; Conditions</a><a href="#top">Back to top ↑</a><span>Small steps. Big possibilities.</span></footer></body></html>
