Security

Your data never leaves your machine.

Built first for teams whose data can't go to an outside service: banks, insurers, healthcare and public bodies.

YOUR MACHINE
Your datafiles · DuckDB · SQL
Datainspecreads, compares, reports
Your recordsreports · decisions

No data, profile or finding is sent to us. No telemetry.

Read-only
It never writes to your sources. Tested against hostile queries in layers; every gap found was closed.
Share-safe reports
Export a report with no values from the data: counts and statistics only.
Every decision recorded
Approvals, blocks and rollbacks keep the person, the time and the reason.
Air-gapped sites
Signed bundles move approved baselines between isolated systems.

Read-only, in layers

It reads your sources. It never writes to them.

Every connection gets the strongest read-only mode its database offers, and every query passes a guard before it runs. Datainspec records which protection was in effect for each connection.

At the connection

DuckDB
Opened read-only: the database itself refuses any write.
SQLite
A file path is opened in read-only mode before anything else happens.
PostgreSQL
A read-only transaction. And it refuses to connect at all with a superuser, or with a role that can run programs or read and write files on the server.
MySQL, MariaDB
A read-only session.
Anything else
A plain warning that no driver-level mode applies, so only the query guard protects you, and a recommendation to connect with a SELECT-only user.

Before every query

  • One statement only. A semicolon outside quotes and comments is refused, which stops a whole family of piggy-backed commands without having to know them in advance.
  • No write or schema keywords. Checked with every quoted string and comment blanked out first, so a keyword can neither hide inside a string nor trip the guard by being quoted.
  • Your files stay as they are. Datainspec keeps its own records and reports in a separate working folder.

Whatever the database, connect with a user that can only SELECT. The layers above are there for when that wasn't possible.

What stays on your machine

Everything it learns, and everything it finds.

No telemetry

No data, profile or finding is sent to us, and no usage statistics either. Scanning needs no internet connection.

Explanations, written locally

By default each finding is explained from a template. If you install a local model, it sees only the finding's summary, never a row of data, and every column and number it mentions is checked against the finding. If it invents one, it is asked again, and then the template is used.

Your records, your folder

Profiles, approved versions, decisions and reports live in Datainspec's working folder on your machine, separate from your sources.

Sharing and moving

Proof leaves. The data doesn't.

Share-safe reports

Counts, rates and test statistics, with every id and value withheld or replaced by a digest made with your own key, so the same value gives the same digest across your reports. Notes and reasons people typed are left out by default, because they can quote data values. Column, dataset and reviewer names stay.

Air-gapped sites

A bundle carries one dataset's approved versions, decisions and, if you choose, its snapshots, signed with an Ed25519 key. The import trusts only the public key you give it, never one the bundle names; a dry run shows what it would change first; importing twice changes nothing, and two conflicting histories are refused, not merged silently.

For security and IT reviewers

The questions a review asks.

Does my data leave my machine?

No. Datainspec runs where your data is and sends nothing to us: no data, no profile, no finding, and no telemetry.

Does it change my data?

No. It only reads your sources, with read-only access enforced in layers and tested against hostile queries. Its own records and reports are stored separately.

Who did what, and when?

The audit log keeps every approval, block, rollback, role correction and threshold override, with the person, the time and the reason. Filter it and export it as CSV. Each approved version also has its own approval certificate.

Can I share a report without sharing data?

Yes. A share-safe export contains no values from the data: counts, rates and statistics only, with ids and values withheld.

Can it run in our pipeline?

Yes. Run it from the app, or from your own CI. Exit code 0 means clear, 1 warning, 2 blocked, 3 the scan failed. Datainspec gives the verdict; your pipeline decides what to do with it.

Does it use AI?

The checks are statistical and rule-based, and each finding shows its evidence. Explanations are written from templates, or by a local model on your machine if you install one.

Run it where your data already is.

A pilot installs on your machines. Nothing is sent to us.