Data quality service

Know which data you can trust

DQaaS is a data quality service. Developers, analysts and data teams use DQaaS to profile datasets, check them against rules, score their quality and keep a governed catalogue, from a web console, a REST API, a CLI or an AI assistant.

Need an invite? Request an invite or write to [email protected]

Ways to use

Four ways to use it

  • CLI

    A single native command-line program that profiles and checks files on your own machine with no server and nothing uploaded. It also works as a client for the hosted API.

    dqaas run customers.csv -o report.html
  • API

    REST with a generated OpenAPI document: register sources, run jobs, manage rules and read the catalogue and reports.

    GET /v1/datasets/{id}/report?format=md
  • MCP

    Give an AI assistant the same access: a local MCP server that can also profile a file on your machine, and a hosted MCP endpoint that uses your access token.

    POST /mcp  (Authorization: Bearer dqat_...)
  • In the browser

    Attach a file and profile it on your own device. Nothing is uploaded.

    Open Attach locally in the console

All four share the same checks and report format. Browser results are computed on the device.

Process

How it works

  1. Connect or upload

    Upload a file or register a URL or table in a project.

  2. Profile and check

    DQaaS profiles every column, suggests rules, runs them and scores the dataset.

  3. Catalogue and report

    Add owners, descriptions and classifications, track lineage and export a report.

CLI

export DQAAS_URL=https://your-dqaas-host
dqaas login --token dqat_...
dqaas upload orders.csv --project PROJECT_ID --wait
dqaas analyze DATASET_ID --wait
dqaas rules DATASET_ID --suggest
dqaas report DATASET_ID --format html -o report.html

REST API

POST /v1/datasets/upload
POST /v1/datasets/{id}/analyze
GET  /v1/datasets/{id}/rules/suggestions
GET  /v1/datasets/{id}/report?format=md
GET  /v1/catalogue/search?q=customer
Authorization: Bearer dqat_...

Features

Capabilities

  • Included

    Ingest files and sources

    Start from what you already have.

    Upload CSV, TSV, JSON, JSONL, Parquet, Avro, Arrow, XLSX or embedded database files, or register an HTTPS URL or a read-only Postgres table. The format is detected from content and name.

  • Included

    Profiling

    See what is really in a column.

    Types, null and distinct counts, value statistics, placeholder detection, and schema and statistical drift between profiles.

  • Included

    Quality rules and scoring

    One score per dataset, with the failing rows counted.

    Suggested rules from the profile, rule packs and your own checks. Each rule reports failed over total rows; scores are weighted by severity and grouped by quality dimension.

  • Included

    Sensitive-column detection

    Find likely personal data early.

    Name and pattern heuristics flag columns such as email, phone or date of birth. Findings are labelled inferred, and sensitive sample values are redacted.

  • Included

    Profile on your own device

    Check a file without sending it anywhere.

    Attach a CSV, TSV, JSON, JSONL, Parquet, Avro, XLSX, Arrow or embedded database file and profile it on your own device; the file never leaves it. Optionally publish only the profile and rule results to the catalogue. Browser results are computed locally and are not verified by the server.

  • Included

    Catalogue and governance

    Everyone finds the right table and who owns it.

    Full-text search, glossary, column descriptions and classifications, policies and violations, stewardship tasks and coverage indicators.

  • Included

    Lineage and impact analysis

    Know what breaks downstream.

    Lineage edges are inferred or verified (verified requires evidence). Column-level lineage can be parsed from SQL you supply; it is inferred, labelled as parsed and never observed, and anything that cannot be resolved is listed, not guessed. Impact analysis runs upstream or downstream, optionally on verified edges only.

  • Included

    Reports

    Share results with people who never log in.

    Dataset and project reports as JSON, Markdown, HTML or PDF.

  • Included

    REST API, OpenAPI, CLI and MCP

    Fit it into pipelines and assistants.

    A bearer-token REST API with a generated OpenAPI 3.1 document, a command-line client, and MCP servers (a local one with 51 tools and a hosted one with 50) that sign in with your access token or OAuth.

  • Included

    Duplicate, reconciliation and semantic checks

    Catch problems a simple rule misses.

    Fuzzy near-duplicate detection, reconciliation of two datasets (row counts, aggregates, key sets), and inferred semantic and secret types for 25 kinds of value. Fuzzy matches and types are inferred, never proof.

  • Included

    Data contracts and lineage standards

    Work with the rest of your stack.

    Import and export Open Data Contract Standard (ODCS v3.2.0) rules, and export or ingest OpenLineage events. Only the rule parts of a contract are imported, and anything that cannot be mapped is listed, not guessed.

  • Included

    Drift and mergeable profiles

    See change, and combine partitions.

    Distribution drift (PSI, KS, JS, chi-square) between profiles, and estimated distinct counts and quantiles merged across partition profiles without re-reading the data.

  • Included

    Metrics and telemetry

    Watch quality in the tools you already use.

    A Prometheus endpoint with per-dataset quality gauges, and an optional OpenTelemetry (OTLP) export of operator-level job metrics for self-hosting.

  • Included

    Roles, tokens and audit log

    Control and trace access.

    Viewer, editor, admin and owner roles, scoped and revocable access tokens, and a hash-chained audit log with a verify endpoint.

  • Included

    Quotas and usage metering

    See what you use.

    Monthly quotas with usage shown in the console and API.

  • Included

    Interval and cron schedules

    Re-check data on a rhythm.

    Recurring jobs on a fixed interval (5 minutes to 1 year) or a 5-field cron expression in UTC, at most every 5 minutes.

