This document answers the questions raised by installing the Rowfill extension on a managed workstation. It is meant to be forwarded as is.
The essential point: Rowfill has no server. No business data ever leaves the user's browser, including to the developer. There is no outbound request during a run, nor at startup.
The only outbound request in the whole product is the subscription
check, to api.lemonsqueezy.com, the payment provider. It carries the licence key and
an instance id, nothing else, at most once a week. On the free plan the extension makes
no network request at all.
Rowfill automates repetitive data entry into a web form. The user fills the form once, the extension records the sequence, then replays it for every row of a table pasted from Excel.
The extension acts strictly within the signed-in user's own scope. It opens no new access: it reuses the application session already open in the tab, exactly as the user would by typing. It stores no credentials and touches no cookies.
| Permission | Why it is needed |
|---|---|
sidePanel |
Show the interface in the browser side panel. No data access. |
scripting |
Inject the typing code into the business application tab, only on domains the user has explicitly allowed, and only during a recording or a run. |
storage |
Store form templates locally through chrome.storage.local. No cloud sync:
chrome.storage.sync is not used. |
tabs |
Identify the active tab to know where to act, and detect when the page has finished loading between two rows. |
host_permissionsapi.lemonsqueezy.com |
Check the subscription with the payment provider. It is the only domain the extension can reach by default. The request carries the licence key and an instance id only, never business data nor a visited URL. No request at all is made on the free plan. |
optional_host_permissions |
The extension requests no site access at install time. The user grants
access one domain at a time, on demand, through Chrome's native dialog. It is revocable
at any time from chrome://extensions. |
The extension does not declare <all_urls> statically, and requests no access
to cookies, history, downloads, the system clipboard or credentials.
src/background/license.js. No other fetch,
XMLHttpRequest or WebSocket exists in the product.chrome://extensions, enable developer mode, click "service worker" under
Rowfill.lemonsqueezy: it lives in a
single file, and the request body is readable in clear text there.To allow Rowfill by group policy on Windows, through
ExtensionInstallAllowlist:
HKLM\Software\Policies\Google\Chrome\ExtensionInstallAllowlist 1 = "ofggabdbfpekpbjbnjldldnghdnpdiei"
To further restrict the domains the extension may act on, the ExtensionSettings
policy can pin an allowed URL list, independently of the user's own choice.
The extension is published by an independent developer. Support and compliance questions go through the contact address published on the Chrome Web Store listing.