Nico
unread,Oct 13, 2026, 2:03:55 PM (12 days ago) Oct 13Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Chromium Extensions
Hi everyone,
Chrome Web Store support pointed us here, as they can't pre-approve designs. Is the following within the MV3 remote code requirements?
Our extension keeps all user data local in a bundled SQLite (WebAssembly) database, running in a worker of the offscreen document and stored in OPFS. We want to serve the UI from our own website, which embeds an extension page (web_accessible_resources, our origin only) as an iframe and talks to it over a MessagePort. All chrome.* APIs, the database and all requests to the third-party service our users work with stay in the extension. Data is only rendered in the browser, never sent to our servers.
To show grids and charts over millions of rows, the page would send read-only SQL (SELECTs with joins, CTEs, aggregates) and the extension returns the rows. Read-only is enforced in the extension: one statement per request, an SQLite authorizer that only allows reads (no writes, ATTACH, PRAGMA writes, temp tables or transactions), sqlite3_stmt_readonly() as a second check, and only our origin can send requests. All writes and every action in the user's third-party account go only through fixed, named operations bundled in the extension.
1. Is this acceptable, or does the bundled SQLite engine count as "an interpreter to run complex commands fetched from a remote source", even though the statements can't change data or trigger actions?
2. If not, would a structured query description (columns, filters, sort) that bundled code validates against allowlists and turns into SQL be fine?
Thanks!