Quick Summary (Plain Language)
This summary explains the main data choices. The sections below give more detail.
- Many emulator experiences run in your browser. Local progress, preferences, programs, and media use browser storage.
- Loading the site and using online services sends standard web request information to the host.
- The emulator's own telemetry SDK is disabled by default. Cloudflare hosting also collects browser page-load and performance analytics.
- Accounts, uploads, shared rooms, live weather, and AI can send data to servers or other people when you use them.
- AI sends your messages, conversation history, and selected personality after opt-in and an explicit message.
- We do not sell your data or send marketing emails.
1. Introduction
This Privacy Policy explains how emulator.ca ("we", "our", or "the Service") collects, uses, and protects your personal information. We are committed to protecting your privacy and handling your data with transparency.
emulator.ca is operated from Canada. Browser storage keeps local saved data on your device. Information we handle is subject to applicable Canadian privacy laws, including the Personal Information Protection and Electronic Documents Act (PIPEDA) and Alberta's Personal Information Protection Act (PIPA).
2. Information We Collect
2.1 Information You Provide
Cloud features only: if account or cloud features are enabled and you choose to create an account, you may provide:
- Handle (Username) - Your chosen display name
- Password - Securely hashed; we never store plain-text passwords
- Passkey Details - A credential identifier, public key, label, and authenticator metadata used to verify sign-in
- Email Address - Only collected if needed for authentication or support
- User-Generated Content - Programs, messages, or files you choose to sync or publish
2.2 Information Collected Automatically
Your browser and our hosting and security providers exchange standard request information, including IP address, user agent, requested URL, and timing. Providers may retain operational or security logs according to their settings.
The site also records aggregate request metrics: request method, a route category, response status, duration, and hostname. These metrics are separate from browser event collection.
Cloudflare, our hosting provider, also collects browser page-load and performance analytics through its own beacon. This is separate from the emulator's own telemetry SDK.
The emulator's own browser telemetry SDK is disabled by default during a normal visit. Automatic collection that can include resource URLs or free-form JavaScript error messages is disabled in that SDK.
We do not intentionally collect terminal input, prompts, program source, message text, file contents, filenames, full URLs, passwords, cookies, authentication tokens, account identifiers, or private storage keys through the emulator's own telemetry SDK.
?notelemetry=1 disables the emulator's own telemetry SDK for that page load (for example, https://emulator.ca/?notelemetry=1). That SDK also honours Do Not Track and Global Privacy Control signals where available. These controls do not disable Cloudflare analytics, hosting request processing, service requests, or aggregate request metrics, and do not erase saved data.
2.3 Third-Party OAuth Information
Cloud features only: if OAuth sign-in is enabled and you use it, we receive:
- Your unique identifier from that provider
- Your display name or username (depending on provider)
- Your email address (if provided by the OAuth service)
We do not receive your password from OAuth providers.
2.4 Shared Services, AI, and Weather
Shared rooms, BBS posts, public profile items, and files you make public can be visible to other people. Handles, messages, and service activity may be sent to the site servers when you use these features. Avoid posting private information in public spaces.
AI requires opt-in. After you opt in and send a message, your message, existing conversation history, and selected personality are sent through the emulator.ca API to its configured AI provider. Confirming consent alone does not send a prompt.
AI consent is stored for your account or session when available. Guest consent uses a key derived from the network address, so people sharing that address can share the consent setting. /opt-out revokes AI access; /clear clears local conversation history. Neither command deletes information already sent to a provider, and clearing browser storage does not revoke server-held consent.
When you request live weather, the site sends location coordinates and a time zone through its API to Open-Meteo. The Weather service starts with Edmonton coordinates and does not request your device's GPS location.
3. Local Storage (Browser Data)
The emulator uses localStorage and, for some saved BBS data, IndexedDB. Local data includes:
| Browser Data | What It Contains |
|---|---|
| Session and progress | Random browser UUID, guest handle, account type, achievements, unlockables, and local statistics |
| Preferences | Modem and CRT choices, audio settings, and volume (first-run default is -30 dB) |
| Saved work | Programs, files, media contents, BBS service data, equipment choices, and saved printer paper |
| Onboarding | Whether first-visit guidance has been seen |
sessionStorage also keeps a short-lived START HERE navigation flag, removed on the next page load. Optional account or sharing features can transmit the data needed for the feature; browser storage is not a guarantee that information is never sent.
Clearing all emulator.ca site data in your browser removes local progress, preferences, saved programs, and media. Your browser can also block or remove storage. Download backups of important work first. Clear Screen only changes the terminal display, and the cache reset page removes downloaded site files without clearing localStorage or IndexedDB.
Signing out or clearing browser data does not delete server-held posts, uploaded files, accounts, or AI consent. Contact us for questions about data held outside your browser.
4. Cloud Storage
Cloud features only: if account/cloud sync features are enabled, and if you create a registered account and use those features:
- Your data is transmitted over encrypted connections (HTTPS/WSS)
- Account and uploaded-file data may be stored by our hosting and storage providers
- Files are associated with your user account and namespace
- Content hashes may be used for change detection and deduplication
- Private account files require the owner's authenticated access; content made public can be viewed by others
5. Cookies
We do not use browser cookies for tracking. The default browser-local app uses localStorage and sessionStorage. Cloud features only: first-party session or CSRF cookies may be used for account features, and third-party OAuth providers may set their own cookies during authentication.
6. How We Use Your Information
We use the collected information to:
- Provide and maintain the Service
- Save your browser-local progress, achievements, and preferences
- Improve and optimise loading, dialling, and connection reliability
- Respond to support or feedback requests
- Cloud features only: authenticate users and manage accounts
- Cloud features only: enable cloud synchronisation, realtime, or multiplayer features
We do not sell, rent, or share your personal information with third parties for marketing purposes.
We do not send marketing or promotional emails.
7. Data Sharing
We may share your information only in the following circumstances:
- With Your Consent - When you explicitly authorise sharing
- Service Providers - With providers who assist in operating the Service, such as static hosting and optional cloud features
- Legal Requirements - When required by law, court order, or governmental request
- Protection of Rights - To protect our rights, privacy, safety, or property
8. Data Security
We implement appropriate security measures to protect your information:
- Static pages and assets are delivered over HTTPS
- Browser-local data remains under your browser's storage controls
- Cloud features only: passwords are hashed using a secure modern algorithm
- Cloud features only: server sessions expire, and first-party session and CSRF cookies support account access
- Cloud features only: rate limiting and parameterised database queries protect server-backed features
However, no method of transmission over the Internet is 100% secure. We cannot guarantee absolute security.
9. Data Retention
We retain your information as follows:
- Guest Data - Kept while your browser retains the relevant site data
- Registered Account Data - Cloud features only; retained until you request deletion
- Cloud Storage - Cloud features only; retained until you delete files or request account deletion
- Log Data - Static hosting and optional server logs are retained according to the provider and operational settings used at the time
10. Your Rights
You can clear default browser-local data by clearing site storage for emulator.ca in your browser. Under Canadian privacy law, you may also request access, correction, or deletion of personal information we control.
Cloud features only: account deletion, cloud file deletion, and data export requests apply only to server-backed data that exists outside your browser.
11. Children's Privacy
The Service is not directed at children. If you are under the age of majority in your province or territory, you should use the Service only with the consent of a parent or guardian. We do not knowingly collect personal information from children without appropriate consent. If you believe we have collected information from a child without proper consent, please contact us immediately.
12. Third-Party Services
Services used by the site or by features you choose include:
- Hosting and storage providers - Page delivery, operational request processing, and optional server storage
- OAuth providers - Optional account authentication
- AI provider - Messages and conversation context sent after AI opt-in
- Open-Meteo - Live weather requests using coordinates and a time zone
External links, including feedback and contact links, take you to other sites. Their privacy policies apply to information you provide there.
13. International Users
The Service is operated from Canada. Hosting, storage, authentication, and other service providers may process information in their own regions, including outside Canada. This policy does not guarantee a particular storage location.
14. Changes to This Policy
We may update this Privacy Policy from time to time. We will notify you of material changes by updating the "Last Updated" date and, where appropriate, providing additional notice. Your continued use of the Service after changes constitutes acceptance of the updated policy.
15. Contact Us
For questions about this Privacy Policy or to exercise your privacy rights, please contact Stephen Olesen via slepp.ca or use the feedback page.
If you are not satisfied with our response, you may file a complaint with the Office of the Privacy Commissioner of Canada at priv.gc.ca.