Plain-language summary
Tabphonic turns browser tabs that you deliberately choose into channels on a local audio mixer.
A channel begins only when you click the Tabphonic toolbar button on its source tab.
The captured audio is decoded, processed, metered, and returned to your speakers inside Chrome.
Tabphonic does not record audio, create audio files, transcribe speech, recognize music, or upload samples.
The extension has no publisher-operated cloud service, user account, analytics endpoint, advertisement system, or crash-reporting SDK.
Mix scenes contain settings and source labels, not sound.
Those scene records remain in local extension storage on the current Chrome profile.
Optional MIDI input is interpreted as momentary controller values and is not saved as a performance history.
Stopping a channel ends its media tracks and destroys the corresponding Web Audio nodes.
When processing starts
Installing Tabphonic does not capture every audible tab.
Opening the side panel does not by itself capture audio.
You add a source by visiting the tab and clicking the extension's toolbar icon.
Chrome requires that gesture before issuing a tab-capture stream identifier.
The service worker gives the identifier, tab title, tab URL, and tab identifier to a hidden offscreen audio document.
The identifier is consumed to create an audio-only MediaStream.
If Chrome reports that the same tab is already captured, Tabphonic does not create a duplicate channel.
The toolbar badge displays the number of connected channels.
Chrome may display its own capture indicator while a source remains connected.
Protected Chrome pages and other surfaces restricted by the browser cannot be ordinary mixer sources.
The local audio path
Signal processing
Chrome normally suppresses a tab's direct output after its audio is captured.
Tabphonic connects the captured stream to an AudioContext so you can continue hearing it through the selected system output.
Each stream passes through an input gain, three local equalizer filters, a dynamics compressor, stereo panner, channel fader, ducking gain, analyser, and master gain.
A/B crossfade assignment changes channel gain using an equal-power curve.
Mute and solo are also implemented as local gain decisions.
None of these operations needs a remote server.
Meters and voice ducking
An analyser samples a short floating-point buffer to estimate current signal level.
The offscreen document converts that buffer to a single root-mean-square level number.
Only the level number is sent to the visible side panel so its meter bar can move.
The raw analyser buffer is overwritten on the next measurement and is never placed in storage.
If you designate a Voice channel, its current level drives smooth gain reduction on channels whose Duck control is enabled.
This is amplitude detection only; it does not identify a speaker or understand spoken content.
No recording mode
Version 1.0.0 contains no MediaRecorder, encoder, waveform archive, transcription service, upload client, or audio-download control.
Audio frames are discarded continuously after playback and instantaneous analysis.
Stored and temporary data
Mix scenes stored locally
When you press the scene-save control, Tabphonic writes a named scene to chrome.storage.local.
A scene includes its name and creation time.
It includes source tab identifiers, page titles, and page URLs so you can recognize the channels represented by the scene.
It includes fader, pan, low-, mid-, and high-EQ values.
It includes mute, solo, duck, voice, and A/B/Thru bank assignments.
It includes the master level and crossfade position.
A scene does not include audio samples, a spectral fingerprint, lyrics, captions, or page contents.
Recalling a scene changes only channels that are presently connected.
Information used transiently
Audio samples exist in the browser's media and Web Audio buffers while channels are active.
Short analyser arrays exist only long enough to calculate level and ducking.
Current tab playback positions are read when you press Sync Playheads.
Controller number and value are read from MIDI control-change messages while MIDI is enabled.
Current settings are held in JavaScript memory to operate the graph and repaint controls.
Information not collected
- Microphone or camera input.
- Recorded audio, transcripts, identified songs, or identified speakers.
- Typed text, form fields, passwords, clipboard data, or keystrokes.
- Cookies, authentication tokens, payment details, or website local storage.
- Network request or response bodies from source websites.
- Complete browsing history outside tabs that you explicitly add.
- Advertising identifiers, behavioral profiles, or analytics events.
- MIDI note performances, device history, or hardware serial numbers.
Permission-by-permission detail
activeTab
Active Tab supplies temporary authorization for the specific source selected by your toolbar click.
It is not used to monitor whichever page happens to be active in the background.
tabs
Tabs supplies the selected tab's identifier, title, URL, and audible/capture context.
The title and URL appear as source provenance in the mixer and may be included in a scene you explicitly save.
tabCapture
Tab Capture creates the audio stream needed to build a channel.
Tabphonic requests audio and does not request tab video.
Capture is limited to sources selected through the toolbar gesture.
offscreen
An offscreen extension document owns the audio graph because a Manifest V3 service worker cannot host persistent Web Audio processing.
The document is created for user-media and audio-playback purposes.
It has no visible browsing surface and does not navigate to remote pages.
sidePanel
The side panel displays the mixer beside the pages you are using.
It receives channel states and numerical meters from the offscreen document.
scripting and host access
Scripting runs a small command in source tabs only when you change playback rate or press Sync Playheads.
The <all_urls> host declaration permits those deliberate commands on ordinary sites regardless of domain.
The playback-rate command finds top-level HTML audio and video elements and assigns the requested rate.
The sync command finds the largest top-level media element, reads one reference position, and assigns that time to other connected media elements.
Tabphonic does not inject a passive content script on every page load.
It does not copy page text or form data.
storage
Storage holds only the local scene records described in this policy.
Version 1.0.0 does not use synchronized storage.
Optional MIDI control
MIDI access begins only when you press the MIDI control in the side panel.
The browser may ask you to approve access to connected MIDI devices.
Tabphonic listens only for ordinary control-change messages required by its mapping.
Controller numbers 1 through 8 map to the first eight connected channel faders.
Controller 9 maps to master level and controller 10 maps to crossfade position.
Controller values are normalized into control values and used immediately.
Tabphonic does not request System Exclusive access.
It does not store device names, manufacturers, serial numbers, performance notes, or a MIDI message log.
Disconnecting the device or closing the mixer stops that immediate path.
Network and third parties
Tabphonic does not make fetch, XMLHttpRequest, WebSocket, EventSource, beacon, or external-script requests.
All executable code, styles, and icons are included in the extension package.
No remote code is downloaded or evaluated.
No captured sound, meter, scene, URL, or mixer action is sent to the publisher.
No information is sent to an analytics vendor.
No information is sent to an advertising vendor.
No information is sold, rented, or shared for profiling.
Source websites keep making their own media and network requests under their own policies.
Tabphonic's routing of a tab's audible output does not become control over the source provider's data handling.
If a stream pauses because a provider buffers or blocks playback, Tabphonic does not contact an alternate source.
Retention and deletion
A channel's live data remains only while its stream and Web Audio graph are active.
Removing a channel stops its media tracks and disconnects its graph nodes.
Stop All ends every connected channel.
Closing a source tab or ending capture also ends its source stream.
Meter buffers are reused and discarded continuously; there is no retention period because they are not persisted.
Scenes remain in local storage until you delete them, clear extension data, or uninstall Tabphonic.
Deleting a scene removes that scene from the saved list.
Uninstalling the extension removes its extension-local storage according to Chrome's normal behavior.
There is no Tabphonic cloud account and no server-side copy requiring a separate deletion request.
The publisher cannot retrieve a locally stored scene for you.
Your controls
You choose every source tab by clicking the toolbar icon on that tab.
You can remove one channel without stopping the others.
You can stop every stream immediately with Stop All.
You can alter or reset fader, pan, EQ, mute, solo, bank, duck, and voice controls.
You can leave a channel in Thru so the crossfader does not attenuate it.
You decide whether to save a scene and can delete each saved scene.
You decide whether to request MIDI access.
You can close the source tab, close the browser, disable Tabphonic, revoke extension access, or uninstall it.
The moving meter makes ongoing signal processing visible.
The toolbar badge shows how many source channels remain connected.
Security and limitations
Tabphonic uses Manifest V3 and ships no remotely hosted executable code.
Incoming scene data and control values are normalized to documented ranges before the audio graph uses them.
Page titles and URLs are rendered as text rather than executable HTML.
Service-worker messages accept only the small set of mixer operations implemented by the extension.
Audio routing is limited by Chrome, the operating system, connected hardware, and each media provider.
Protected sources, browser-internal pages, or media governed by digital-rights controls may be unavailable.
Playback-rate control works only when the source exposes an accessible top-level HTML media element.
Sync Playheads is a deliberate best-effort seek, not sample-accurate synchronization.
Pages may replace their media element, reject seeking, or constrain available playback rates.
Multiple live streams can consume significant CPU, memory, and battery depending on source complexity.
Use moderate output levels to protect hearing and equipment.
No browser extension can guarantee confidentiality on a compromised device or Chrome profile.
Children and sensitive audio
Tabphonic is a general-purpose audio utility and is not directed to children under 13.
The publisher does not knowingly collect personal information from children.
Because the product sends no information to the publisher, it does not maintain a remote child-user database.
Users should avoid adding calls, lessons, private recordings, or other sensitive sources unless local monitoring is appropriate.
Tabphonic does not create a recording, but other software or people near the device may still hear system output.
Headphones and operating-system privacy controls remain the user's responsibility.
Policy updates
This policy describes Tabphonic version 1.0.0.
If a later version adds recording, synchronization, network services, cloud scenes, telemetry, or materially different permissions, this policy will be revised before that behavior is released.
The effective date at the top changes when material terms change.
Previously downloaded release archives may retain the policy that applied to their bundled version.
The policy packaged with a specific build is the clearest statement for that installed code.
Contact
Privacy questions, security reports, and support requests may be submitted through the publisher support channel on Tabphonic's official Chrome Web Store listing.
Identify Tabphonic and its installed version when reporting a problem.
Do not attach private audio, credentials, authentication tokens, or sensitive screenshots to a support request.
The publisher cannot listen to, retrieve, or delete audio that was never transmitted.
The publisher also cannot retrieve a local scene from your Chrome profile.