Privacy policy
BarQL never sees your data. BarQL turns a short query into a link into a tool you already use, such as Metabase, Google Sheets, Gmail or GitHub. Your tool runs the query and shows the result. The result never passes through BarQL, and BarQL does not store anyone's numbers.
What BarQL does handle is small: your vocabulary (the names of your metrics, filters and dimensions and the ids of the fields they map to), your account details if you create an account, and anonymous-by-default usage analytics on barql.com. This page lists all of it.
1. Who we are
BarQL is made by BarQL LLC, a Texas limited liability company ("BarQL", "we"). This policy covers the websites barql.com and barql.dev, the BarQL Chrome extension, and the BarQL MCP service at barql.com/mcp, which lets an AI assistant read and edit your vocabulary with your permission.
The tools BarQL opens for you (your BI tool, your spreadsheet, your mailbox, your issue tracker) have their own privacy policies. BarQL does not change what those tools collect.
2. What BarQL never sees
BarQL is a data jumper: it constructs a request and hands it to your tool. It does not execute queries, does not receive result sets, and does not store or transmit the data behind your charts, lists or sheets. Specifically:
- The query you type (for example
monthly revenue by category 12m) is parsed on your device, inside the extension. It is not sent to barql.com. - The link BarQL builds is opened by your browser directly against your tool. BarQL's servers are not involved and never see the result.
- Nothing about your numbers, rows, messages, issues or spreadsheet contents is ever sent to, stored by or visible to BarQL.
This is a design principle, not a setting. The code that builds links is a library with no network access.
3. The Chrome extension
The extension runs entirely in your browser. Here is what it keeps and what it sends.
Throughout this policy, your vocabulary means the BarQL configuration that lists the names of your metrics, filters and dimensions and the field ids, column letters and base URLs they map to. It never contains your data.
Kept on your device
| What | Where | Why |
|---|---|---|
| Your vocabulary: metric, filter and dimension names, the field ids or column letters they map to, and the base URL of each tool | The extension's local storage. If you choose a vocabulary source (your BarQL account or a URL), the last copy downloaded from it is kept there too. | So the extension can turn your query into a link. It never contains query results. |
| The query behind each tab BarQL opened, and the address it was sent to | The extension's session storage (memory only; cleared when the browser closes) | So the popup can show and let you edit the query behind the current page. |
| A Google sign-in token, if you use the Google Sheets feature | Chrome's own identity store | So the extension can write a pivot table or filter view into the spreadsheet you chose. The token stays in Chrome; see Google user data. |
| Which Metabase sites you have granted access to | Chrome's site permissions | The in-page query bar runs only on sites you grant from the extension's Settings page or when you save your vocabulary, one site at a time. The extension requests no site access when installed. |
What the extension reads
- The address of the current tab, only when you open the popup, so it can show the query behind that page. Chrome grants this ("activeTab") each time you open the popup, and it is never recorded.
- On a Metabase question page you have granted, the in-page query bar reads the page's address and the page header element to place itself. It does not read the chart, the table or the data.
What the extension sends, and to whom
- To your tool: only the link it opens, through your browser, with your own session in that tool.
- To Google's Sheets API, only if you use the Google Sheets feature: the instructions to build a pivot table or filter view in the spreadsheet you chose, sent directly from your browser with your own Google token. The extension reads back only the identifiers it needs to open the right tab, never cell values.
- To barql.com, only if you link the extension to a BarQL account: when you link, a one-time link code and a device name (such as "Chrome on macOS"); after that, an access token that identifies your account. While your BarQL account is your vocabulary source, the extension downloads your hosted vocabulary about every 15 minutes, sending only the token and the version it already has. The extension does not upload your vocabulary. Nothing is sent to barql.com if you never link an account.
- To an address you choose, only if you pick "From URL" as your vocabulary source: the extension downloads your vocabulary from that address directly from your browser, about once a day and whenever you press Refresh. The request carries no BarQL account information and does not pass through barql.com. As with any web request, the site at that address can see your IP address and browser type.
A planned, optional feature will let you send a query that BarQL could not understand to an AI model for interpretation. It is off unless you turn it on, it sends the text of that one query and the names in your vocabulary (never your data), and this policy will be updated before it ships.
4. Accounts on barql.com
You can use the extension without an account. An account adds a hosted vocabulary (kept on barql.com with its version history, and usable from every browser you link), editing your vocabulary with an AI assistant through the MCP service, and short links. If you create one, barql.com stores:
| What | Details |
|---|---|
| Your email address and a password | The password is stored as a salted hash. If you sign in with Google instead, we store the email address and basic profile (name) that Google returns; no password. |
| Your hosted vocabulary and its last 50 versions | The same kind of vocabulary described above: names, field ids, column letters, base URLs. Each version records when it was saved and which client saved it (the web editor, the extension, the API or an AI assistant). |
| Access tokens | For the extension, the API and connected AI assistants: a label, when each was created and last used, and a hash of the token. The token itself is shown to you once and never stored in clear text. |
| Extension link codes | A short-lived code used to connect an installed extension to your account. It expires within minutes and is not reusable. |
| Connected apps | If you connect an AI assistant (for example a claude.ai or ChatGPT connector), the app's registration, your consent, and hashed authorization codes and refresh tokens. You can revoke any connected app from your account page. |
| Short links | When you create a short link, the destination link, your account and a click count. Short links are planned and this row applies once they are available. |
| Server logs | Standard web server logs: the address and page requested, time, browser type and IP address, kept briefly for security and debugging. |
barql.com never contacts your tools. It stores your vocabulary; it does not use it to run anything.
5. Google user data
BarQL uses Google services in two places, and in both cases BarQL's use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
Google Sheets in the extension
If you use BarQL with Google Sheets, the extension asks Google for permission to see, edit, create and delete your spreadsheets (the spreadsheets scope). BarQL uses that permission for one thing: to create or update a pivot table or filter view in the spreadsheet you named in your vocabulary, when you run a query against it. In practice:
- The token Google issues stays in Chrome on your device. It is never sent to barql.com, and BarQL's servers cannot use it.
- Requests go directly from your browser to Google's Sheets API. The extension reads back only sheet and filter-view identifiers so it can open the right tab, never the values in your cells.
- Google user data is not transferred to anyone, is not used for advertising, and is not read by any person.
- You can revoke BarQL's access at any time from your Google account permissions.
Sign in with Google on barql.com
If you choose "Continue with Google" to create or sign in to a BarQL account, Google shares your email address and basic profile information with barql.com. We use them only to identify your account.
6. Analytics and cookies
On barql.com only, we use PostHog to understand how the site is used: page views, clicks, and session replays of the site's pages. Replays always mask what you type into forms, and on pages shown to signed-in users they mask all text, so your vocabulary and account details do not appear in them. Signed-in users are identified to PostHog by an account number, never by email. We also record three server-side events: that an account was created, that an extension was linked, and that a vocabulary was saved; these events never include the vocabulary, tokens or codes.
Pages that display a link code or a newly created token do not load analytics at all. The Chrome extension, barql.dev and the MCP service contain no analytics.
Cookies: barql.com sets a session cookie when you sign in and a cookie that protects forms against cross-site requests. PostHog sets its own cookies on barql.com to tell visits apart. The extension sets no cookies.
7. Who else sees your information
We do not sell personal information and do not share it for advertising. The following providers process it on our behalf:
- Amazon Web Services (United States, us-east-1) hosts barql.com, barql.dev, the MCP service and their databases.
- PostHog (United States) processes the barql.com analytics described above.
- Google provides sign-in and, if you use it, the Sheets API, under its own terms and privacy policy.
We may also disclose information if required by law, or to protect the service and its users. If BarQL is ever acquired, your information would transfer with it under this policy.
8. Retention and deletion
- Your vocabulary in the extension stays until you clear it in the extension's vocabulary editor or uninstall the extension. The cached copy of your hosted vocabulary is removed when you unlink your account; the cached copy of a URL source is removed when you switch away from it. The per-tab query record is cleared when the browser closes.
- Your hosted vocabulary is kept while your account exists, with its last 50 versions.
- Access tokens can be revoked at any time from your account page; revoked tokens stop working immediately. Link codes expire within minutes.
- Server logs are kept briefly and then discarded.
- Database backups are retained for 14 days.
- To delete your account and everything in it, email us at the address below. We delete the account, its hosted vocabulary and versions, tokens and connected apps, and the deletion reaches backups as they expire.
9. Security
All traffic to barql.com and barql.dev uses HTTPS. Tokens and authorization codes are stored only as hashes. Databases are encrypted at rest and protected by backups. The link-building code runs on your device with no network access, which is what keeps "BarQL never sees your data" true by construction rather than by promise.
10. Your rights
Depending on where you live you may have the right to access, correct, export or delete your personal information, to object to or restrict some processing, and to complain to a supervisory authority. You can see and edit everything BarQL stores about you from your account page and the vocabulary page, download your vocabulary through the API, and ask us for anything else or for deletion at the address below. We answer within 30 days.
11. Children
BarQL is a tool for people at work and is not directed at children under 16. We do not knowingly collect information from them.
12. Changes to this policy
When we change this policy we update the effective date at the top and, for changes that matter, tell signed-in users on the site. Earlier versions are available on request. Features described as planned (the AI fallback, short links) will be reflected here before they are released.
13. Contact
BarQL LLC
Email: privacy@barql.com