Is SignUp - Sign Language for Netflix & Disney+ safe?
SignUp sends streaming page URLs and titles with a persistent analytics ID to its backend and Google Analytics.
On Netflix, Disney+, Peacock, Hotstar, and YouTube pages, SignUp reports the page title and full page URL when its content script starts. The background script uses a stored client ID, requests coarse location from ipinfo.io, then posts analytics events to backend.aslcaptioning.com and Google Analytics.
Who publishes itNo other listings under this identity
No other listings under this identity
What this publisher told the store about itself, and the other listings that told it the same thing.
AI-generated. Findings may contain errors. Those marked Verified have been manually reviewed.
Publishers can request a review.
Findings
The extension reports every streaming page you load to a persistent tracking ID
On every Netflix, Disney+, Hotstar, Peacock, or YouTube page load, the extension sends the page title, full URL, and a persistent client ID to two analytics services.
We captured this with coarse IP-location attached.
- Severity
- Medium unwanted
- Type
- Unexpected
- CWE
- CWE-359
- Source
- Dynamic sandbox
You open a supported streaming page.
youtube.com, netflix.com, disneyplus.com, peacocktv.com, or hotstar.com finishes loading with the extension active.
The extension reports the page and a tracking ID to two analytics services.
The content script sends your page title and URL to the background, which attaches a persistent client ID and your coarse location.
Observed during dynamic analysis: request fired immediately after the test page finished loading.
{ "source": "extension", "events": [ { "name": "page_view", "params": { "page_title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster) - YouTube", "page_location": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" } }, { "name": "location_tracking", "params": { "region": "England", "country": "GB" } } ]}{ "client_id": "1c30c500-59aa-48a6-81eb-04e8f440c9f0", "events": [ { "name": "page_view", "params": { "page_title": "Rick Astley - Never Gonna Give You Up (Official Video) (4K Remaster) - YouTube", "page_location": "https://www.youtube.com/watch?v=dQw4w9WgXcQ" } }, { "name": "location_tracking", "params": { "region": "England", "country": "GB" } } ]}- Page titleRick Astley - Never Gonna Give You Up (Official Video) (4K Remaster) - YouTube
The exact title of the page you were viewing.
- Page URLhttps://www.youtube.com/watch?v=dQw4w9WgXcQ
The full address of the page, including any video ID or search terms it contains.
- Client ID1c30c500-59aa-48a6-81eb-04e8f440c9f0
A random ID created once and reused forever, so every visit ties back to the same install.
- Coarse locationEngland, GB
Your region and country, looked up from your IP address via a third-party service.
The automatic page_view call
Same call, readable
contentScript.bundle.jschrome.runtime.sendMessage({ type: "sendAnalyticsEvent", name: "page_view", extra: { page_title: document.title, page_location: document.location.href }}).then(() => { console.log("page_view event tracked");});background.bundle.js: client ID + dual dispatch
background.bundle.jsconst GA_URL = "https://www.google-analytics.com/mp/collect";const BACKEND_URL = "https://backend.aslcaptioning.com:3710";async function getClientId() { let id = (await chrome.storage.local.get("clientId")).clientId; if (!id) { id = self.crypto.randomUUID(); await chrome.storage.local.set({ clientId: id }); } return id;}// events array (h) built from the page_view + location_tracking events,// then POSTed to both endpoints with the same payload shape.fetch(new URL("/analytics", BACKEND_URL).toString(), { method: "POST", body: JSON.stringify({ source: "extension", events: h })});fetch(`${GA_URL}?measurement_id=${measurementId}&api_secret=${apiSecret}`, { method: "POST", body: JSON.stringify({ client_id: await getClientId(), events: h })});- backend.aslcaptioning.com
The extension's own analytics backend; receives your page title, URL, and client ID on every supported page.
- www.google-analytics.com
Google Analytics Measurement Protocol collection endpoint; receives the same page data under a GA4 property.
- ipinfo.io
Third-party IP geolocation lookup; returns your region and country, which is then forwarded in the analytics event.
Where it sends data
Destinations our analysis observed SignUp - Sign Language for Netflix & Disney+ contacting. Sending data somewhere is not a finding on its own - an extension that syncs your settings has to talk to its own server - but it is where your data can go, and who else it goes to.
- www.google-analytics.comwidely used
SignUp - Sign Language for Netflix & Disney+ sends data to www.google-analytics.com. A widely used service: 346 other extensions we have analysed send data here.
- ipinfo.iowidely used
SignUp - Sign Language for Netflix & Disney+ sends data to ipinfo.io. A widely used service: 45 other extensions we have analysed send data here.
- backend.aslcaptioning.com
SignUp - Sign Language for Netflix & Disney+ sends data to backend.aslcaptioning.com. No other extension we have analysed sends data here.