Your learning. Clear boundaries.
Accounts and saved work
Adult learners can register with a username and password. We store a salted PBKDF2-SHA256 password hash, hashed recovery codes, expiring session records, and workspaces you explicitly save. No email or date of birth is collected. Do not place sensitive information in a username or project.
First-party learning analytics
While signed in, the platform records these named events: lesson opened, lesson completed, checkpoint passed, workspace saved/downloaded, resource downloaded, and news opened. Events contain your account ID, the course/resource identifier, event name, and time. They do not include keystrokes, workspace text, private prompts, or API keys. Event records are normally retained for 90 days, with daily cleanup. No advertising, third-party analytics scripts, fingerprinting, or session replay is installed. Public pages work without an account and no learning events are sent while signed out.
Cloud AI and learner keys
The optional platform tutor uses company-configured inference providers. Practice uses your selected Google AI Studio, Groq, or Cloudflare account. Keys pass through this platform's server for the current request and are sent only to the selected provider; application code does not persist or log them. The key field is cleared after each request and on sign-out. Providers and infrastructure have their own retention, billing, and processing terms. Never submit private data or assume free access is unlimited.
Browser storage and offline files
Local drafts use browser storage. Downloaded HTML and JSON contain your learning content, not API keys, passwords, session cookies, or cloud credentials. Files are not encrypted: keep them private. Download an updated HTML copy after offline edits. Other users of a shared browser may access local notes.
Export, recovery, and deletion
Use the Account menu to export cloud work and learning events, or permanently delete the account after password confirmation. This does not remove local browser copies or files you downloaded. Recovery uses the code shown at account creation; there is no email recovery. Lost passwords without a recovery code cannot be reset by this pilot.
Cookies and infrastructure
Sign-in uses a Secure, HttpOnly, SameSite session cookie, valid up to 30 days. Cloudflare hosts the application and database. Provider/hosting security and operational logs are governed separately. The platform does not promise zero-retention or anonymity.
Operator and pilot limits
This is an independent, non-accredited pilot operated through the linked source repository. Registration is currently limited to adults aged 18+. Questions and issues can be raised through the project issue tracker; do not post private data there. A dedicated private support channel and additional safeguarding are required before opening child accounts.
Optional discovery and learning funnel
Optional first-party acquisition counts are off by default and separate from signed-in learning events. If you choose Allow optional counts, your browser creates a random identifier and sends only an allowed event name, activity identifier, broad source code (such as share or devto), and server time. No names, account IDs, project notes, public excerpts, full referrer URLs, raw IP addresses or browser fingerprints are stored in this analytics table. Network infrastructure necessarily processes requests and rate limiting transiently.
The identifier, first opt-in day, source code and consent choice are kept in local browser storage. Events expire after 90 days. After deletion, a one-way hash of the random identifier remains for up to 90 days solely to prevent delayed events from recreating deleted records; this marker is not used in analytics. Counts describe consenting browser IDs, not all visitors or unique people. You may turn counting off or delete the optional records using the controls below. If deletion fails, the identifier stays locally only so you can retry; no further events are sent while counting is off. Global Privacy Control disables these optional counts. A private operator-only dashboard shows aggregate counts.
Optional sharing
Share cards are generated locally. No notes, usernames or identifiers are included automatically. An excerpt you explicitly type for a card stays in your browser; downloading or copying does not publish it. A copied invitation URL contains a broad source tag, not your identity. Publishing it to an external platform makes the selected content public under that platform’s terms.
Facilitator invitations
A small operator-run pilot may research public organisational role inboxes, their official source pages and relevance. Personal addresses are not harvested. New search results remain unreviewed research, not mailing-list entries. Invitations are limited to one per approved organisation, with no automatic follow-ups or tracking pixels. A private delivery ledger prevents duplicates; opt-out links require no account. Recipient addresses are removed after an attempt or 90 days. Minimal domain/hash suppression records remain to prevent recontact. An invitation or SMTP acceptance is not proof of delivery, partnership or a completed session.