Privacy Policy
Last updated 19 October 2026
heystranger connects adults for peer mock interviews and English conversation practice. You can use it without an account. This page explains what the application stores and what other services may process.
What we never ask for
No name. No email address. No phone number. No date of birth. No payment details. There is no account to create or public profile to fill in. You choose practice preferences on your first visit; they are saved in this browser and sent to the matching service when you join a queue.
Your conversations
Ordinary practice text chats are not stored in the app database. Text messages are relayed by the matching service and are not written to the application database during an ordinary practice session. Message text is sent to the automated moderation endpoint configured for the service before delivery. The code defaults to Groq's Llama Guard endpoint, but the operator can configure another endpoint; the live production configuration is not visible on this page. If you file a report, the recent messages you submit are stored as report evidence, and the other participant is asked to submit their copy too. The service can therefore retain reported chat messages. The same applies to optional text notes exchanged during a voice call and to peer feedback sent to your partner.
Messages to accepted friends are stored in the service database. The database migration describes a 15-day deletion job, but the checked-in migration does not enable that schedule. The operator must verify that the job is active before a 15-day deletion period can be promised. Removing the friendship or blocking the person deletes the friendship and its messages through the database relationship.
What we do store
- Practice preferences. Your level, preferred role, interview focus, English topic, and preferred format are kept in browser local storage. The matching request sends the relevant level, role, activity, and focus to the service. Clearing browser data removes your saved preferences.
- A random device ID. Your browser generates a random identifier and keeps it in local storage. It is a pseudonymous identifier, not proof that the service cannot connect your sessions. The service uses it for matching, blocks, bans, friendships, and reports. Clearing your browser data creates a new one.
- Blocks. If you block someone, we store the two device IDs so you are never matched again.
- Reports. If you file a report, the service stores the reason and the recent messages your browser submits. It asks the other participant for their copy and stores it if received. The code provides no report review dashboard or automatic deletion schedule, so the operator must define and verify report access and retention.
- Bans. If a device is banned, we store the device ID, the reason, and when the ban expires.
- Friendships. Who is friends with whom, as device IDs.
Content moderation
Text messages are checked automatically before delivery when moderation is configured. The checked-in code defaults to Groq's Llama Guard endpoint and can be configured to use a different moderation endpoint. Only the message text is included in that provider request. If the provider is unavailable or not configured, the code currently allows messages through; this is not a guarantee that every message is filtered.
Voice calls
Voice chat asks for microphone permission and uses WebRTC. Call setup messages and ICE connection candidates are exchanged through the matching service. Audio may travel directly between the two browsers or through a Cloudflare TURN relay when the network requires it. The application code does not record call audio. Connection details needed to establish a call may be processed by the other participant and the networking providers; the precise route depends on the browsers and network in use.
Your country
Your browser's time zone is used to guess a country label on your device. The label is sent as a matching preference and may be shown to your conversation partner. The app does not use an IP geolocation service for this label. Hosting and network providers may process your IP address and technical request data; their logs and retention settings are not defined in this application code and must be confirmed by the operator.
Cookies and tracking
The application code does not set first-party cookies or load an analytics service. It stores a random device ID, age confirmation, blocked-chat labels, friend nicknames, recent call history, and practice preferences in your browser's local storage. The current activity uses session storage. Server-side blocks, bans, reports, friendships, and friend messages are stored separately as described above.
The current application build does not load the Google AdSense script or another advertising SDK. A Google publisher entry remains in the site's ads.txt file; that file does not itself load ads or set browser storage. If advertising is enabled later, this policy and consent controls must be updated first. Google requires publishers serving personalized ads in the EEA, UK, or Switzerland to use a Google-certified CMP integrated with the IAB TCF.
Who else sees your data
The application is configured to use these service providers; the live deployment settings are not available in this repository:
- Supabase — hosts the database holding blocks, bans, reports, friendships, and friend messages.
- Cloudflare — serves the website.
- Groq by default — the checked-in moderation code sends message text to its Llama Guard chat completion endpoint unless the operator configures another endpoint.
- Cloudflare Realtime — provides temporary TURN credentials for voice calls when configured. WebRTC media may connect peer-to-peer or pass through a TURN relay.
The application sends the data described above to these providers to operate the service. The app code does not implement a data sale. The operator should confirm each provider's live configuration, data processing terms, and retention settings before relying on this policy.
Age requirement and youth separation
heystranger requires participants to explicitly select their age range. Currently, active practice queues are strictly for adults aged 18 and over. A separate practice queue for learners under 18 is under development and remains disabled pending dedicated safety measures. Adults and minors are never placed in the same matching pool. While age declarations are self-declared, we enforce server-side queue isolation. If you believe an adult queue partner is under 18, please use the Report button.
Deleting your data
There is no account deletion feature. Clearing your browser data removes the local device ID and browser-stored practice preferences, but does not delete server-side records such as blocks, bans, reports, friendships, or friend messages. Removing a friendship deletes that friendship and its messages. The code has no deletion or retention schedule for reports and bans; the operator must establish and publish those periods and a process for handling data requests.
Changes to this policy
If what we collect changes, this page changes with it, and the date at the top is updated. We will not quietly start collecting something not listed here.
Contact
Questions about this policy, or a request about your data, can be sent to privacy@heystranger.live.