Browser-based Safe Exam Browser (SEB) configuration generator for creating focused learning environments in classroom teaching.
🌐 Online SEB Config Generator: focusmode.ch
- Latest DEV version: dev.focusmode.ch
- GitHub Pages (Mirror): markuskiller.github.io/SEBConfigGenerator
📚 Documentation:
💻 Offline Use:
- Download: Latest Release (ZIP) or Latest Dev (ZIP)
- Extract and open
index.htmlin your browser - ✅ 100% local processing - no internet required
- ✅ Pre-configured Services - OneNote, Word, Kahoot, Mentimeter, Miro, Padlet, Whiteboard.fi, Slido, Etherpad (PRs welcome)
- ✅ Multi-Tool Support - Combine multiple services in one configuration
- ✅ Bilingual Interface - German and English (PRs welcome)
- ✅ Privacy-First - 100% browser-local processing, no data transmission (see Privacy section below)
- ✅ Flexible Domain Control - Wildcards, custom domains, blocked domains
- ✅ Moodle Quiz Integration - Export URL lists for direct copy-paste into Moodle SEB settings
- ✅ Subject-Specific Tools - Pre-configured dictionaries and reference tools (PRs welcome)
- ✅ Domain Capture Tools - PowerShell script and browser console helpers
- ✅ Open Source - MIT License, auditable code
✅ Designed for:
- Digital worksheets during supervised lessons
- Collaborative writing assignments
- Interactive tool usage (Kahoot, Mentimeter, Padlet)
- Focused work periods with controlled internet access
- Research tasks with approved resources
❌ Not designed for:
- High-stakes exams (insufficient security)
- Unsupervised assessments
- Preventing determined circumvention
100% Local Processing:
- All configuration data is processed exclusively in your browser
- No data is transmitted to any server
- No analytics, tracking, or external dependencies
- Can be used completely offline
Local Storage (Browser): The following user preferences are saved locally in your browser:
- Language preference (
sebConfigLang) - Selected UI language (German/English) - Favorites (
sebConfigFavorites) - Your favorite boolean options for quick access - Translation display (
sebConfigShowTranslations) - Show original or translated labels in advanced options - URL filter source (
sebConfigURLFilterSource) - Active filter for URL rules (all/preset/SharePoint/custom/imported)
Note: These preferences enhance usability and are stored only on your device. No configuration data or user inputs are ever stored or transmitted.
- Client-side only - Pure HTML/CSS/JavaScript
- No dependencies - No npm, no build process
- Data processing - 100% in-browser JSON to XML conversion
- Extensible templating & translations architecture - PRs welcome!
- Output formats -
.seb.plist(import into SEB Config Tool) or Moodle Quiz URL lists (copy-paste) - Deployment - Static files via Cloudflare Pages and GitHub Pages
- Build automation - Bash scripts for template generation
SEBConfigGenerator/
├── index.html # Main application
├── js/ # Application logic
├── templates/ # Service presets and configuration templates
│ ├── source/ # Human-editable JSON source files
│ └── generated/ # Auto-generated JavaScript modules
├── scripts/ # Build and deployment automation
│ ├── deploy.sh # Automated deployment script
│ ├── build-service-presets.sh
│ └── build-translations.sh
└── docs/ # Public-facing documentation
├── de/ # German docs (SCHNELLSTART.md, ANLEITUNG.md)
└── en/ # English docs (QUICKSTART.md, GUIDE.md)
# Clone repository
git clone https://github.com/markuskiller/SEBConfigGenerator.git
cd SEBConfigGenerator
# Open in browser
open index.html
# Or use local server
python -m http.server 8000# Rebuild service presets and translations
./scripts/build-service-presets.sh
./scripts/build-translations.sh
# Or use automated deployment script
./scripts/deploy.shSee scripts/README.md for detailed build documentation.
Automated (recommended):
./scripts/deploy.sh v0.19.0 # Rebuild + version bump + commit + pushManual:
./scripts/build-service-presets.sh
./scripts/build-translations.sh
git add .
git commit -m "Update generated templates"
git push origin devDeployment targets:
- dev branch → dev.focusmode.ch (Cloudflare Pages)
- main branch → focusmode.ch (Cloudflare Pages)
- Mirror of main/dev branches → GitHub Pages
Contributions welcome!
We particularly welcome contributions of the following JSON template sources:
- service templates (e.g. socrative.com)
- reference tool templates (e.g. dictionary.cambridge.org)
- subject templates (e.g. Maths or History)
- translations (e.g. French or Spanish)
├── templates/ # Service presets and configuration templates
│ ├── source/ # Human-editable JSON source files
│ │ ├── services/ # Individual service configurations
│ │ │ ├── kahoot.json
│ │ │ ├── mentimeter.json
│ │ │ └── ...
│ │ ├── reference-tools/ # Subject-specific reference tools
│ │ │ ├── duden.json
│ │ │ ├── oxford.json
│ │ │ └── ...
│ │ ├── subjects/ # Pre-configured subject bundles
│ │ ├── german.json
│ │ ├── french.json
│ │ └── ...
│ └── generated/ # Auto-generated JavaScript modules
│
└── translations/ # UI language files
├── de.json
├── en.json
└── ...
Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request (create one pull request per service/tool/new language)
MIT License - See LICENSE for details.
Safe Exam Browser (SEB) is a secure browser environment for taking online exams. This generator creates SEB configuration files optimized for classroom teaching scenarios.
Official SEB Resources:
- Website: safeexambrowser.org
- Download: Safe Exam Browser Releases
- Documentation: SEB Manual
(c) 2025-2026 Markus Killer (focusmode.ch) 🎓