Watchlist symbol visibility
Your workspace scans the union of every member's watchlist, so the signal tables hold rows for symbols that only one member follows. To keep a member's watchlist private, BlitzPulse hides those rows from everyone else.
The rule
A symbol is hidden from you when another member of your workspace has it on a watchlist and you do not.
- A symbol you watch is always visible to you, even if others watch it too.
- A symbol nobody in the workspace watches (a holding, a default, a shared interest) stays visible.
- A workspace with one member sees everything.
- The rule is evaluated per request, so adding a symbol to your own watchlist makes it visible to you immediately and removing it hides it again if a teammate still watches it.
What it filters
The rule applies wherever a signal or recommendation is shown for a specific member: the signal feed and signal detail, intraday signals and the signal dashboard, the options flow dashboard, the intel feed, game plan and end-of-day review, recommendations (list, history and acknowledge), the volatility-premium IV rank and theta watchlist, and the briefing email you trigger yourself (the test send).
The signal detail and acknowledging a recommendation answer a hidden symbol with the same "not found" as a symbol that does not exist, so the response never confirms that a teammate watches it.
When every active recommendation is hidden by this rule, the list comes back empty with
filtered_by_watchlist_visibility: true. That flag tells you the page is filtered, not that the workspace is new; no
count of hidden rows is ever returned, and recommendation generation is not re-queued for a filtered page.
What it does not filter
Scheduled and system jobs that have no viewer (for example the scheduled workspace briefing) and the live signal stream are tenant-level today. They are tracked in issue together with the open product questions (whether workspace owners or admins should see everything, and whether a symbol the workspace really holds should always be visible).
For support
"A signal is missing" can be this rule rather than missing data. Check whether the symbol is on another member's
watchlist and not on the reporter's. The implementation is hidden_watchlist_symbols in
blitzpulse-api/app/services/market_data/watchlist_visibility.py.