Audience

Who it is for

  • Developers and data engineers

    Add checks to pipelines through the CLI or REST API.

  • Analysts

    See which tables are trustworthy before building on them.

  • Data teams and stewards

    Track ownership, classification and open stewardship tasks.

  • AI-assistant users

    Query quality and catalogue data through MCP.

Data handling

Data handling principles

  • Source rows are transient: they are processed for the job and deleted at its end. Uploads are kept only if you ask.
  • Metadata is persisted: profiles, rule results, scores, catalogue entries and an audit log.
  • Sensitive values are redacted: sensitive columns store no top values, no min/max and no failing examples.
  • Strict privacy mode stores no sample values at all.
  • Remote sources are checked against SSRF: only HTTPS, no embedded credentials, and hosts resolving to private or loopback addresses are blocked on every redirect.
  • Findings are labelled inferred or verified. Sensitive-column detection and relationships are inferred; lineage is verified only with evidence.
  • No accuracy claim without reference data: DQaaS reports completeness, validity, uniqueness and similar checks, not accuracy.
  • In-browser mode: files are profiled on your own device and never leave it.

See the security page for controls and their limits.

Cost

Pricing

Free during launch. All accounts are free, with these limits per month:

  • 1 GB of data scanned
  • 10 minutes of compute
  • 2 scheduled jobs
  • 50 MB of stored metadata

Pricing will be announced before any charge.

Status

Build status

As of 2026-10-31. We list what is released, what is still being built and what has not been confirmed outside our own tests.

  • Released
    • Version 0.3.0: command-line program and MCP server for Linux x86_64, Linux arm64 and macOS on Apple silicon, with checksums, the licence files and third-party notices in each archive. It adds the typed commands for schedules, lineage from SQL, drift, packs, billing and more, and the new report colours. The installer was run against the live download on all three platforms.
    • Hosted API, MCP endpoint and console are live.
    • Automated tests on the 0.3.0 build: 275 server-side tests pass on each of Linux x86_64, macOS arm64 and Linux arm64 (the arm64 Linux run used a build with symbols stripped to save disk space). An earlier intermittent process crash at exit on macOS was a test that returned while a background job was still running, now fixed in the tests (0 crashes in 210 repeat runs on macOS, and the 0.3.0 macOS run finished cleanly). The same hazard existed in the shipped server on shutdown: it now stops its job workers and waits for running jobs before exiting, with tests, including one that runs the real server and sends it SIGTERM and SIGINT mid-job (Linux only; not run on macOS). 157 console tests pass. The code now on the hosted service passes 283 server-side tests on Linux x86_64; macOS and Linux arm64 have not been re-run on it.
    • Security: a review of the latest changes found 1 high, 1 medium and 6 low issues, all fixed and covered by regression tests. A dependency audit found no known vulnerabilities in 346 server-side packages and 380 console packages (checked 2026-10-31). A second review of the new billing endpoint found 2 medium and 5 low issues, none critical or high, all fixed and covered by tests that failed before the fixes; two low-risk hardening ideas were deliberately left out and are listed in the published limitations.
    • Fixed in the latest release: profiling failed for any dataset that had a column named k (and could mis-handle a few other short column names), on the hosted service and in the browser. It is covered by tests that failed before the fix.
    • Live now on the hosted service and console: cron schedules, column-level lineage from SQL, 50 hosted MCP tools, and in the browser report export (including a PDF), ODCS export, Avro and XLSX loading and mergeable sketches. HTML reports from the hosted service now use the DQaaS colours, in light and dark. The OpenTelemetry export can now trust a private certificate authority that you supply, so it works with a collector on an internal https address.
  • Built but not yet verified in the real world
    • Profiling and the new browser features (reports, contracts, URL load) are tested in automated environments, not yet confirmed in a real browser. URL load now works for any https host that allows cross-origin reads; the site's security policy was widened to allow that, which is a deliberate trade-off recorded in the published limitations.
    • Loading Arrow IPC and embedded database files in the browser (you pick which tables of an embedded database to load; binary columns and nested Arrow types are not supported) is tested in a Node harness against the same engine, not yet in a real browser.
    • Cron schedules and column-level lineage are tested in-process and on the deployed build's routes (mounted, authenticated), not yet exercised with a live token.
    • Hosted MCP sign-in with OAuth: tested with a scripted client, not yet with a real MCP client.
    • Prometheus and OpenTelemetry export: checked once against a real Prometheus (v2.55.1) and a real OpenTelemetry Collector (0.111.0) in an isolated setup, not yet in a production monitoring stack. Export to a real https collector and to vendor receivers such as Grafana or Datadog is untested. The private certificate authority option was tried only against a local test collector with a generated certificate. The export still refuses plain http to anything but localhost.
    • Mergeable sketches and PDF export in the browser: the browser sketch matches the one the hosted service makes for the same rows, and the PDFs open in Apple's PDF reader, but neither has been tried in a real browser. A sketch made in the browser merges with other browser sketches of the same dataset, not with a profile made by the hosted service, because the service keeps its hashing salt secret.
    • GitHub sign-in: tested against a simulated provider and in the first live sign-ins only.
    • Billing through Paddle (signed webhooks, checkout and plan sync) is built and deployed switched off. It has been tested against Paddle's documented formats only, never with a real Paddle account, so no paid plans are offered.
  • Not built
    • Windows command-line build.
    • Merging a browser-made sketch with a profile made by the hosted service.
    • Paid plans: not offered yet. All accounts are free during launch.
    • Encryption of the live stored metadata at rest: credentials and fetch URLs are encrypted individually and all stored database backups are encrypted (the older plaintext copies were deleted on 2026-10-31 after each encrypted copy was checked against its original), but the live metadata (profiles, rules, catalogue) is not, and the production server disk is not yet encrypted. Backups can only be read with a private key held on the owner's laptop.
    • Any certification or compliance attestation.

