Privacy
Effective November 2, 2026.
Information used to operate EMS SkillLab
EMS SkillLab uses Supabase for email/password authentication, email verification, account records, and saved-plan synchronization; Resend delivers authentication emails; Netlify hosts the website; and Stripe processes subscription checkout and billing. EMS SkillLab does not store full payment-card numbers.
Information used to provide the service may include your email address, optional display name, authentication/account identifiers, trial and subscription status, billing-related identifiers, saved plans you choose to synchronize, browser-stored workspace preferences, and messages submitted through Support & Feedback.
Saved work and browser storage
Sample cases and guided preparation work can be kept with a free starter account. Scenarios, stations, and lab plans can be stored in your browser and, when you choose Save & sync, in your account. If you choose to save a draft before signup, one pending draft is kept in browser storage and can be recovered for up to 24 hours. Expired pending data is removed when the site next checks for a draft. The draft is automatically saved to your account after sign-in and is then removed from pending-draft storage. Return in the same browser to recover it. Later local changes can be backed up with Save & sync. Local saved items are separated by signed-in account. Signing out does not erase browser-stored plans. On a shared computer, use a separate browser profile or remove local data when appropriate. Exported files remain on your device and are your responsibility.
Patient information
EMS SkillLab is designed for simulated educational content. Do not enter real patient names, dates of birth, medical record numbers, or other patient-identifying information into scenarios, saved plans, support forms, or notes.
Analytics and session diagnostics
EMS SkillLab uses HeyCatch across the website and web app to measure visits, clicks, navigation and campaign attribution. HeyCatch may receive page URLs, referrers, browser/device information and session identifiers and may use browser storage. After confirmed sign-in, activity is linked to your internal account identifier, email address, optional display name, account creation date and verified membership plan when available. Completed signups, credit-pack purchases, subscription payments and subscription changes are reported from our backend after verification. Text and element attributes are masked on pages containing user-authored case prompts or saved work, URL authentication parameters are removed, and session recordings are disabled. We do not intentionally send passwords, authentication tokens, payment-card details, case descriptions or saved educational content to HeyCatch.
EMS SkillLab uses Google Analytics, Google Ads conversion measurement, TikTok Pixel, Meta Pixel, and PostHog to understand site usage, conversion steps, feature engagement, advertising performance, and technical problems. PostHog may collect page and interaction events and session diagnostics to help identify where users encounter friction. For verified Google Ads conversion matching, EMS SkillLab may send a SHA-256 hash of the signed-in email address through the Google tag. PostHog uses an internal account identifier rather than your email address or display name. Do not enter patient-identifying information into EMS SkillLab.
TikTok Pixel shares page visits and browser/device information with TikTok for advertising measurement and optimization, and may use cookies to connect website visits with TikTok ad interactions. EMS SkillLab does not intentionally send generated educational content, patient information, passwords, or payment-card details through this pixel.
Meta Pixel shares page visits, page URLs, and browser/device information with Meta for advertising measurement and optimization, and may use cookies or similar browser storage to connect website visits with Meta ad interactions. EMS SkillLab does not intentionally send saved educational content, patient information, passwords, or payment-card details through this pixel.
Retention and deletion
Account and service records are retained as needed to operate EMS SkillLab, maintain subscription and security history, resolve support issues, and meet applicable legal or accounting obligations. You can export your saved plans from Account. To request account help or deletion, use Support & Feedback. Some billing records may remain with Stripe or in required business records even after an account-deletion request.
Security and third parties
Do not send passwords or complete payment-card details through Support & Feedback. Third-party providers process information according to their own security and privacy practices. EMS SkillLab uses those services to provide authentication, hosting, email delivery, and billing.
Analytics and product improvement
EMS SkillLab uses Google Analytics and PostHog to understand site traffic, trial and subscription funnel performance, feature usage, and technical problems. Analytics may include page visits, button and feature interactions, account or subscription state events, device/browser information, and pseudonymous account identifiers. EMS SkillLab does not intentionally send passwords, payment-card details, patient-identifying information, email addresses, or display names to PostHog. PostHog may use browser storage and session-replay technology to help diagnose usability issues; sensitive form inputs should not be included in analytics recordings.
AI scenario creator
When you create an AI scenario, the case description you enter and the selected certification level are sent to our configured AI model provider (OpenAI or Anthropic) to generate the scenario, and the description and resulting scenario are stored so you can reopen them. Without an account, they are linked to a random private key kept in your browser; we store only a hash of that key. To limit abuse, we store a keyed one-way hash of your network address rather than the address itself. Do not enter real patient information. Analytics record steps such as starting, completing or exporting a scenario and the certification level, never your case description or scenario content.
Generation credits
We store an account credit balance, payment references and generation request records to fulfill purchases, prevent duplicate charges, return credits for failed requests and let you retrieve saved resources. Stripe handles payment details. Generated text is saved to your account; analytics record resource type and credit counts without the resource content, password or card details. Use fictional training information and do not enter patient-identifying information.