Skip to content

App modes: Account vs Private (secure)

Schuly runs in one of two modes, chosen at the gate. Both read the same operator-provided school systems and the same backend-served catalog; the difference is who authenticates and where the data rests. The app is provider-agnostic - concrete systems are catalog data, never hardcoded.

🔐 Account mode🕶️ Private / secure mode
Auth to SchulyOIDC (Keycloak) bearernone
HTTP clientApiClient (auth interceptor)clean Dio, anonymous endpoints only
Where data livesserver-side in Postgreson-device only
Backend rolestores + background-syncslive stateless proxy, stores nothing
Provider selectionper connected accountcatalog privateAuthStrategy (token / scrape)

Edit docs in each source repo — they sync here automatically.