← Docs

Local-first by default

Libre Academy is local-first. By default:

  • Every course is a JSON file on disk (or in IndexedDB in the browser)
  • Progress, XP, and streak counters live in SQLite (desktop) / IndexedDB (browser)
  • The AI tutor runs against a local Ollama instance — zero tokens billed, no cloud round-trip
  • There is no telemetry. No analytics, no error reporters, no outbound calls beyond the playground proxies and an optional cloud-sync toggle

What does talk to a server?

A small set of opt-in things:

  • The Anthropic backend for the AI tutor, if you flip it on under Settings (the local Ollama path stays default)
  • Cloud sync, if you sign in — small JSON progress records, nothing else
  • The Rust + Go playgrounds at play.rust-lang.org and play.golang.org, since neither toolchain ships with Libre Academy

Everything else — including PDF ingest, lesson rendering, code execution for the in-browser languages — runs entirely on your machine.