Privacy Policy - Ticker Screener
1. Overview
Ticker Screener (“the extension”) has a single purpose: to provide an integrated stock-market watchlist and real-time ticker tape so users can monitor stock prices, financial metrics, and market news across global and Indian markets directly within browser tabs and the side panel.
This policy, together with the extension’s in-product disclosures (permission prompts, Settings → Account & Sync, and the feedback form), comprehensively discloses how the extension collects, uses, handles, stores, and shares all user data, and all parties user data is shared with. There is no separate mobile app. The companion website at https://vishwaroopg.github.io/Screener-Extension/ and the /uninstall/ feedback page follow this same policy.
Short version: watchlists and settings stay on your device (and optionally in your own browser-profile sync storage). Ticker symbols you look up are sent to public market-data providers to fetch quotes. Feedback is sent to the developer only when you press Send. We do not sell data, run ads, use tracking SDKs, or build advertising profiles.
2. User Data Collection - what we collect
We collect only what is needed for the single purpose above. “Collection” includes data you type, data the extension reads via declared Chrome permissions, and query strings sent over the network to retrieve market data.
2.1 Data you provide directly
| Data | Examples | When collected |
|---|---|---|
| Watchlist & portfolio content | Ticker symbols (e.g. RELIANCE.NS, AAPL), portfolio names, tags, notes, pinned indices, custom market cards | Only when you add, import, or edit them |
| Alert & preference settings | Price-alert targets, tape position/size/theme/speed/visibility, dark mode, disabled-domain list, clock/economy/macro-tile choices, sync on/off | Only when you change a setting |
| Feedback content (optional) | Name, reply email, message text, optional screenshot image | Only when you submit the in-panel feedback form or the uninstall feedback page |
| Highlighted text via right-click | Text you highlight and choose “Add to Screener Watchlist” on via the context menu | Only when you invoke that menu item; used once to resolve the ticker |
| Imported watchlist tickers | Ticker symbols detected on your open broker/watchlist tab (Zerodha Kite, Screener.in, TradingView) | Only when you click Import → Detect from open tab; shown in a checkbox preview before anything is added |
2.2 Data read via Chrome permissions (on-device, not a server database)
| Permission / API | Data read | How it is used |
|---|---|---|
identity (chrome.identity.getProfileUserInfo) | Signed-in browser-profile email address (may be empty if signed out or on Brave) | Displayed locally in Settings → Account & Sync so you can verify which profile your preferences sync to. Never transmitted to our servers or any analytics service. |
tabs (query, onActivated, onUpdated) | Active tab’s domain hostname only (e.g. example.com, via new URL(tab.url).hostname) to enforce your per-website ticker on/off choice | Compared locally against your disabledDomains list. Full URLs, page titles, page contents, and browsing history are never read, stored, or transmitted. |
storage | Extension settings and caches listed in §2.1 (see §4 for exact keys) | Saved on-device; a subset mirrored to your browser-profile sync area only if you leave sync enabled. |
alarms, notifications, contextMenus, sidePanel | No additional personal data. Alarms schedule local price checks; notifications show your own alert results; contextMenus exposes the “Add to Watchlist” item; sidePanel renders the UI. | Local operation only. |
2.3 Data we do NOT collect
- We do not collect browsing history, full URLs, page titles, page DOM/content, cookies, passwords, payment data, precise location, contacts, or files outside the optional feedback screenshot.
- The ticker-tape content script (
ticker_tape.js, matches<all_urls>) only renders your watchlist bar on pages you allow. It does not scrape, keylog, or exfiltrate page content, and it skips domains you disable. - We use no advertising SDKs, analytics SDKs (no Google Analytics, Mixpanel, Sentry, etc.), fingerprinting, or cross-site trackers in the extension.
3. How We Use User Data (handling & use)
- Watchlists, portfolios, alerts, and UI preferences: used solely to render the side panel, ticker tape, charts, and desktop price alerts you configured, and to restore them across browser sessions.
- Profile email (identity): used solely for local display in Settings → Account & Sync. Not used for authentication, tracking, or marketing.
- Active-tab hostname (tabs): used solely to respect your per-website ticker enable/disable choice.
- Highlighted text (contextMenus) and detected tab tickers (import): used solely to resolve the selected or detected company/ticker into a watchlist entry or import preview at the moment you click - nothing is read in the background.
- Ticker/search/macro queries: used solely to fetch the market data you requested (quotes, sparklines, ratios, news, macro indicators, holiday calendar).
- Feedback name/email/message/screenshot: used solely to read and reply to your feedback. Email is optional and used only to reply if you provide it.
- We do not use user data for advertising, marketing, credit decisions, or sale to third parties.
4. User Data Storage - where and how long
- On-device storage (
chrome.storage.local): watchlists (portfolios,screenerWatchlist,activePortfolioName), alerts (alerts,priceAlerts), preferences (theme,tape*,clockKeys,pinnedIndices,disabledDomains,overviewEconomy,macroTiles,syncEnabled), and performance caches (cachedData,marketIndices,macroStats,marketHolidays,marketBreadth,marketMood). Data stays on your device until you delete it. - Browser-profile sync (
chrome.storage.sync): only the small preference subset listed above is mirrored to Chrome’s sync area when sync is enabled (default on; toggle in Settings). That copy is stored by Google as part of your browser-profile sync infrastructure (governed by Google’s privacy policy), not on a developer server. Bulky caches (cachedData,marketIndices,macroStats,marketBreadth,marketMood) intentionally stay local-only. The developer has no access to your sync area. - No developer server database: we operate no account system and no central database of watchlists. The only data that reaches the developer is feedback you explicitly send (see §5.7).
- Retention: local data persists until you remove it (edit/delete in the panel, turn off sync, use “Clear data”, or uninstall the extension, which removes
chrome.storage.local). Cached quotes/macro/holiday data refresh roughly every 5 minutes to 24 hours and are overwritten automatically. - Deletion: delete a watchlist/alert in the panel to remove it immediately; disable “Account & Sync” to stop sync mirroring (existing synced values remain in your Google account until you clear synced data via Chrome settings); uninstall to wipe local extension storage from the device.
5. User Data Sharing - all parties data is shared with
We share the minimum necessary query data with each provider below only to fulfil your request (e.g. the ticker symbol you asked to quote). We never sell data and never share your watchlist, email, or feedback with advertisers or data brokers. Each recipient’s handling of the query is governed by its own privacy policy.
| Recipient (party) | What is sent | Purpose |
|---|---|---|
Yahoo Finance - query1.finance.yahoo.com, query2.finance.yahoo.com | Ticker symbols and search text you enter or watch (e.g. AAPL, RELIANCE.NS) | Real-time quotes, sparkline/chart data, and search results for your selected stocks |
Screener.in - www.screener.in | Indian ticker/company search text and company page requests for tickers in your watchlist | Indian financial ratios, quarterly data, and company search for the side-panel watchlist |
Finviz - finviz.com | US ticker symbols in your watchlist | Financial overview metrics for US tickers |
Moneycontrol - www.moneycontrol.com | Only the fact that the Markets tab is open (page fetches, no personal data) | Whole-market advance/decline totals for India (Nifty 500) and FII/DII activity tables |
WSJ Markets Diary - www.wsj.com | No user data sent; the extension downloads the public markets-diary feed | Whole-market advance/decline totals for the USA (NYSE + Nasdaq) |
Tickertape MMI - api.tickertape.in | No user data sent; the extension downloads the public Market Mood Index value | Live Fear/Greed gauge for India in the Markets tab |
CNN Fear & Greed - production.dataviz.cnn.io | No user data sent; the extension downloads the public Fear & Greed feed | Fear/Greed gauge for the USA in the Markets tab |
World Bank API - api.worldbank.org | Country codes for the economy you view (e.g. US, IN) | Macroeconomic indicators (inflation, unemployment, GDP) for the Markets overview |
Google News RSS - news.google.com | Ticker/market search terms for the News tab | Latest financial and stock-news feed items |
GitHub Pages (developer site) - vishwaroopg.github.io | No user data sent; the extension downloads the public market-holidays.json calendar | Show market open/close status |
FormSubmit - formsubmit.co/ajax/vishwaroopg8@gmail.com | Only when you press Send: feedback name, reply email, message, optional screenshot | Deliver your feedback email to the developer’s inbox. Mailto fallback opens your own email app instead. |
| Google (browser sync infrastructure) | Only the small preference subset in §4, only if you leave sync enabled and are signed into Chrome | Sync your own preferences across your signed-in devices. Google stores/processes this under Google’s policies; the developer cannot read it. |
No other third parties receive user data. Queries to the providers above are made directly from your browser to the provider; they are not proxied through a developer server.
6. Extension Permissions & Host Access - why each is needed
sidePanel- render the watchlist, quotes, charts, and metrics UI.storage- save watchlists, alerts, and preferences locally and sync them viachrome.storage.sync.alarms- run 5-minute background quote checks for your price alerts while the browser is open.notifications- show desktop alerts when your own price/metric thresholds are crossed.contextMenus- add the “Add to Screener Watchlist” right-click item for highlighted tickers.tabs- read only the active tab’s domain to enforce your per-site ticker on/off list; send display updates to open tabs. No history/URL collection.identity- read the signed-in profile email for local display only (Settings → Account & Sync).- Host permissions (
screener.in,query1/query2.finance.yahoo.com,finviz.com,api.worldbank.org,news.google.com,formsubmit.co,vishwaroopg.github.io,www.moneycontrol.com,www.wsj.com,api.tickertape.in,production.dataviz.cnn.io) - fetch exactly the data described in §5. Content-script matches (<all_urls>) render only the ticker-tape bar you configured; page content is never collected.
No remote code is used: all JavaScript/WebAssembly ships inside the extension package; no external <script>, external modules, or eval() of remote strings.
7. Data Security
- All provider fetches use HTTPS. Feedback posts use HTTPS POST to FormSubmit.
- Local data is protected by the browser/OS profile protections; sync copies inherit your Google account’s protections.
- No method is 100% secure; avoid putting sensitive personal information in watchlist notes or feedback screenshots.
8. Your Controls & Choices
- Per-website ticker control: disable the tape on any domain from the side panel.
- Sync control: turn “Account & Sync” off at any time to keep everything local-only.
- Delete control: remove watchlists, alerts, or notes in the panel; uninstall the extension to wipe local storage.
- Feedback is entirely optional; you can use the whole extension without ever submitting it.
9. Children’s Privacy
The extension is a general-audience market utility and is not directed to children under 13. We do not knowingly collect data from children. Contact us for deletion if you believe a child provided feedback data.
10. Changes to This Policy
We will update this page and the Effective date when the extension’s data practices change, and will note material changes in the release notes. Continued use after an update constitutes acceptance of the revised policy.
11. Contact & Data Requests
Developer / data controller: Vishwaroop Galgali. For access, correction, deletion, or any privacy question: vishwaroopg8@gmail.com. Because most data lives only on your device, the fastest deletion is in-product (see §8); emailed feedback is deleted from the inbox on request.
Appendix - full host list (manifest parity, v2.6.1)
https://www.screener.in/* · https://query1.finance.yahoo.com/* · https://query2.finance.yahoo.com/* · https://finviz.com/* · https://api.worldbank.org/* · https://news.google.com/* · https://formsubmit.co/* · https://vishwaroopg.github.io/* · content-script match <all_urls> (render ticker bar only).