Privacy Policy
Last updated: March 2026
Information We Collect
Mazegen runs entirely in the browser. There are no accounts, and we do not collect personal data. The only data gathered is anonymous analytics via Google Analytics 4, as described below.
Analytics (Google Analytics 4)
We use Google Analytics 4 (Measurement ID: G-1HW1KN301D) to understand how the app is used. This helps us improve the product, diagnose UX issues, and prioritize features.
- What we collect: page views; anonymous click/interaction events (element tag, id, classes, label); page URL/path.
- Processor: Google LLC.
- Cookies:
_ga,_ga_*(~2 year retention, configurable in GA4 admin).
For more information, see Google's privacy policy. To opt out of analytics, you can use the Google Analytics opt-out browser add-on.
Region-Based Consent
For visitors in the EEA and UK, analytics are disabled by default. Analytics run only after you explicitly opt in.
For visitors outside the EEA/UK, analytics are enabled by default. You can opt out at any time using the "Privacy settings" link in the app footer. Your preference is stored in your browser’s localStorage.
Local Storage
We use localStorage for:
- User preferences (e.g., maze settings)
- Your consent choice for analytics
- P2P room identity (room ID and display name) for reconnection persistence
Nothing in localStorage is sent to any server.
Peer-to-Peer (P2P) Multiplayer
Mazegen's experimental multiplayer features use WebRTC for direct peer-to-peer connections. Chat messages, maze configurations, and cursor positions are transmitted directly between connected browsers. No chat content or maze data is routed through or stored on our servers.
A lightweight signaling server (WebSocket) is used only to coordinate the initial connection handshake (exchange of WebRTC offers, answers, and ICE candidates). The signaling server does not store messages or user data beyond the duration of the active session. STUN/TURN servers are used for NAT traversal.
Third-Party Services
Mazegen loads assets from:
- Google Fonts (Roboto) – may log standard HTTP request data per their own policies.
- p5.js via cdnjs.cloudflare.com – Cloudflare may log standard CDN request data per their policies.
Children's Privacy
Mazegen is not directed at children under 13. We do not knowingly collect COPPA-regulated data.
Your Rights and Controls
- Change consent: Use the "Privacy settings" link in the app footer.
- Clear localStorage: Use your browser’s developer tools or site settings.
- Opt out of Google Analytics: Install the GA opt-out add-on.
- Delete cookies: Clear cookies for mazegen.app via your browser settings.
Changes to This Policy
We may update this privacy policy from time to time. Changes will be posted on this page. The "Last updated" date at the top reflects the most recent revision.
Contact
For privacy-related questions, please contact us via jeremyb.me.