Privacy & trust
What Has to Be Working for This Site to Work
There is no uptime dashboard here, because nothing measures one. Instead the status page names every dependency and the failure each one actually produces, which turns out to be more useful.
Applies to Novus Learn 0.1.0
The number nobody should print
Copy linkA status page is only worth reading if something measures the thing it reports. Novus Learn has no uptime monitor, no synthetic checks and no incident feed, so a percentage on that page would be a number somebody typed. The page says that outright and reports architecture instead: which parts have a server that can fail, and what the failure looks like from where you are sitting.
That sounds like a smaller promise than a green tick. It is a larger one. A green tick tells you nothing about the feature you are trying to use; a map of dependencies tells you whether a reload will help.
Ring one: things with no server behind them
Copy linkMost of the product does not have a server to go down. Once a page has loaded, these features need nothing from this site at all, which is why installing the app for offline use works as well as it does.
- Saved topics, recent topics, your library, preferences, theme and motion settings.
- File parsing for text, Markdown, EPUB, PDF, Word, PowerPoint and transcripts.
- The code sandbox and the scratchpad, which run in a WebAssembly interpreter in the tab.
- Speech to text, which runs a self-hosted model in a same-origin worker.
- Career Matcher scoring, which is a deterministic local engine.
- Flashcards, quizzes, guided lessons, notes and the Knowledge Canvas for a topic you already opened.
Ring two: what this site serves
Copy linkPages, assessment content, career profiles, puzzles, courses and the search catalogue are prerendered as static output at build time and served from the hosting platform's edge. A failure here looks like the site not loading at all rather than like a partial degradation, which is a useful diagnostic in itself: if some of the site works, the problem is not here.
There is exactly one server-side runtime path, and it is deliberate. Aptitude and Reasoning Challenge session scoring happens on the server so that answer keys never reach the browser. If that path is unavailable, a timed attempt cannot be started or scored, and everything else keeps working.
Ring three: services somebody else runs
Copy linkThree public services are load bearing, and each one fails in a way you can recognise. If Wikimedia is unavailable you cannot open a new topic, while every topic already in your library still opens, because the project is already on your device. If Wiktionary is unavailable the dictionary and define-on-tap stop resolving, and nothing else notices. If Europe PMC is unavailable the paper tools cannot search, and the rest of the source tools are unaffected.
None of these is a hidden dependency: each is credited by name on the attributions page along with the licence its material is used under, which is both a legal obligation and a practical one. A reader who knows the site reads Wikimedia can form a sensible expectation about what a Wikimedia outage does to it.
- Wikimedia, for searching and opening a new topic. Topics already in your library still open.
- Wiktionary, for the dictionary and define-on-tap.
- Europe PMC, for open-access paper lookups.
- Consent-gated analytics and advertising, which load only if you opted in and are never required for any feature.
The consent layer is part of this picture
Copy linkThe fourth item in that list is worth separating out, because it is the only dependency that is optional by design. Analytics is opt-in in every region: a visitor who has not accepted is not measured anywhere, and zero measurement for non-accepting traffic is an accepted cost of that stance rather than a bug. Advertising is region-scoped and a Global Privacy Control signal overrides the default in either direction.
Declining removes what is already on the page, not merely the next request. That is a stricter behaviour than most consent implementations ship, and it is the one that matters if you change your mind mid-visit.
A diagnostic order that usually works
Copy linkCheck whether the feature is in ring one. If it is, a reload almost always resolves it and the problem is local: storage pressure, a blocked worker, or a browser extension. If a single topic will not open, try a different topic, because that one test separates an upstream outage from a problem with one article. If a timed attempt will not start while the rest of the site is fine, that is the one server path, and waiting is the only remedy.
If it is none of those, the contact address is the route, and there is no automated alert that would have told us first. Include the URL, the browser and what you saw.