Choicastβ
Sign in with Discord
CAccount

Cookies and privacy

What Choicast stores in cookies, and what information it handles.

Cookies in use
NamePurposeExpiryShared with third parties
ws_sessionKeeps you signed in30 daysNo
ws_oauth_stateProtects the Discord sign-in flow against forgery10 minutesNo
_ga / _ga_*Aggregates usage via analytics (Google Analytics)2 yearsGoogle

What we receive when you sign in with Discord

When you sign in with Discord we store your Discord user ID, display name and avatar URL. We never receive your email address or password.

We use these details to show your sign-in status and verify that you are managing your own streams. Stream history linked to your account is also used to understand usage and investigate problems.

Streams are public

A stream URL is a public URL containing a hard-to-guess random ID. VRChat video players fetch it without authentication, so anyone who knows the URL can watch. Please do not share a screen you need to keep private.

Stream video and audio pass through our servers to reach viewers, but we do not save them as video or audio for later playback. See “What stays on our servers” for operational records such as stream times.

The screen you share can unintentionally reveal information that identifies you — notifications, open tabs, bookmarks, file names, email addresses, your real name and so on. You choose what to share (a tab, a window, or the whole screen), so check for anything that should not be visible before you start. The operator is not liable for any harm caused by identifying information you accidentally expose.

Recording

Select “Start recording” during a stream to make a video on your device. Once “Saved in this browser” appears after stopping, you can close the page and retrieve it later in the same browser.

Recording files are not uploaded to our servers. During a live stream, video and audio are still sent to the server to reach viewers.

Recordings stay in this browser for one week after recording ends, up to 10 recordings and 2GB total (1GB per recording). Expired recordings are also cleared on your next visit; saving an 11th removes the oldest. Closing the page while recording or saving may lose that recording. Clearing browser data or running low on storage can also remove recordings, so download any you need to keep. To free space, delete recordings from this list after downloading. Downloaded files are not automatically deleted. The list remains after sign-out and is accessible to anyone using this browser.

Analytics (Google Analytics)

We use analytics (Google Analytics) to improve the service. The URL of the page you view, the referrer, your approximate region and browser type, and counts of actions such as starting or extending a stream are sent to Google. Stream IDs, what is on your screen, and recording files are never sent. While signed in, we send a random analytics ID to measure repeat usage. We do not send your Discord ID or display name to Google. Operators can match the analytics ID and stream history to your account.

To opt out of analytics, use the "Google Analytics Opt-out Add-on" that Google distributes, or disable cookies in your browser settings.

What stays on our servers

We keep operational records such as stream start and end times, stream IDs, user IDs and the kind of failure a stream hit, to improve the service and investigate incidents. They never include what was on your screen.

Managing cookies

You can delete or block cookies in your browser settings. Features that require signing in will not work if you do.

Operator

Choicast is run by an individual. For enquiries, please contact us on X (https://x.com/noricha_vr).

Information received in abuse reports

The form collects a stream ID, reason, details, and optional contact information. We use this information to review abuse, stop violating streams, and reply when needed. Stored reports are deleted after 180 days.

We notify the operator on Discord with the reason, whether the stream is live, the received time, and a link to the admin page. Stream IDs, details, and contact information are not sent to Discord. Report form values are not sent to analytics.

IP addresses and User-Agent are not stored in report records. For spam prevention, we temporarily store a keyed hash of the IP address to count submissions over the last 10 minutes. Expired identifiers are deleted by the scheduled task every minute.

The report form uses Cloudflare Turnstile to prevent spam, sending device information and the IP address used for verification to Cloudflare.