← Blog
governancetext-to-sqlaitrustsecurityanalytics

The SQL Was Never the Hard Part

Savvina AI Team ·

Ask an AI copilot to turn a question into SQL today and it will nail it almost every time. That was the hard part three years ago. It isn’t anymore — every major model vendor ships a text-to-SQL demo now, and most of them look identical. What almost none of them answer is the question that actually decides whether a business can use one: who is allowed to ask, what happens when the generated query is wrong, and can someone reconstruct six months later who saw what.

That gap is starting to matter more, not less. As more companies plug conversational AI directly into production databases, the tools proliferating fastest are the ones optimized for a good demo — not for the audit trail, the access control, or the cost line that shows up the first time a compliance officer or a CFO asks a hard question about the pilot.

Savvina, a self-hosted natural-language analytics platform, is built on the opposite bet: that generating correct SQL was already commoditized, and the product worth building is everything a business needs to actually trust and govern the answer.

What Savvina actually does

Savvina connects to a company’s existing databases — more than 20 kinds, from PostgreSQL and SQL Server to Snowflake, Databricks, and MongoDB — and gives every team a chat window instead of a ticket queue. A sales manager, a finance analyst, or an operations lead types a question in plain English and gets back an answer, no SQL and no waiting on an engineer. It runs on whatever AI provider the company already uses, and lives on the company’s own servers rather than a Savvina-run cloud.

Where the actual product is

The business risk was never bad SQL syntax. It’s a salesperson who can suddenly see payroll data, a runaway query that slows down the systems the rest of the company depends on, or a leadership team that can’t tell whether last quarter’s number came from a real answer or a confident guess. Those are the questions procurement and legal actually ask before an AI tool gets anywhere near production data — and they’re the questions a good demo never has to answer.

Savvina answers them by design. Every query is checked before it touches the database, so the worst a bad guess can do is return the wrong rows — never change any. Sensitive fields like salary or a national ID number are automatically kept out of what the AI sees and masked in what comes back, so a broad question can’t accidentally expose them. An admin decides, connection by connection, how much autonomy a team gets — fully hands-off for a sales dashboard, or every query held for a human to approve first for finance. And every answer is tied to who asked, when, and what it cost, so “who ran this and why” is a two-minute lookup instead of a forensic exercise.

The question everyone asks: how do you know it’s right?

It’s the first objection any technical buyer raises, and a fair one: a language model that writes confident, well-formatted SQL for the wrong join is worse than no answer at all, because it looks trustworthy. Savvina doesn’t claim to have solved that outright — nobody has. What it does is refuse to hide the question. Every answer comes back with the actual SQL that produced it, not just a number, so someone who knows the data can check it in seconds instead of taking it on faith. It also comes with a plain-English explanation of how the figure was arrived at — which filters were applied, which date field was used, what was counted and what was left out. For most of the people asking, that matters more than the SQL: a sales manager who can’t read a join can still read “this counts orders placed in Q3, excluding cancellations, dated by ship date” and say immediately whether that’s the question they meant. Each generated query also carries a confidence score, so a low-confidence guess reads as a guess instead of masquerading as a fact. For anything that matters, review-first mode holds the query for a human to approve before it ever touches the database.

The more interesting part is what happens after that. When someone who knows the data confirms an answer is right, Savvina keeps it as a verified example — and those examples aren’t just replayed for identical questions. They are handed to the model as worked examples the next time anyone asks something similar but new. In practice that means the system gradually learns how this particular business defines an active customer, which table the real revenue figure lives in, and how its own tables actually join together. Accuracy isn’t fixed at whatever the model knew on day one: it climbs as the people who understand the data use the tool, and the corrections they make stay made. The analysts who used to field those requests by hand end up teaching the system the routine half of their job once, instead of answering it every week — and the result is a tool that is most reliable exactly where the business asks most often.

Built for the 400-table ERP, not the six-table demo

Most text-to-SQL demos work great against a handful of tidy sample tables. Point the same tool at a real ERP with 400 of them, and it either gets confused or starts guessing table names — which is exactly the kind of failure that kills a pilot after the first hard question.

