Give your data a mind of its own.
Ask your database questions in plain language. DBMind AI writes one guarded, read-only SELECT, runs it on your own server, and answers from the real rows — never inventing a number. The cloud never touches your database.
0
Hallucinations, by design
0
Guarded, read-only SELECT per answer
0K
Free tokens / month
0%
Answers traceable to the exact query
The pipeline
Three moves between
question and answer.
The model writes one read-only SELECT, your server guards and executes it, and the answer is phrased from the rows that actually came back — nothing else.
Move 01
Write the SQL
The model sees a sanitised schema of your approved tables — real foreign keys, indexed columns — and writes exactly one SELECT. Passwords, tokens, secrets and API keys are stripped before the schema ever reaches it.
Move 02
Guard & execute
SqlGuard rejects anything that isn't a single read-only SELECT on approved tables with an enforced LIMIT. The query runs on your server, on a read-only connection, under a statement timeout.
Move 03
Answer from real rows
The result rows — capped and sanitised — go back to the model, which phrases a grounded answer. If the query returns nothing, it tells the truth: no matching records.
Live wire
Watch a question
become an answer.
A real session, replayed: every stage lights up as the question becomes a guarded query — and every answer points back at the exact SQL that ran.
❯
Why it can't lie
- The model never gets a database connection — it only writes the query; your server runs it.
- SqlGuard rejects anything but a single read-only SELECT on approved tables.
- Answers are phrased only from the rows that came back — no rows, no claims.
1 SELECT
per answer — guarded, read-only, auditable
The platform
Engineered to never make things up.
Every layer is built around one rule: an answer must be traceable to rows your database actually returned.
Answers from real rows
Every answer is phrased from the rows the guarded query returned. No outside knowledge, no invented numbers — no rows, no claims.
One guarded SELECT
SqlGuard allows exactly one read-only SELECT — approved tables only, no comments or stacked statements, an enforced LIMIT, never SELECT *.
JOINs along real foreign keys
The model is given your actual foreign keys and indexed columns, so cross-table questions join the way your schema intends.
Column deny-list, three ways
password, token, secret, api_key and friends are stripped from the schema, rejected in queries, and removed from result rows.
Usage & quotas
Per-project metering, monthly token limits and per-minute rate limits — visible in your dashboard.
Encrypted by default
In cloud mode, names, emails and phone numbers leave your server only as AES-256-GCM ciphertext the model copies blindly — the package decrypts the answer locally, and the key never leaves your server.
Self-host or hosted
Point the package at your own Ollama, or let DBMind Cloud write the SQL with frontier models via OpenRouter — and validate keys and quotas for you.
Security posture
Your data never
leaves the room.
The cloud never gets a connection to your database — SQL is guarded and executed on your own server in every mode. The SaaS stores only hashes, metadata and token counts. API keys are hashed at rest.
Every generated query passes SqlGuard on your server
Read-only connection with a database-side statement timeout
Sensitive columns blocked in the schema, the SQL and the rows
Schema metadata and result rows are never persisted by the cloud
// every generated statement must pass $guard->assertSingleSelect($sql); // no DML, no comments $guard->assertApprovedTables($sql); // FROM + JOIN targets $guard->assertNoDeniedColumns($sql); // password, token, … $guard->assertNoStarSelect($sql); // name every column $guard->enforceLimit($sql); // always capped // then: read-only connection + statement timeout $rows = $readOnly->select($guarded->sql);
For developers
One composer require
and you're live.
A Laravel package and an API key — or your own Ollama with one SQL-capable model. No vector database, no embeddings, no indexing pipeline. The install wizard walks you from zero to your first grounded answer.
composer require dbmind/laravel-sql
┌ Which provider should DBMind use? │ ● DBMind Cloud ○ Local Ollama ├ Database connection? │ ● mysql (shop_production) ├ Which tables should the AI NOT answer from? │ ◼ migrations ◼ jobs ◼ sessions ◻ orders ◻ products ├ ⨯ password, remember_token auto-blocked ├ Auto-configuring 12 tables… keys · columns · join paths ✓ └ ✓ Try it: php artisan dbmind1:test "top 3 customers by spend" --show-sql
Pricing
Start free. Scale when your
data starts answering back.
Every plan guards and runs the SQL on your own server. Upgrade pays through Qi Card; the free tier never asks for a card.
Starter
Free foreverFor a first taste of answers grounded in your rows.
- 1 project
- 100K tokens / month
- Guarded SQL runs on your server
- 30 requests / minute
- Community support
Pro
For teams shipping AI on top of real data.
- 5 projects
- 1M tokens / month
- 8K tokens per request
- 120 requests / minute
- Email support
- Usage analytics
Business
For scale, with room to grow across products.
- 25 projects
- 10M tokens / month
- 16K tokens per request
- 600 requests / minute
- Priority support
- Usage analytics
Prices in USD · billed in IQD via Qi Card · cancel anytime
Your database never does — the cloud never gets a connection. Each question sends only the approved schema metadata and, after your server has run the guarded query locally, its capped, sanitised result rows for phrasing.
It writes SQL but can never run it. Every statement must pass SqlGuard on your server — one read-only SELECT, approved tables only, enforced LIMIT — and executes on your local read-only connection.
Yes — point the package at your own Ollama with a SQL-capable model and the entire flow runs on hardware you control.
Let your database
think out loud.
Create a free project, install the package, and ask your first grounded question in minutes.