Grounded in real rows · SQL you can audit

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.

Free tier No card required Self-host or cloud
OpenRouter / Laravel / PostgreSQL / MySQL / MariaDB / SQLite / AES-256-GCM / Ollama / Qi Card / Sanctum / OpenRouter / Laravel / PostgreSQL / MySQL / MariaDB / SQLite / AES-256-GCM / Ollama / Qi Card / Sanctum /

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.

orders password SELECT
01

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.

SqlGuard SELECT read-only · LIMIT 3
02

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.

orders users real rows · 1 SELECT
03

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.

dbmind · live session

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

Run this on your own data →

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

SqlGuard::validate()
// 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
php artisan dbmind1:install
 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 forever

For a first taste of answers grounded in your rows.

$0 / month
Start for free
  • 1 project
  • 100K tokens / month
  • Guarded SQL runs on your server
  • 30 requests / minute
  • Community support
Most popular

Pro

For teams shipping AI on top of real data.

$49 / month
Choose Pro
  • 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.

$199 / month
Choose Business
  • 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

Before you ask

The questions everyone
asks first.

Read the full FAQ

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.