Your data stays local. The app stores study data in browser storage: IndexedDB for larger exam data and images, with localStorage for small settings and legacy compatibility.
Stored in your browser
Imported exams, images, recent attempts, progress, editor changes, theme preference, and local exam visibility settings.
Not sent to the server
Question text, selected answers, imported files, filenames, personal progress, study history, names, emails, and account identifiers.
Online analytics
The public GitHub Pages deployment can send limited aggregate analytics to Azure Application Insights. Analytics is not initialized on localhost, private self-hosted URLs, or file URLs.
- Collected: page views, exam started/completed counts, study mode counts, import counts, progress export actions, and coarse score/duration buckets.
- Not collected: question text, options, answers, explanations, selected responses, imported content, filenames, personal study records, persistent visitor IDs, names, or emails.
- You can turn analytics off from the Privacy settings control on the online site.
Imports and editor changes
Dragging an exam file into the app or saving changes in the editor updates only that browser profile. To publish corrections for everyone, export the corrected JSON and open a pull request or GitHub issue.
Offline behavior
After the app shell is cached, the simulator works offline for the pages and assets already installed by the service worker. This privacy page is cached so the footer link opens as a readable app page instead of downloading a raw file.
Self-hosting and shared exams
A server can pre-install exams in user-content/exams/. Those static exam files are visible to every user of that deployment, but each user's progress and imported private exams still stay in their own browser storage.
Storage locations
- IndexedDB: imported exam content, images, image metadata, progress, and recent attempt review summaries.
- localStorage: theme, analytics opt-out, exam activation settings, and legacy compatibility mirrors.
- Cache Storage: app shell files needed for offline use.
Backups
Browser storage is scoped to the site origin and browser profile. Clearing site data can remove imports and progress. Use the export actions when you need a backup or want to move data to another browser.