Local Data
Last updated: August 20, 2026
Why LLM Primer Uses Browser Storage
Public lessons work without an account. Browser storage lets the site remember your place, answers, notes, and preferences between visits. This page explains which details stay on the device and which smaller records can synchronize when you sign in.
What Stays in This Browser
- Reading and review state: visits, scroll progress, done or undone choices, review dates, and chapter summaries.
- Exercise history: answers checked in this browser, their result and time, solved state, and whether a solution or sample code was shown.
- Browser Python history: code run in an interactive editor, output, error text, result state, and run time.
- Annotations: highlighted text, nearby anchor text, category or color, note content, page visibility, and panel settings.
- Study-session state: the active local session, exercise outcomes waiting to synchronize, and local session metadata.
- Diagrams and interface preferences: diagram settings you choose to save, light or dark appearance, accent color, optional analytics preference, and other small interface choices.
- Synchronization records: an opaque device identifier, account scope, sync cursor, pending changes, retry times, and imported state used to keep devices consistent.
Progress primarily uses local storage. Annotations and synchronization queues use IndexedDB. The browser may also cache scripts, fonts, pages, and Python runtime packages for faster loading.
Anonymous and Account-Scoped Records
Work created before sign-in is stored separately from work associated with an account. This prevents one account's learning state from being shown automatically in another account on the same browser.
Home can show Progress from before you signed in and Notes from before you signed in. Choosing to add either one copies that anonymous work into the current account; it does not delete the anonymous browser copy.
What Synchronizes
Signed-in learning records are saved locally first and then sent to LLM Primer. If the browser is offline or a request fails, a pending change can remain in IndexedDB and retry later. Other devices receive the latest saved state when they synchronize.
The server receives a smaller record than the browser keeps:
- lesson reading, completion, review, exercise summary, and timestamps;
- exercise solved state, attempt count, solution-revealed state, and the latest checked response in an active study session;
- Browser Python completion state, run count, and latest result type;
- diagram settings you choose to save;
- account annotations and their note content; and
- files in a project workspace when that workspace reports successful account synchronization.
The server does not receive the full local answer history or the source code in ordinary lesson editors. Project workspace files are the exception: they can synchronize as bounded private snapshots. Program output, errors, tracebacks, plots, and temporary editor and diagram state remain local. A status such as Saved on this device, but synchronization did not complete means the local copy exists but another device may not receive it yet.
Browser Python
Browser Python examples run on your device through a WebAssembly-based Python runtime. They do not send the program to an LLM Primer execution server. Runtime and package files can be downloaded and cached by the browser. Browser Python is intended for small learning examples, not as a full local environment or GPU service.
Project Workspaces
Project files are saved in IndexedDB first. Signed-in readers can also synchronize bounded snapshots to private account storage. Export writes the known project tree to a ZIP on your device. Import replaces local editable files only after the ZIP passes path, file-list, size, text, and read-only-file checks; the imported copy then follows the ordinary synchronization flow.
Reset, Sign-Out, Export, and Deletion
- Reset progress clears the lessons and exercises in the section named by that progress card. When you are signed in, the reset is synchronized across your devices. It does not clear your theme, annotations, or unrelated sections.
- Deleting an individual annotation removes that annotation from the current scope and synchronizes the deletion when applicable.
- Signing out removes the active sign-in cookie, but browser learning records may remain on the device. On a shared device, clear the site's cookies and storage through browser settings after signing out.
- Download account dataexports records held by LLM Primer's server. It is not an export of every local answer, Python run, cache file, or unsynchronized change in this browser.
- Delete account permanentlyremoves server-held account data and clears the current browser's account-scoped learning, annotation, and sync records. It does not clear anonymous records, other browsers, theme preferences, cached packages, or an independent update-list subscription.
Browser settings can remove all cookies and site data for LLM Primer. This can permanently remove anonymous work and any signed-in changes that have not synchronized. Browser names for this control vary; look for site data, cookies, local storage, or offline data.
Privacy on Shared Devices
Anyone who can use your unlocked browser profile may be able to inspect or clear local learning data. Use a private browser profile or clear site data after signing out when the device is shared. Do not store sensitive information in notes or exercise fields.
Related Policies
Read the Privacy Policy for server processing and account rights, and the Cookie Policy for sign-in and security cookies.