TubeStack Privacy Policy
This policy describes how the TubeStack Chrome Extension handles information when you use it. TubeStack is not affiliated with YouTube, Google, or OpenAI.
Chrome Web Store Limited Use disclosure
TubeStack’s use of information received from Google APIs and of user data handled in the extension complies with the Chrome Web Store User Data Policy, including the Limited Use requirements. TubeStack uses permissions and data only to provide or improve its single purpose—saving, organizing, and reopening YouTube watch and Shorts tabs in a local library. TubeStack does not sell user data, does not use user data for personalized or interest-based advertising, and does not transfer user data to third parties except when you explicitly use optional Google or OpenAI features (requests go directly to those services), or when required by law or for security.
In-product consent
Before TubeStack saves YouTube tabs or records local watch progress, you must accept a short privacy notice in the extension popup or setup wizard. That notice summarizes local storage of library data and progress on this device. You can review this full policy at any time from the popup or Settings.
Local-first design
TubeStack is local-first. Most of what you see in TubeStack, including saved tabs, playlists, categories, tags,
notes, and locally tracked watch progress, is stored locally in your browser using Chrome
extension storage (chrome.storage.local), not on a TubeStack-owned server. TubeStack has no central
backend that collects your library or credentials. The unlimitedStorage permission raises the local
storage quota so larger libraries can stay on your device.
What is stored on your device
- Saved YouTube tabs and library items (titles, channels, URLs, tags, notes, watch states, and related fields).
- Local playlists and organization data (stack notes, research summaries, decision logs).
-
Locally tracked watch progress on open YouTube
/watchtabs (videoProgressand daily totals inwatchByDay). On/shortstabs, progress tracking is best-effort (saving Shorts still works). TubeStack does not use the Chrome History API. - Extension settings and UI preferences (including your selected queue and sidebar panel state).
- YouTube Data API keys and OpenAI API keys you paste (stored locally only).
- YouTube OAuth Web Client IDs you paste (public client identifiers, stored locally).
- Google account email (optional) — if you enter it during setup, it is stored locally to help you remember which Google Cloud project your API key belongs to. TubeStack does not send this email to a TubeStack server.
-
OAuth access tokens — when you sign in with Google, bearer tokens are kept in the extension
service worker’s memory only (not written to
chrome.storage.local) until they expire or you choose Sign out of Google in Settings.
Chrome side panel (queue sidebar)
TubeStack includes an optional queue sidebar in Chrome’s side panel. The toolbar icon always opens the save popup first; the sidebar opens only when you click Open queue sidebar in that popup.
In the sidebar you can:
- Pick a local queue (playlist) and add YouTube tabs from the current window.
- Drag videos to reorder the queue (order is saved locally).
- Use Play to open the queue one video at a time; when a video finishes, the next opens automatically (resume on
/watchwhen tracked; best-effort on Shorts). - Use Shuffle to reorder the queue locally, then play through one video at a time the same way.
The sidebar reads and updates the same local library and playlists as the dashboard. It uses
chrome.runtime messaging and chrome.storage.local only—no TubeStack server, no
extra host permissions, and no content scripts in the side panel.
Network requests and third parties
Google / YouTube — Optional API and OAuth calls happen only when you configure and use those features. Requests go directly from the extension to Google’s services.
OpenAI — Optional calls happen only when you configure an API key and run AI features (including Test OpenAI connection in Settings). Selected saved-video metadata may be sent for categorization or Watch State suggestions when you explicitly run those tools.
Permissions and page access
TubeStack declares contextMenus, identity, scripting,
sidePanel, storage, and unlimitedStorage, plus YouTube host permissions.
Google APIs and OpenAI are optional runtime host permissions. TubeStack does not request Chrome
History, the broad tabs permission, windows, or <all_urls>.
Content scripts run on YouTube watch and Shorts pages (metadata on save; local progress on open tabs — full on
/watch, best-effort on /shorts) and on YouTube subscription or channel feed pages when
you import channel names. No content scripts run on non-YouTube sites.
Deleting data
From Settings you can delete saved videos, progress, and local playlists; clear API keys; sign out of Google (in-memory token); clear AI cache; and clear the Subbed Channels list separately. Uninstalling the extension removes its local storage.
Delete saved videos, progress & local playlists keeps saved API keys, OAuth Client ID, categories and themes, and the Subbed Channels list unless you use the other clear buttons.
What TubeStack does not do
- Does not request Chrome History permission.
-
Does not request the broad
tabspermission (YouTube tab access is scoped via YouTube host permissions). -
Does not request
windowsor<all_urls>(install-time host access is YouTube only). - Does not scan unrelated browsing history.
- Does not sell user data.
Contact
For privacy questions, use the support channel listed on the TubeStack Chrome Web Store listing or the open-source project repository: https://github.com/jdepew88/TubeStack