Savvina is built for the second case. When a team connects a database, it automatically builds a plain-language map of the schema — so a column like cust_acct_stat_cd becomes something a business user, and the AI, can actually work with — without a modeling project or a consultant engagement first. It also gets cheaper and faster the more people use it: a repeat or near-repeat question is recognized and answered instantly without calling the AI model again at all, which the team says cuts model usage by 40 to 60 percent within the first week.

Data locality is one more governance knob, not a separate pitch

The same instinct extends to which AI vendor sees anything at all. Savvina doesn’t bundle its own model — it plugs into whichever AI provider a company already has a contract and a security review for, so adopting it doesn’t mean starting a new vendor risk assessment from scratch. And because it’s self-hosted, the actual rows in the database never leave the company’s own infrastructure; only the shape of the schema and the question do. A company that needs to run with no internet connection at all can do that too. For a hospital network, a bank, or a law firm, that’s not a nice-to-have — it’s the difference between being allowed to pilot an AI tool and not.

It’s also where the company doesn’t try to win an argument it would lose. Databricks Genie and Snowflake Cortex Analyst are good, and if every table a company needs to query already sits inside one of those platforms, the native copilot is probably the right call — it’s a fair peer, not a worse product. But Savvina connects to Databricks and Snowflake too, as two of its 20-plus supported sources, rather than competing with them. For a company whose warehouse holds part of the picture and whose ERP, CRM, or production PostgreSQL holds the rest, Savvina can be the one governed interface across both — a single chat, one set of access rules, one audit trail — instead of a native copilot for the warehouse and something else, or nothing, for everything sitting outside it.

Why now

Every major model vendor, and a good chunk of this year’s startup batch, can wire a chatbot to a database now; that part of the problem stopped being differentiated a while ago. What’s proliferating alongside it is a quieter risk — AI tools connected directly to production data with no consistent answer to who’s allowed to ask, what a wrong answer costs, or who reviews it before it runs. As more companies move past the pilot stage and put these tools in front of non-technical staff, the governance question stops being optional and starts being the actual procurement conversation. That’s the opening Savvina is built around: not a better demo, but an answer to the questions that come up right after the demo.

What’s real today

Savvina is available now. The Community edition is free, self-hosted, and open on GitHub under BSL 1.1, converting to Apache 2.0 in 2030 — one user, PostgreSQL and MySQL, and whichever AI provider’s key the user brings. Commercial plans are what a team rather than an individual needs: more seats, the full set of 20-plus data sources, an audit log with retention the customer sets and can export to CSV, and single sign-on through SAML and Microsoft Entra ID for companies that won’t hand out another standalone login. What none of the plans do is charge per query. Because Savvina runs on the customer’s own AI provider account, heavy use lands on a contract the company already holds and already negotiated, rather than on a per-seat or per-question meter that punishes the teams who adopt it fastest.

There’s also a machine-facing side, which matters more than it sounds: service accounts with scoped API keys let a pipeline, a scheduled report, or an internal app ask the same governed questions a person would — with the same access rules, the same audit trail, and a key that can be limited to specific connections and revoked on its own. An MCP server is next, exposing that same governed pipeline to AI agents and coding assistants instead of to people. That’s a deliberate ordering: plenty of teams are currently pointing agents straight at a production database with no policy layer in between, and Savvina’s argument is that the thing an agent should be handed is the governed interface, not the raw connection string.

The team is small, and its own technical documentation is blunt about where the real work is: “Natural-language-to-SQL is the easy 20%. The other 80% is the governance, grounding and cost machinery that decides whether the answers can be trusted, by whom, and at what price.” That’s the part Savvina is betting customers will pay for — not the SQL generation itself, which is table stakes now, but everything that has to surround it before a business will actually trust the answer.

Try it

Community edition is a docker compose up away, free, on GitHub. Teams ready to skip the DIY route can see plan details on our pricing page; regulated or air-gapped deployments can reach the team directly at [email protected].


Further Reading