Context-grounded · Local-first

Give your data a mind of its own.

DBMind AI indexes only the data you approve, retrieves the exact context, and answers from it alone — never inventing a number, never writing raw SQL. Your rows stay on your server.

Free tier No card required Self-host or cloud
Qdrant / Ollama / Laravel / PostgreSQL / MySQL / nomic-embed-text / llama3.2 / Qi Card / Sanctum / Qdrant / Ollama / Laravel / PostgreSQL / MySQL / nomic-embed-text / llama3.2 / Qi Card / Sanctum /

0

Hallucinations, by design

0-dim

Local embeddings, never sent out

0K

Free context tokens / month

0%

Answers traceable to a source

The pipeline

Three moves between
question and answer.

Like a thought crossing the brain, a query is embedded, routed through your approved vectors, and resolved into an answer that can only come from your data.

orders password QDRANT
01

Move 01

Approve & index

Allowlist the tables and columns that matter. DBMind embeds them locally into Qdrant. Passwords, tokens, secrets and API keys are stripped before a row ever leaves.

tenant filter question top-k · score 0.83
02

Move 02

Retrieve

Each question is embedded and matched against your vectors — tenant and security filters applied first. Only the top-scoring context moves forward.

orders:42 regions:3 context-only · 0 SQL
03

Move 03

Answer

The gateway answers from that context alone, citing sources. If the context is empty, it tells the truth: it does not know.

Live wire

Watch a question
become an answer.

A real session, replayed: every stage lights up as the query crosses the pipeline — and every answer points back at a row.

dbmind · live session

Why it can't lie

  • The model only ever sees the retrieved snippets — not your schema, not your database.
  • Denied columns are stripped before indexing, so they can't even be retrieved.
  • Empty context returns "I don't know" — honesty is hard-coded.

0 SQL

written by the model in cloud mode

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 a row you approved.

Context-only answering

No outside knowledge. No invented fields, prices, counts or dates. Empty context returns “I don’t know”.

No raw SQL, ever

The model never writes SQL in v1. At most it emits a validated, structured plan — you stay in control.

Local embeddings

Vectors are computed on your server with nomic-embed-text. Your data never leaves to be embedded.

Column deny-list

password, token, secret, api_key and friends are blocked in SourcePolicy::sanitize — enforced, not optional.

Usage & quotas

Per-project metering, monthly token limits and per-minute rate limits — visible in your dashboard.

Self-host or hosted

Run the gateway against a local Ollama, or let the hosted DBMind cloud validate keys and quotas for you.

Security posture

Your data never
leaves the room.

The SaaS stores only hashes, metadata and token counts — never your raw context. API keys are hashed at rest. Embeddings run locally even in cloud mode.

Only allowlisted sources are ever indexed

Sensitive columns blocked before retrieval

Tenant filters applied before context is returned

Raw customer context is never persisted by default

SourcePolicy::sanitize()
// blocked before a row is ever embedded
$deny = ['password', 'token', 'secret',
        'api_key', 'remember_token'];

foreach ($row as $col => $val) {
    if ($denyList->blocks($col)) {
        continue; // never leaves the database
    }
    $context[$col] = $val;
}

For developers

One composer require
and you're live.

A Laravel package, a Docker one-liner for Qdrant, two Ollama models. The install wizard walks you from zero to your first grounded answer.

$ composer require dbmind/laravel-sql
php artisan dbmind:install
 Which provider should DBMind use?
 ● Local Ollama  ○ DBMind Cloud
 Database connection?
 ● mysql (shop_production)
 Tables to make answerable?
 ◼ orders  ◼ products  ◼ customers  ◻ migrations
 ⨯ password, remember_token auto-blocked
 Creating Qdrant collection dbminddone
 Indexing 3 sources… ▰▰▰▰▰▰▰▰▰▰ 1,284 records
  Try it: php artisan dbmind:test "Which products are out of stock?"

Pricing

Start free. Scale when your
data starts answering back.

Every plan keeps embeddings local. Upgrade pays through Qi Card; the free tier never asks for a card.

Starter

Free forever

For a first taste of context-grounded answers.

$0 / month
Start for free
  • 1 project
  • 100K context tokens / month
  • Local Qdrant + Ollama embeddings
  • 30 requests / minute
  • Community support
Most popular

Pro

For teams shipping AI on top of real data.

$49 / month
Choose Pro
  • 5 projects
  • 1M context tokens / month
  • 8K tokens of retrieved context per answer
  • 120 requests / minute
  • Email support
  • Usage analytics

Business

For scale, with room to grow across products.

$199 / month
Choose Business
  • 25 projects
  • 10M context tokens / month
  • 16K tokens of retrieved context per answer
  • 600 requests / minute
  • Priority support
  • Tenant security filters

Prices in USD · billed in IQD via Qi Card · cancel anytime

Before you ask

The questions everyone
asks first.

Read the full FAQ

No — indexing and embeddings run locally. Only the question and the few retrieved snippets are sent to phrase an answer.

Not in cloud mode. Answers come only from retrieved context, so there is nothing to inject and nothing to leak.

Yes — point the package at your own Ollama and the entire stack runs on hardware you control.

Let your database
think out loud.

Create a free project, connect a source, and ask your first grounded question in minutes.