Teach

BugBot for school IT teams

Last updated 11 September 2026

Everything runs in the browser. There is nothing to install on student machines, no plug-in, no extension, and no software on the network. The Python runs inside the browser page (WebAssembly), so student code never leaves the machine unless a student is in a class, in which case the last program they ran is saved for their teacher.

Browser requirements

Allow-list

If your filter blocks by default, allow these hosts over HTTPS (port 443). None of them require anything other than outbound HTTPS.

HostWhat forNeeded by
bugbotlab.com, www.bugbotlab.com, bugbotlab.web.appThe websites, lessons, competitions, simulator, docsEveryone
bugbot-teach.web.app, teach.bugbotlab.comThe teacher toolsTeachers
firestore.googleapis.comClass data (live updates use long-polling over HTTPS, no WebSocket required)Students in a class, teachers
identitytoolkit.googleapis.com, securetoken.googleapis.comSign-in (anonymous for students, accounts for teachers)Students in a class, teachers
accounts.google.com, login.microsoftonline.com, bugbotlab.firebaseapp.comGoogle / Microsoft sign-inTeachers only
www.gstatic.com, fonts.googleapis.com, fonts.gstatic.comFirebase client library and fontsEveryone
cdnjs.cloudflare.comOpen-source libraries: the code editor (CodeMirror), the 3D view (three.js), markdownEveryone
cdn.jsdelivr.netThe Python runtime in the browser (Pyodide 0.26)Everyone
www.googletagmanager.com, *.google-analytics.com, *.analytics.google.comGoogle Analytics, optional: loads only after consent. Blocking it does not affect the lessons.Optional
assets.mailerlite.com, groot.mailerlite.comThe waitlist form on the front page onlyOptional

Nothing is loaded from any other host. There are no adverts and no advertising networks.

No internet? The offline bundle

For a room with no connection, or a filter you cannot change, download the offline bundle (about 8 MB). Unzip it on any machine with Python 3, run START.bat (Windows) or start.sh (Mac, Linux), and the lessons, competitions, simulator and docs open at http://localhost:8000/ with every library included. Progress is saved in the browser. Classes, live rooms and feedback need the internet and are off in the bundle. It can also be served from a school web server or a shared drive with any static server.

Data map

DataWhere it livesWho can read it
Student progress when not in a classThe student's browser only (local storage)The student
Student class record: nickname, anonymous id, current lesson, task results, last program run, last error, timestampsCloud Firestore, London (europe-west2)The student (own record) and the teacher who made the class. Database rules enforce this; there is no admin console access for schools.
Teacher account: email, name, provider idFirebase Authentication (Google) and Cloud Firestore, LondonThe teacher, BugBotLab support
Class settings: name, code, message, assignment, locked modules, hintsCloud Firestore, LondonThe teacher; students in the class read the settings that apply to them
Feedback and problem reportsCloud Firestore, London, then emailed to BugBotLab (Google Workspace)BugBotLab support only
Analytics events (with consent)Google Analytics 4BugBotLab, aggregated

Accounts and sign-in

Deleting data

A teacher can delete a class, which deletes every student record in it, from BugBot Teach. To delete a teacher account or for a school-wide deletion at the end of a contract, email info@bugbotlab.com; we complete it within 30 days and confirm in writing.

Documents