Next

Roadmap

  • Roadmap

    Paid plans through Paddle, after testing with a real Paddle account

  • Roadmap

    Single sign-on beyond GitHub

  • Roadmap

    Windows command-line build

  • Roadmap

    OpenTelemetry traces and logs (metrics export exists)

FAQ

Frequently asked questions

What is DQaaS?

DQaaS is a data quality service. It profiles datasets, checks them against rules, scores their quality and keeps a governed catalogue with lineage, reports and an audit log. You can use it from a web console, a REST API, a command-line program, an MCP server for AI assistants, or in the browser on your own device.

Can I try it without an account or a server?

Yes. Install the command-line program and run it on a file: it profiles and checks the file on your own machine, writes a report as Markdown, HTML, PDF or JSON, and uploads nothing. Run dqaas run customers.csv -o report.html.

Which platforms does the command-line program support?

Linux x86_64, Linux arm64 and macOS on Apple silicon. A Windows build does not exist yet.

Does it work with Prometheus, OpenLineage and data contracts?

Yes, within limits. It serves per-dataset quality gauges to Prometheus, exports and ingests OpenLineage events, and imports and exports the rule parts of Open Data Contract Standard (ODCS v3.2.0) contracts. Anything that cannot be mapped is listed, not guessed.

Does DQaaS store my data?

Not your rows, unless you ask. On upload, source rows are processed for the job and deleted when it ends; an upload is kept only if you choose to retain it. Metadata is persisted: profiles, rule results, scores, catalogue entries and audit records. Sensitive values are redacted, and strict privacy mode stores no sample values at all.

Can I check a file without uploading it?

Yes. Attach a CSV, TSV, JSON, JSONL, Parquet, Avro, XLSX, Arrow or embedded database file and it is profiled on your own device; the file never leaves it. Those results are computed locally and are not verified by the server. You can publish just the profile and rule results to the catalogue.

Which formats are supported?

Upload: CSV, TSV, JSON, JSONL, Parquet, Avro, Arrow, XLSX and embedded database files, plus HTTPS URLs and read-only Postgres tables. On your own device: CSV, TSV, JSON, JSONL, Parquet, Avro, XLSX, Arrow and embedded database files (pick which tables).

How is quality scored?

Each rule counts failed rows against total rows, giving a score from 0 to 1 that passes at its threshold. Rule scores are weighted by severity and grouped by quality dimension into an overall dataset score.

Is accuracy measured?

No. Accuracy needs trusted reference data, which DQaaS does not have. It reports completeness, validity, uniqueness and similar checks, and makes no accuracy claim without reference data.

How reliable is sensitive-data detection?

It is heuristic, based on column names and value patterns, so it can miss or misflag columns. Findings are labelled inferred. Use strict privacy mode if a miss is unacceptable.

What does it cost?

Nothing during launch. All accounts are free with monthly limits (1 GB scanned, 10 minutes of compute, 2 scheduled jobs, 50 MB of stored metadata). Pricing will be announced before any charge.

How do I sign in?

Sign in with GitHub on the sign-in page. Access can also be by an access token for automation.

How do I connect an AI assistant?

The CLI includes a local MCP server with 51 tools, and a hosted MCP endpoint exposes 50 of them with your token or OAuth sign-in. Tools cover dataset listing, profiling, rule suggestion and acceptance, drift, reports, contracts, glossary, stewardship tasks, schedules, lineage and impact analysis.

Is DQaaS certified or compliant with a standard?

No certification or compliance attestation is claimed. See the security page for the controls that exist and their limits.