Privacy Policy - SyncParty

Privacy policy for the Chrome extension "SyncParty" for synchronized video viewing.

1. General Information

This Privacy Policy describes how the Chrome extension "SyncParty" collects, uses, and protects user data. SyncParty is a synchronized video-watching extension that allows users to watch YouTube and Netflix together in real time, with optional camera sharing via WebRTC.

Last updated: April 2026


2. Data Collected and Transmitted

SyncParty connects to a WebSocket server to enable real-time synchronization between users. The following data is transmitted to the server during active use:

  • Display name: A user-provided name or auto-generated anonymous name (e.g., "Anon482"). No email, Google account, or personal identifiers are collected.
  • Room actions: Requests to create, join, or leave a room, along with the room ID.
  • Video URL: The full YouTube or Netflix URL set by the room host, broadcast to all room participants for synchronized playback.
  • Video timestamp: The current playback position (in seconds), sent every 2 seconds by the host to keep guests in sync.
  • Chat messages: Text messages sent by users in the room chat, along with the sender's display name and a timestamp. Chat history (up to 200 messages) is stored on the server and sent to new users when they join.
  • WebRTC signaling data: Session Description Protocol (SDP) offers/answers and ICE candidates exchanged between users for peer-to-peer camera connections. Media streams (camera/microphone) flow directly between users and are NOT routed through the server.
  • Keepalive pings: Periodic heartbeat messages to maintain the WebSocket connection.

3. Data Stored Locally on Your Device

SyncParty uses chrome.storage.local to persist the following data on your device so the extension can restore your session automatically:

  • userId: A unique identifier assigned by the server upon connection.
  • serverUrl: The WebSocket server URL you connected to (default: wss://p01--distancia--p5jgxm8ytyqm.code.run).
  • userName: Your display name.
  • roomId / lastRoomId: The current and most recent room ID for auto-rejoin.
  • isHost: Whether you are the room host.
  • chatHistory: Recent chat messages (up to 200) for display when reopening the popup.

Additionally, localStorage is used within the popup UI to remember your saved name and server URL between sessions. All locally stored data remains on your device and is removed when you uninstall the extension.


4. How Information Is Used

All collected data is used solely for the core functionality of synchronized video watching:

  • Video URLs and timestamps are broadcast to room participants so their YouTube/Netflix player stays in sync with the host.
  • Chat messages are relayed to all users in the same room.
  • WebRTC signaling data enables direct peer-to-peer camera connections between users.
  • Room state (user join/leave, host changes) is managed by the server and relayed to participants.

No data is used for advertising, analytics, profiling, or any purpose unrelated to the extension's functionality.


5. Data Sharing and Third Parties

SyncParty does not sell, rent, or share user data with third parties, advertising networks, or data brokers. Data is only shared with other users in the same room as required for synchronization:

  • Video URLs and timestamps are visible to all participants in your room.
  • Chat messages are visible to all participants in your room.
  • WebRTC media streams (camera/microphone) flow directly between users — the server only relays connection setup data (SDP/ICE), not the media itself.

The extension uses Google's public STUN servers (stun.l.google.com:19302, stun1.l.google.com:19302) for WebRTC NAT traversal. These servers only handle connection discovery and do not receive media or user data.


6. Extension Permissions

SyncParty requests the following permissions, each used solely for its core functionality:

  • storage: Used to persist session data (room ID, server URL, user name, chat history) via chrome.storage.local so your session is restored when you reopen the extension.
  • tabs: Used to create, update, and manage YouTube/Netflix tabs for synchronized playback. The extension opens video tabs at the correct timestamp and sends seek/play commands to keep guests in sync.
  • windows: Used to create and manage the camera popup window for WebRTC video calls.
  • alarms: Used to send periodic keepalive pings to the WebSocket server, preventing connection timeouts even when the service worker is suspended by the browser.

Host permissions: The extension requests <all_urls> host permission to interact with YouTube and Netflix tabs (injecting content scripts, opening video URLs, and sending playback commands). No data is collected from other websites.

Content scripts: Injected only on *://*.youtube.com/watch* and *://*.netflix.com/watch* pages. The content script reads the HTML video element's currentTime, duration, paused state, and playbackRate every 2 seconds (host only) and listens for seek/play/pause commands from the background service (guests only). No other page content is accessed.


7. Camera and Microphone Access

SyncParty offers an optional camera feature that uses the WebRTC API (navigator.mediaDevices.getUserMedia) to access your camera and microphone. This feature is only activated when you explicitly click the "Open Camera" button within the extension. Key details:

  • Camera and microphone access is requested per session — the browser will show a permission prompt.
  • Media streams are sent directly to other room participants via peer-to-peer WebRTC connections. The WebSocket server does NOT receive or relay audio/video data.
  • You can toggle your camera or microphone on/off at any time using the controls in the camera window.
  • Media streams are stopped immediately when you close the camera window or leave the room.

8. Security

SyncParty implements the following security measures:

  • WebSocket connections use WSS (TLS-encrypted) by default.
  • WebRTC media streams are encrypted end-to-end between peers using DTLS-SRTP.
  • Chat messages and user input are escaped using DOM-based HTML encoding to prevent cross-site scripting (XSS) attacks.
  • The extension does not store any passwords, authentication tokens, or Google account credentials.
  • All locally stored data is sandboxed within the Chrome extension storage and is not accessible to other extensions or websites.

9. Data Retention and Deletion

Server-side: Chat messages are retained on the server (up to 200 messages per room) and are deleted when the room is destroyed (i.e., when the last user leaves). Room state and video data are ephemeral and exist only while the room is active.

Client-side: All locally stored data (session settings, chat history, room ID) is stored in chrome.storage.local and localStorage. This data is automatically removed when you uninstall the extension. You can also clear it manually by clearing Chrome's extension data or by leaving the room within the extension.


10. User Rights

Users have full control over their data:

  • You can leave a room at any time, which removes you from the room and clears active session data.
  • You can disconnect from the server at any time via the extension popup.
  • You can uninstall the extension to remove all locally stored data.
  • You can choose to use an anonymous name — no real name or personal information is required.
  • The camera feature is entirely optional and only activates when explicitly enabled by the user.

11. Children's Privacy

SyncParty does not knowingly collect personal information from children under 13. The extension does not require registration, accounts, or any personal identifiers.


12. Changes to This Policy

This Privacy Policy may be updated from time to time. Users are encouraged to review it periodically. The "Last updated" date at the top of this page indicates when the policy was last revised.


13. Contact

For any questions regarding this Privacy Policy or the SyncParty extension, please contact through the official SyncParty website or the Chrome Web Store listing.


Last updated: April 2026