1. Introduction
Welcome to Cast to Sonos ("we," "our," or "us"). This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our Cast to Sonos browser extension (the "Extension"), our website at casttosonos.com (the "Website"), and our related streaming services (collectively, the "Services").
We are committed to protecting your privacy and ensuring transparency about our data practices. By using our Services, you agree to the collection and use of information in accordance with this policy.
Contact Information
Email: support@casttosonos.com
Website: casttosonos.com
2. Information We Collect
2.1 Information You Provide
-
Account Information: When you sign up for a paid plan or start a trial through ExtensionPay, we collect your email address. This is used to identify your account and manage your subscription.
-
Payment Information: Payment processing is handled by Stripe through ExtensionPay. We do not directly store your credit card numbers or banking details. Stripe processes and stores this information according to their privacy policy.
-
Sonos Account Authorization: When you connect your Sonos account, we receive OAuth tokens (access token and refresh token) from Sonos. These tokens allow us to control your Sonos devices on your behalf. We store these tokens securely and use them only to provide the streaming functionality.
2.2 Information Collected Automatically
-
Extension API Key: A unique identifier generated by ExtensionPay to identify your extension installation. This is stored locally in your browser and used to verify your subscription status.
-
Session Information: We generate anonymous session IDs to track usage patterns and improve our service. These are not linked to your personal identity.
-
Usage Analytics: We collect anonymized usage data through Google Analytics, including:
- Extension version
- Feature usage (play, pause, volume changes)
- Error events and their types
- Session duration and engagement time
- Playback delay measurements (for video sync optimization)
-
Server Performance Metrics: We collect latency measurements to our streaming servers to automatically select the best server for your location. This data is not stored permanently.
-
IP Address: Your IP address may be temporarily logged for rate limiting, security purposes, and to route your audio stream. We do not use IP addresses for tracking or advertising.
2.3 Audio Data
Important
When you use Cast to Sonos to stream audio from your browser tab to your Sonos speakers, the audio data is:
- Captured from your browser tab using Chrome's Tab Capture API
- Encoded to MP3 format locally in your browser
- Transmitted through our streaming servers to your Sonos devices
- Not stored or recorded on our servers—audio data is streamed in real-time and immediately discarded
- Encrypted in transit using HTTPS/WSS (WebSocket Secure)
2.4 Browser Permissions
The Extension requests the following Chrome permissions:
- tabCapture: To capture audio from your browser tabs for streaming
- tabs: To identify the active tab and display its title/URL in the extension popup
- activeTab: To interact with the currently active tab when you click the extension
- storage: To save your preferences, authentication tokens, and settings locally
- scripting: To inject the audio capture and encoding scripts into web pages
2.5 Information We Do NOT Collect
- We do not collect or store the content of web pages you visit
- We do not record or store your audio streams
- We do not collect browsing history
- We do not collect precise geolocation data
- We do not collect device identifiers (MAC/IMEI/MEID)
- We do not sell your personal information to third parties
3. How We Use Your Information
We use the information we collect for the following purposes:
- Provide the Service: To stream audio from your browser to your Sonos speakers
- Authentication: To verify your identity and subscription status
- Sonos Integration: To control your Sonos devices (play, pause, volume, group selection)
- Service Improvement: To analyze usage patterns and improve features
- Error Diagnosis: To identify and fix bugs and technical issues
- Performance Optimization: To select optimal streaming servers and measure playback delay
- Customer Support: To respond to your inquiries and provide assistance
- Security: To detect and prevent fraud, abuse, and unauthorized access
4. Data Storage & Security
4.1 Local Storage (Your Browser)
The following data is stored locally in your browser using Chrome's storage API:
- Sonos OAuth tokens (access token, refresh token, expiration)
- ExtensionPay API key and user information
- Your preferences (dark mode, video sync settings, audio quality)
- Selected Sonos household and speaker group
- Google Analytics client ID (anonymous)
4.2 Server-Side Storage
Our servers store:
- Account records linking your OAuth user ID to your Sonos tokens (encrypted)
- Subscription status information (via ExtensionPay)
- Aggregated, anonymized analytics data
4.3 Security Measures
We implement appropriate technical and organizational measures to protect your data:
- All data transmission uses HTTPS/TLS encryption
- WebSocket connections use WSS (secure WebSocket)
- OAuth tokens are stored securely and refreshed automatically
- Rate limiting protects against abuse
- Server infrastructure is hosted on secure cloud platforms (Cloudflare, Hetzner)
- Access to production systems is restricted and logged
5. Third-Party Services
We use the following third-party services:
5.1 ExtensionPay
We use ExtensionPay for subscription management and payment processing. ExtensionPay stores:
- Your email address
- A unique user identifier
- Subscription status and dates
- Trial start date (if applicable)
5.2 Stripe
Payment processing is handled by Stripe (through ExtensionPay). Stripe processes and stores your payment information according to their Privacy Policy.
5.3 Google Analytics
We use Google Analytics 4 to collect anonymized usage statistics. This helps us understand how users interact with our extension and identify areas for improvement. Google Analytics may collect:
- Anonymous client ID (not linked to your identity)
- Session information
- Event data (feature usage, errors)
- Engagement metrics
You can learn more about Google's data practices at Google's Privacy Policy.
5.4 Sonos
We integrate with the Sonos API to control your speakers. When you authorize Cast to Sonos, Sonos provides us with OAuth tokens. We use these tokens solely to:
- List your households and speaker groups
- Control playback (play, pause, volume)
- Load audio streams to your speakers
Sonos's privacy practices are governed by their Privacy Policy.
5.5 New Relic
We use New Relic for server-side performance monitoring and error tracking. This helps us maintain service reliability and quickly identify issues.
5.6 Cloudflare
Our API and website are served through Cloudflare, which provides CDN, DDoS protection, and security services. Cloudflare may process request metadata according to their Privacy Policy.
6. Data Sharing & Disclosure
We do not sell, rent, or trade your personal information. We may share information only in these circumstances:
- Service Providers: With third-party services listed above that help us operate our Services (payment processing, analytics, infrastructure)
- Legal Requirements: If required by law, court order, or governmental authority
- Safety: To protect the rights, property, or safety of our users or others
- Business Transfers: In connection with a merger, acquisition, or sale of assets, with appropriate notice to users
- With Your Consent: When you explicitly authorize us to share information
7. Your Rights & Choices
7.1 Access and Control Your Data
- View Local Data: You can view data stored by the extension in Chrome's developer tools (Application → Storage)
- Reset Extension: Use the "Reset" button in the extension options to clear all locally stored data
- Logout: Use the "Logout" button to remove your account credentials from the extension
- Revoke Sonos Access: You can revoke Cast to Sonos's access to your Sonos account through your Sonos account settings
7.2 Opt-Out Options
- Disable Frontend Scripts: In extension options, you can disable frontend scripts that detect page metadata (title, thumbnail)
- Disable Video Sync: You can disable automatic video synchronization in extension options
- Uninstall: You can stop all data collection by uninstalling the extension from Chrome
7.3 Data Deletion
To permanently delete your data:
- Uninstall the extension to remove all local data
- Contact ExtensionPay to delete your subscription data
- Contact Stripe to delete your payment information
- Contact us at support@casttosonos.com to request deletion of any server-side data associated with your account
7.4 European Users (GDPR)
If you are located in the European Economic Area, you have additional rights including:
- Right to access your personal data
- Right to rectification of inaccurate data
- Right to erasure ("right to be forgotten")
- Right to restrict processing
- Right to data portability
- Right to object to processing
- Right to lodge a complaint with a supervisory authority
To exercise these rights, contact us at support@casttosonos.com.
7.5 California Users (CCPA)
California residents have the right to:
- Know what personal information is collected
- Know whether personal information is sold or disclosed and to whom
- Say no to the sale of personal information (we do not sell personal information)
- Access your personal information
- Request deletion of your personal information
- Not be discriminated against for exercising your privacy rights
8. Data Retention
- Local Browser Data: Retained until you clear it, reset the extension, or uninstall the extension
- Sonos OAuth Tokens: Retained as long as your account is active; automatically refreshed and updated
- Subscription Data: Retained by ExtensionPay according to their retention policy
- Analytics Data: Aggregated analytics are retained for up to 26 months by Google Analytics
- Server Logs: Temporary logs may be retained for up to 30 days for security and debugging purposes
- Audio Streams: Not retained—streamed in real-time and immediately discarded
9. Children's Privacy
Our Services are not directed to children under the age of 13. We do not knowingly collect personal information from children under 13. If you are a parent or guardian and believe your child has provided us with personal information, please contact us at support@casttosonos.com, and we will take steps to delete such information.
10. International Data Transfers
Our Services are operated from the European Union (Netherlands). If you access our Services from outside the EU, your information may be transferred to, stored, and processed in the EU or other countries where our service providers operate.
We ensure appropriate safeguards are in place for international data transfers, including standard contractual clauses where applicable.
11. Changes to This Policy
We may update this Privacy Policy from time to time. We will notify you of any material changes by:
- Posting the new Privacy Policy on this page
- Updating the "Last Updated" date at the top of this policy
- For significant changes, we may provide additional notice through the extension or email
We encourage you to review this Privacy Policy periodically for any changes. Your continued use of the Services after changes are posted constitutes your acceptance of the updated policy.
12. Contact Us
If you have any questions, concerns, or requests regarding this Privacy Policy or our data practices, please contact us:
Cast to Sonos
Email: support@casttosonos.com
Website: casttosonos.com
We aim to respond to all privacy-related inquiries within 30 days.
