uniti studios Live Classes — privacy statement
Effective 28 October 2026.
Who operates this app
The uniti studios Live Classes app is operated by VO2 Max Private Gym cc t/a The Lisa Raleigh Group, which owns the uniti studios brand. Contact us about this app or your data at operations@lisaraleigh.co.za. The business is the app operator.
What the app does
The app displays studio-selected Wix class occurrences and lets eligible participants join the studio's recurring Zoom meeting from an embedded Shopify page. It checks the selected occurrence and Zoom's verified live session before issuing attendee join credentials. Ordinary guest joining does not require a Zoom account or email verification. A separate, private Zoom sign-in experiment is available only to authorised testers and is not part of the public joining flow.
Information processed
- Class information: class title, instructor, description, dates/times, Wix occurrence and recurring-series identifiers, cancellation status, and staff choices about offering classes live. The integration reads schedule information; it does not create or change Wix bookings.
- Guest join-form information: the entered name and email are held in the current browser page and passed to Zoom's Meeting SDK. Our signing endpoint does not require or save those form values. Guest email is not verified and did not appear in Zoom Reports in our test.
- Zoom sign-in information, when used: the signing-in user's own Zoom account identifier, display name, available profile email, and short-lived authentication credentials. Authorising the app permits reading that user's profile and own Zoom Access Key. App authorisation is separate from the studio's server-to-server meeting-status access. We do not use a host identity token to authenticate attendees.
- Operational meeting state: the fixed recurring meeting's session UUID, its association with a specific class occurrence, verification times and bounded event/replay markers. These records identify a meeting session, not a list of attendees.
- Security information: short-lived access-session identifiers, browser sign-in proof and bounded hashed network/session rate-limit counters. The application does not store raw IP addresses in its own counters. Hosting providers may process network/request metadata under their own policies.
Zoom processes meeting audio, video, chat and participation through its services. Our application does not record or archive meeting media or chat. Native Zoom attendance history/reports can contain participant names, join/leave times and duration; email visibility depends on Zoom's authentication/privacy rules. Native Zoom reports remain in the studio's Zoom account and are not automatically downloaded into this app or copied into an attendee database.
Why we use it
We use this information to display the correct timetable and timezone, preserve studio selections, authenticate sign-in when enabled, connect eligible attendees to the correct live session, detect host starts/ends, recover service operation and limit abuse. Joining does not subscribe a participant to marketing. This app does not sell attendee information or create an app attendance/customer database.
Services involved
- Zoom: account sign-in, identity tokens, embedded meeting media and native attendance/chat facilities, according to the studio's Zoom settings and Zoom's policies.
- Cloudflare Workers, Static Assets and D1: application hosting, managed server-side secrets and minimal operational/temporary encrypted state.
- Cloudflare Turnstile: the public access security check processes browser and network signals to help distinguish legitimate visits from automated requests. Our backend validates the resulting challenge token; it does not send join-form names or emails to that verification endpoint, and it does not retain challenge tokens. This check is not email verification or proof of a unique person.
- Wix: the studio timetable source. This integration does not send attendee join-form identity to Wix.
- Shopify: the page containing the application iframe. Shopify operates its storefront/page under its own policies; Zoom tokens are not deliberately posted to the Shopify parent page by this application.
These providers may process information in different countries. Provider-controlled metadata, Zoom attendance/report retention and platform processing are distinct from the short application retention periods below. We do not claim a specific data residency for all providers.
Application retention
- Dated offers are retained through their scheduled end and deleted under the application's seven-day past-selection cleanup. Recurring offer rules remain until staff remove them. Per-occurrence overrides expire seven days after their last known scheduled end, following date changes while the occurrence remains in the schedule. Older imported overrides whose dates are unavailable expire no later than 35 days after their last staff update.
- The shared timetable cache includes the current studio week and up to eight weeks ahead for staff planning; the public timetable exposes only the current week plus two upcoming weeks. The cache is replaced during refresh and is not a historical archive.
- Session associations/replay state are bounded to 24 hours and 200 recent event keys; the brief class-ended notice lasts 15 seconds, with the previous session identifier retained for five minutes to retire an old viewer. A single fixed-code webhook diagnostic record expires after 24 hours.
- Studio server-to-server OAuth access is cached encrypted only until provider expiry, normally one hour.
- Isolated sign-in attempts expire after five minutes, are encrypted at rest, and are deleted on one-time redemption or scheduled cleanup. A returned encrypted own-identity grant is bound to its initiating access session and expires within four minutes. It stays in page memory, not localStorage. Attendee OAuth access/refresh tokens are not retained in the database; refresh tokens are discarded.
- Website access tokens, including private-test/public-access tokens when enabled, expire after two hours. Rate counters use one-minute buckets with an expiry allowance of approximately ten minutes and scheduled cleanup.
- Cloudflare D1 Paid Time Travel can retain recoverable operational backups for up to 30 days. Logical expiry/deletion is not an immediate guarantee of physical deletion from provider backups.
Zoom's native attendance and chat files have separate retention controlled by the studio/Zoom host configuration. Contact us for applicable report/chat retention or a data request. No permanent attendance storage or custom chat archive is added by this app.
Protection and limitations
Secrets stay server-side. Administrative pages require authentication and cannot be framed. OAuth state uses browser proof, expiry and one-time transitions; temporary identity data is encrypted. Zoom status webhooks are checked using the secret token, timestamp and signature header. The application avoids logging full webhook payloads, join-form values, tokens and credentials; application observability logs are disabled. Provider-level metadata processing may still occur.
Final launch security acceptance is in progress. No security certification or third-party penetration test is claimed. Application requests using TLS versions older than 1.2 are refused before content or API processing. This does not change the hosting provider’s underlying connection-negotiation policy.
Your choices and requests
Ordinary guests do not authorise a Zoom OAuth app. Authorised identity-test participants may decline authorisation or remove the test app through Zoom’s installed-app controls; that does not impose Zoom sign-in on the guest service. Contact operations@lisaraleigh.co.za to ask about access, correction or deletion of information handled by the studio. We may need to verify a request before acting. Removing the app does not automatically erase provider-controlled Zoom attendance history or backups; we will explain the applicable process.
Updates
The effective date appears above. Material changes to data use or required permissions will be reflected in the statement and, where applicable, the Zoom authorisation process.