Frequently Asked Questions

How to Bring Your Own API Key (BYOK)?

TamedTable runs on your API key. The key stays in your browser. We never see it, and nothing is stored on our servers.

The #1 gotcha

A ChatGPT, Claude, or Gemini subscription is not API access. The API is a separate account, billed by usage (usually a few cents for a session). You sign up for it separately from any chat subscription.

Google (Gemini)

Sign in at Google AI Studio, then create a key. Gemini is the exception to the rule below: the key stays viewable, so you can come back for it later.

Create a Gemini API key ↗

Caveat: users in the EEA, UK, or Switzerland must enable billing even to use the free tier.

OpenAI

Sign in at the OpenAI platform, then create a key. It is shown once, so copy it immediately, because you cannot view it again afterwards.

Create an OpenAI API key ↗

Anthropic (Claude)

Sign in to the Anthropic Console, then create a key. It is shown once, so copy it immediately, because you cannot view it again afterwards.

Create an Anthropic API key ↗

OpenRouter

One no-credit-card signup unlocks free models from many vendors. Create a key, and allow free-model publication in your privacy settings — free models may train on your prompts.

Create an OpenRouter API key ↗

Tip: store the key in your browser or a password manager. Clearing your browser data or switching devices means entering it again. Ready? Open the web app ↗

Is it safe to paste my API key into a web app?

The key is saved in your browser's local storage, on your device, and requests go straight from your browser to your provider's API. There is no TamedTable server in the middle: the site is static files on GitHub Pages, it loads no third-party scripts, no analytics, and no ad code, so there is no code path that could quietly copy the key elsewhere.

Best practice: create a separate API key for TamedTable with a monthly spending cap in your provider's console.

And because the code is public, you don't have to take our word for it. You can read the request code on GitHub or run the app from your own clone.

How to change primary and secondary models?

You pick a provider (Google, OpenAI, Anthropic, or OpenRouter) in Settings, not individual models. Each provider ships with two fixed defaults, chosen from our benchmarks: a Primary model that writes each spec patch (and handles voice), and a cheaper Secondary model that fills per-row AI cells in bulk.

To change the Primary or Secondary model, or add new models, edit the models.json file and rebuild. (A rebuild is required: the catalogue is compiled into the app bundle, so editing the file in a deployed directory has no effect.)

What file formats does TamedTable support?

You can open CSV, JSONL, Parquet, and Arrow/Feather files directly, by local file, URL, or one of the bundled samples. Everything is parsed in your browser; there is no server.

Transforms run on DuckDB, so once a table is loaded you also have its full SQL engine. You can save back to any of the four formats too: the web app saves in whatever format you opened, and the desktop CLI lets you pick (e.g. :save clean.parquet).

Where is the privacy policy and EULA?

There is no privacy policy because you send us no data. TamedTable is purely client-side JavaScript, running in your browser. That is also why you have to enter your API keys again whenever you switch browsers: we don't have a server. We don't use cookies.

There is no separate EULA either: TamedTable is source-available (BUSL), so your use is governed by its license on GitHub.

That said, note that:

  1. When adding your provider's API key, check that provider's privacy policy and EULA.
  2. For analytics, we use privacy-first Cloudflare Web Analytics.

But isn't my data sent to third-party AI models?

Not necessarily. You can run TamedTable on your own internal server and change the code to connect to an LLM that you host yourself.

What license is BUSL?

The Business Source License 1.1 (BUSL): all the source is public and you can use, modify, self-host, and redistribute it freely, with one restriction, with each release automatically becoming MIT four years after it ships. Projects such as MariaDB, HashiCorp's Terraform and Vault, and Sentry use or used the same license.

The one restriction: selling TamedTable itself, as a product or hosted service, needs a commercial license from the author. It stops large clouds from monetizing the project without giving back, while the code stays open for everyone else, hence "source-available" rather than OSI-certified "open source".

What is the business model?

There isn't one. TamedTable is free and source-available; the only thing you pay for is your own API usage, to your provider.

The author built it to learn:

  1. The craft of AI-driven SDD/BDD/TDD (Spec/Behavior/Test-Driven Development).
  2. How to create Software 3.0.

Is TamedTable developed using AI?

Is the Pope a Catholic?

Yes, it was developed using AI, meaning you can take the entire specification and recreate it to your desires.

But AI code is not good!

Well, you win some, you lose some.

Yes, you don't have humans micromanaging every line of code. But:

  1. AI makes having over 600 test scenarios, a detailed specification, and an app broken into packages really easy. When code becomes cheap, QA and architecture changes become easy.
  2. This app was developed in two months by a single person. Without AI, the author would need a team of people: a backend dev, a frontend dev, a designer, etc. Those people need to pay their bills, so this software would be proprietary, paid SaaS. TamedTable is a free, source-available, client app, exactly because of AI.