Privacy Policy

Table Grabber (Chrome extension and web tool) · v1.0.0

Last updated 14 August 2026

Table Grabber collects nothing — no personal data, no usage data, no analytics, no identifiers. Not anonymised, not aggregated. There is nothing in it capable of collecting anything, because it contains no network code at all.

What is collected

Nothing. Specifically:

  • No network requests. The extension makes no fetch, XMLHttpRequest, WebSocket or sendBeacon calls. There is no server behind it and no endpoint to send anything to. This is enforced by an automated check that fails the build if any of those appear in the source, so it is verifiable rather than merely stated.
  • No analytics or telemetry. None, including crash reporting.
  • No account or sign-in. There is no way to distinguish one user from another, even in principle.
  • No remote code. Everything it runs ships inside the package. No external scripts, fonts, stylesheets or images are loaded.
  • No advertising, and nothing is sold. There is no data to sell.

What it stores, and for how long

A table you grab is held in chrome.storage.session, which the browser keeps in memory and clears when the browser closes. Scraped table data is never written to disk by the extension. When the editor tab loads a table, the stored copy is deleted immediately.

The only thing written to disk is your own interface preferences — chosen export format, delimiter, whether you like numeric cleaning on. That never leaves your machine.

What it can see when you use it

When you invoke it on a page, it reads that page’s rendered content in order to find tables. That content stays in the tab and in the editor tab you opened. It is not transmitted and it does not survive the browser closing.

Be aware that a grabbed table contains whatever the page contained. A table exported from a logged-in page may hold personal or account-specific data. Treat exported files as you would any other download.

Site access

The extension installs with access to no websites at all. There is no host_permissions entry in its manifest, so adding it approves nothing and nothing runs in the background. You can confirm this at chrome://extensions, where its site access reads “On click”.

Permissions, and why each exists

Every permission the extension requests and its purpose
PermissionWhy it is needed
activeTabRead the table content of the tab you are looking at, and only after you click the icon, press the shortcut or use the right-click item. This is what lets the extension ship with no host permissions.
scriptingInject the table-reading code into that one tab, on demand. No content script is declared in the manifest, so nothing runs on any page until you ask.
storageHand a grabbed table to the editor tab using chrome.storage.session, which lives in memory and is cleared when the browser closes. The stored copy is deleted the moment the editor reads it. Your export preferences are the only thing written to disk.
downloadsSave the file you asked for. Files are generated in your browser and handed to Chrome's download manager.
contextMenusAdd the single “Grab tables on this page” right-click item.

The web version on this site

The converter at glitchbong.com/tools/table-grabber works the same way. Whatever you paste is parsed in your own browser tab. There is no API route behind it, nothing is uploaded, and no server ever receives your table. The page itself is served by Vercel, whose standard access logs apply to the page request in the same way they would to any web page — those logs do not and cannot contain your table.

One thing worth disclosing

The extension’s engine modules are declared as web_accessible_resources, which is what allows them to be loaded into a page when you invoke it. A side effect is that a website can detect that this extension is installed, by requesting one of those files and seeing whether it answers. This is known as extension fingerprinting and it affects a large share of extensions.

It exposes nothing you have grabbed and sends no data anywhere; it reveals only that the extension exists in your browser. Chrome’s use_dynamic_url flag would prevent it, but enabling it breaks the module loading this extension depends on — tested, not assumed. Removing the exposure properly means bundling the engine into the injected script at build time, which is planned.

Children

The extension is a developer utility, is not directed at children, and collects no data from anyone regardless of age.

Third parties

There are none. No SDKs, no libraries loaded at runtime, no bundled dependencies, no ad networks, no payment processor. The extension has no dependencies of any kind.

Changes to this policy

Material changes will be recorded in the project’s changelog and reflected in the version published with the extension. The date at the top of this page always reflects the current policy.

Contact

Questions, or a security report: glitchbong.com/contact, or open an issue at github.com/eziokittu/table-grabber/issues.

The full source is public and MIT licensed, so none of the above has to be taken on trust: read it yourself.

← Back to Table Grabber