Privacy Policy
Last updated: December 24, 2025
1. Introduction
WChat ("we", "our", "the extension") is a Chrome extension that allows Twitch viewers to upvote chat messages in real time and view a channel-specific leaderboard of the most upvoted messages.
This Privacy Policy explains what data we collect, how it is used, how long it is retained, and your rights as a user.
2. What Data We Collect
2.1 Authentication Data (via Twitch)
When you sign in to WChat using Twitch OAuth, we receive and process the following information from Twitch via Supabase Authentication:
- Twitch user ID
- Twitch display name
- Email address (if provided by Twitch)
This data is used only to authenticate users and associate upvotes with a unique user identity.
2.2 Temporary Voting Data
To prevent duplicate voting and enable real-time leaderboards, we temporarily process:
- A lightweight user identifier
- Message identifiers
- Vote counts per message
- Channel identifier (Twitch channel name)
This data is stored temporarily in Upstash Redis with a time-to-live (TTL) of approximately 5 minutes and is automatically deleted after expiration.
2.3 Extension Local Storage
The Chrome extension stores minimal data locally using chrome.storage.local, including:
- OAuth access token (to authenticate vote requests)
- A small user identifier
- Basic UI preferences (e.g., display or sorting options)
Local data is deleted when the user signs out or removes the extension.
3. What Data We Do NOT Collect
We do not:
- Collect full Twitch chat logs
- Track browsing history outside of Twitch
- Record page content unrelated to Twitch chat
- Collect keystrokes, mouse movements, or screen data
- Sell or rent personal data
- Use data for advertising or profiling
4. How We Use Your Data
Your data is used only to:
- Authenticate you via Twitch
- Allow you to upvote chat messages
- Prevent duplicate or abusive voting
- Display real-time vote counts
- Show a per-channel leaderboard
All data usage is limited to the functionality explicitly provided by WChat.
5. Data Storage and Processing
WChat uses the following service providers:
| Service | Purpose |
|---|---|
| Twitch | Identity provider (OAuth authentication) |
| Supabase | Authentication and user identity handling |
| Cloudflare Workers & Durable Objects | Real-time vote processing and WebSocket communication |
| Upstash Redis | Temporary storage of votes (5-minute TTL) |
Votes and session data are namespaced per Twitch channel and are not shared across channels.
6. Data Retention
- Authentication data is retained only as long as your account remains active.
- Vote and session data stored in Redis is automatically deleted after approximately 5 minutes.
- Local extension data is removed when you sign out or uninstall the extension.
7. Data Sharing
- We do not sell, trade, or monetize user data.
- Data is shared only with the service providers listed above and solely for providing WChat's functionality.
8. User Controls and Rights
You may:
- Sign out at any time (which deletes local tokens)
- Revoke WChat's access from your Twitch account
- Request deletion of your authentication data
- Contact us with privacy-related questions
To exercise these rights, contact us using the email below.
9. Security
We take reasonable technical measures to protect data, including:
- HTTPS-only communication
- Token-based authentication
- Server-side validation of requests
- Automatic expiration of temporary data
10. Children's Privacy
WChat is not intended for children under the age of 13. We do not knowingly collect personal data from children.
11. Changes to This Policy
We may update this Privacy Policy from time to time. Any changes will be posted on this page with an updated "Last updated" date.
12. Contact
If you have any questions about this Privacy Policy or data usage, contact us at:
Email: contact@polymad.dev