TabCtrl Privacy Policy

Last updated: August 22, 2026
Applies to: TabCtrl Chrome / Edge extension, version 1.0.0 and later
Extension ID: bniefocpdldneagigjlhbllgdjohmeie

1. Summary

TabCtrl is an agentic browser extension that runs on a Bring-Your-Own-Key (BYOK) model. The TabCtrl developer does not operate any backend service and does not receive, store, or process any of your data on its own infrastructure.

In short:

2. Data the Developer Collects

None.

TabCtrl does not:

3. Data Stored Locally on Your Device

The following data is persisted on your computer through Chrome's storage API or local IndexedDB. Persisting data locally does not mean it is never transmitted: when you run a task, the relevant prompt, page data, tool results, memory hints, or schedule content may be sent directly to the model endpoint you configured, as described in Section 4.

DataStorage locationLifetime
Model configurations and API keyschrome.storage.localUntil you delete the entry or uninstall the extension
App settings and site policieschrome.storage.localUntil you change them or uninstall
Teaching cases you recordchrome.storage.localUntil you delete them
Imported Skillschrome.storage.localUntil you remove them
Execution memory recordsLocal IndexedDBDisabled by default; until you clear them, uninstall, or local soft caps prune them
Recent first-turn task prompts (up to 20)chrome.storage.localEnabled by default; until you clear them or uninstall. You can disable future recording in Settings → Lab
Run history (up to 50 runs, 120 events each) and queued tasks (up to 25)chrome.storage.localFinished runs remain until you clear them, local caps prune them, or you uninstall; queue items are removed when run or cancelled
Scheduled-task definitions, prompts, and result metadatachrome.storage.localUntil you delete the schedule or uninstall
Current conversation and plan statechrome.storage.sessionCleared when the browser closes
Page snapshots, screenshots, vision-cache entrieschrome.storage.sessionCleared when the browser closes; subject to LRU caps
Approval / audit decisions for the current sessionchrome.storage.sessionCleared when the browser closes

Uninstalling the extension removes all of the above.

4. Data Sent to Third Parties (Your Configured Model Providers)

When you submit a task, TabCtrl makes HTTPS requests directly from your browser to the model endpoint(s) you set up in Settings → Models. Depending on the task, those requests may contain:

These requests go to whatever endpoint you configured. Common examples include:

TabCtrl does not choose the provider, does not proxy the request, and does not log it. Whatever data ends up at that endpoint is governed by that provider's privacy policy and data-retention rules. You are responsible for choosing a provider you trust for the data you are sending.

In enterprise self-hosted scenarios where the configured endpoint is on your intranet, the request never leaves your corporate network.

5. Permissions and Why TabCtrl Requests Them

PermissionWhy it is needed
<all_urls> host permission, activeTab, scriptingRead and act on the page you are working on, including across frames
tabs, tabGroups, webNavigationManage and observe tabs across multi-step tasks; enforce protocol and URL guards
declarativeNetRequestBlock task-tab main-frame and sub-frame requests before they leave the browser, then allow only an exact, approved GET URL
storage, unlimitedStoragePersist settings, model configs, skills, teaching cases, and session state locally
sidePanelRender the side-panel UI
alarmsKeep the service worker awake during long tasks and trigger schedules you created
notificationsNotify you when a task completes, or fire a notification schedule you created
offscreenPlay audio notifications
debuggerPerform precise element interactions where ordinary scripting is insufficient; for unattended task tabs, deny response-triggered file downloads
nativeMessagingOptional. Only used when you explicitly enable Lab Beta and install the native bridge to call allow-listed local CLI tools

<all_urls> and debugger are broad capabilities. TabCtrl uses them only for a task you started in the side panel or a scheduled task you explicitly created and enabled. It does not inspect unrelated tabs or browsing history.

6. Native Messaging (Optional, Disabled by Default)

The Lab Beta is disabled by default. If you enable it and install the native messaging host, TabCtrl can call locally pre-installed command-line tools that you have explicitly added to bridge.config.json. Constraints:

Uninstalling or disabling Lab Beta stops all native messaging activity. The native host independently enforces its own command allowlist even when TabCtrl skips an interactive prompt.

7. Scheduled Tasks and Background Activity

When you create and enable a scheduled task, TabCtrl may run it while the browser is open even if the side panel is closed. The extension opens a task tab, sends the saved prompt and relevant page/tool context directly to your configured model provider, and closes the task tab after the run.

Scheduled tasks have no person available to answer an approval prompt. Unattended browsing therefore requires HTTPS and an exact hostname entry in Allowed domains; an empty list or wildcard does not grant scheduled access. Only observation, scrolling, tab switching, and reviewed GET navigation are eligible for automatic execution. A reviewed link is opened directly without dispatching its DOM click handler. Typing, key presses, buttons, forms, downloads, destructive-looking URLs, native-bridge calls, and actions on hard-blocked or sensitive sites are denied. A run that does not explicitly call done(summary) with a non-empty summary, encounters a policy denial, or fails navigation is recorded as failed. You can disable or delete schedules in Settings → Schedules.

Image export is also fail-closed against DNS rebinding: for hostname URLs, TabCtrl only serializes pixels from an image already loaded in the current page and does not initiate a new fetch. Active network fallback is limited to literal public IPv4 URLs. Each image is capped at 2 MB, each task at 4 MB, each canvas export at 2 million source pixels, and repeated export work at 4 million pixels per page; compression and encoding are time-bounded.

8. Sensitive and Restricted Sites

To protect users, TabCtrl applies the following hard-coded safeguards regardless of user settings:

9. Children

TabCtrl is not directed at children under 13 and does not knowingly collect any data from children.

10. Security

You are responsible for protecting your own device and the API keys stored on it. If you believe a key has been exposed, rotate it through your provider's dashboard.

11. Your Choices

12. Changes to This Policy

If this policy materially changes, the updated version will be published at the same URL listed in the Chrome Web Store listing, with an updated "Last updated" date above.

13. Contact

For privacy-related questions about TabCtrl itself, contact the developer at dyyxml@gmail.com, or open an issue on the project repository.