Tartini AI

Privacy Policy

Tartini AI is an AI data agent. You connect your own Google Analytics property, your own BigQuery warehouse and your own GitHub repository, and the Assistant works against them on your behalf. This page describes what we receive, why, where it is kept, and what we do not do.

1. Who we are

Tartini AI LLC operates the service at https://tartini.ai. We are the controller of the personal data described here.

Write to that address with any question about this policy, to ask what we hold about you, or to ask us to delete it.

2. Signing in

You sign in with Google. We request only openid, email and profile — enough to know who you are and nothing else. These are the only Google permissions Tartini AI ever asks a person for. Signing in grants no access to your Google Analytics, your BigQuery data or your Google Drive, and there is no second consent screen anywhere in this product that would: data access is granted by your administrators to a service account, in Google's own consoles, as described below.

From that sign-in we store your Google account identifier, your email address, and the display name and picture Google returns. Your session is a cookie scoped to tartini.ai; it is HttpOnly, Secure and SameSite=Lax, and it is not readable by JavaScript.

3. Cookies, and the choice you are given

Two things are stored in your browser without asking, because the site cannot work without them and neither identifies you to anyone else. The first is the session cookie described above. The second is the record of the answer you give the cookie banner — storing it is what stops the question being asked again.

Everything else is optional and off until you say otherwise. There are two such categories, analytics and marketing, and neither is in use today — so while that is true, Accept has nothing to grant and records the same thing Reject does. The banner always offers both answers, in the same place and the same size, and that is enforced in code rather than promised here. Your answer is stored in your own browser, not on our servers, so it is per browser and per device.

As of the date at the top of this page, no analytics or marketing cookie is set by this site at all, whatever you answer — nothing of that kind is loaded yet. The choice exists ahead of them on purpose: app/public/consent.js is the one gate anything non-essential has to pass, so the day such a tag is added it cannot start until you have already agreed to its category. If you decline, it never runs.

You can change your mind at any time by clearing this site's data in your browser, which removes the stored answer and brings the banner back.

4. The connections you choose to make

Each is separate, each is optional, and each is authorised by you at the moment you make it.

Google Analytics

Tartini AI holds no Google credential of yours for this. A Google Analytics administrator in your organisation adds a Tartini-managed service account — an address of the form tdata-….iam.gserviceaccount.com, unique to your project — the exact address is shown in Tartini AI under Settings — to your GA4 property as a Viewer. Our servers read that property with a short-lived credential Google issues on request. There is no key, and nothing is stored.

It is read-only. Tartini AI reads your Data Stream configuration in order to describe what your site already measures. It does not modify your Analytics configuration and it is not the destination for your analytics events — those go directly from your website to your own Google Analytics property and never through us. You revoke it by removing that service account under Property Access Management, at any time, without asking us.

BigQuery

The same Tartini-managed service account, authorized by a BigQuery administrator in your organisation: BigQuery Job User on the project that runs and pays for queries, Data Viewer on the datasets you choose as sources, and write access on the one output dataset you nominate. Tartini AI uses that access to list the datasets and tables you can already see, to run the SQL you or the Assistant ask for, and to create and schedule the tables you ask it to create.

Your BigQuery costs stay yours and stay visible. Every query runs as a job in your project, so it appears in your billing and your job history under your own controls — not ours.

What your administrators granted is the boundary. Tartini AI acts as its own service account, not as you — so it reaches exactly the projects, datasets and property your administrators named, and nothing else. Removing those grants ends its access immediately and completely, and does not require our involvement. Query results are returned to your browser and are not stored as a copy by us.

GitHub

You install the Tartini AI GitHub App on the specific repository you name. It holds Contents read/write and Pull Requests read/write on that repository only. Tartini AI reads your source at the exact revision you authorised in order to propose tracking changes, and delivers changes as a Pull Request for you to review. It does not push to your default branch.

5. What you send the Assistant, and where it goes

When you use an Assistant, your message, the conversation it belongs to, and only the scoped source or schema observations that turn needs are sent to a large language model through OpenRouter, which routes it to the model this deployment is configured with. Images you attach are sent with it.

What that includes, precisely. The names, schemas and metadata of the datasets and tables the Assistant looked at; the Data Stream configuration it read from Analytics; the source files a tracking change touches; and, when you ask a question that runs a query, a bounded preview of the rows it returned, labelled as a preview. A full result set does not go to a model: a CSV export is a file your browser downloads, and its rows are not placed in the conversation.

It is sent for one purpose — answering the request you just made — and it is used for nothing else. We do not use it to train or improve any AI or machine-learning model, we do not send it to anyone for that purpose, and we do not use it for advertising or sell it.

Credentials are never sent to a model. Your Google refresh tokens, your GitHub installation token and our own provider keys are not placed in prompts, tool arguments or model output.

6. Where your data is stored

Tartini AI runs on Google Cloud in the us-west1 region (Oregon, USA).

If you are in the EU or UK, your data is processed in the United States.

7. Payments

Card payments are handled by Stripe. Tartini AI never receives or stores your card number. We keep a record of what was purchased and what it cost, which is what your balance is computed from.

8. Who else sees your data

We do not sell your data and we do not use it to train models. It reaches these processors, each for the purpose named:

We also disclose data where the law requires it.

9. Google user data and the Limited Use requirements

Tartini AI's use and transfer of information received from Google APIs to any other app will adhere to the Google API Services User Data Policy, including the Limited Use requirements. Concretely, for everything reached through the Google connections in section 3:

We pass it on only to the processors named in section 7, each for the purpose named there; where the law requires it; or, if Tartini AI is ever merged or acquired, to the acquirer after we have told you. Revoking a connection — from Tartini AI, or from your own Google Account security page — ends our access to it immediately, and section 9 describes what is deleted.

10. Deleting things

Deleting a project erases the state belonging to it: its conversations, runs, dashboards, tables, saved queries, stored images and published artifacts. This is a real deletion of those records, not a flag.

To delete your account and everything in it, or to ask what we hold about you, write to the contact address in section 1. We do not publish a fixed turnaround time here because we would rather not state one we have not committed to.

Disconnecting an integration revokes our stored token for it. Revoking Tartini AI's access from your own Google Account security page or from GitHub has the same effect immediately.

11. Retention

We keep your account and its content while your account exists, and delete it when you ask. Operational backups of our databases are kept for 30 days and are then discarded, so a deleted record can persist in a backup for up to that long. Billing records are kept as long as accounting and tax rules require.

12. Security

Traffic is served over HTTPS. Connection tokens are encrypted before storage. Provider keys live in Secret Manager rather than in our database. Access to your resources is checked against your workspace membership on every request, not hidden in the interface.

We do not claim any security certification, and this page will not tell you that your data cannot be compromised.

13. Children

Tartini AI is not intended for anyone under 16, and we do not knowingly collect their data.

14. Changes

If this policy changes materially we will update the date at the top and tell signed-in users. Continuing to use Tartini AI after that means the updated policy applies.