> ## Documentation Index
> Fetch the complete documentation index at: https://docs.speckle.systems/llms.txt
> Use this file to discover all available pages before exploring further.

# Data Validation

> Use Validation Checks and Standards to validate models and track results over time.

This page covers Data Validation concepts, core objects, setup flow, and project-level entry
points. It does not cover dashboard widget validation paths; for widget-based validation, see
[Validation Widgets in Dashboards](/analytics/dashboards/validation-widgets) (draft).

## Why teams adopt it

Use it when validation rules must stay stable across iterations or across people—for
repeatable QA, shared predicates and thresholds, and pass-rate comparison as versions ship.

## Core objects

**Validation checks** execute saved rules against tracked models when you run manually or when
auto-run triggers on new versions.

**Standards** store project-scoped rule templates that you reuse when creating checks.

A **result** captures one completed run with scores, per-rule statuses, counts, and failing
element links.

**History** orders past results for a check so you can compare trends across versions.

## Quickstart

The [end-to-end flow](#end-to-end-flow) is the single setup path from authoring to result review.

## End-to-end flow

You need at least one published model version in the project.

<Steps>
  <Step title="Choose mode">
    Open **Data Validation** and pick **check** or **standard**.
  </Step>

  <Step title="Author or import rules">
    Use `WHERE` / `CHECK`, or import **IDS**, **COBie**, or **Speckle** bundles.
  </Step>

  <Step title="Run preview">
    Validate filters on real data before save. **Run Preview** or `Ctrl+Enter` /
    `Cmd+Enter`.
  </Step>

  <Step title="Save">
    **Check:** name, optional description, scoped models, manual or auto-run on new
    versions. **Standard:** stored for spawning checks later.
  </Step>

  <Step title="Track results">
    Open the check result page; expand rules and models to see filter-step counts when
    debugging failures.
  </Step>

  <Step title="Share outcomes">
    Export **BCF** from result views where coordination tooling expects it.
  </Step>
</Steps>

### After the first pass

For authoring details and run analysis, see [Checks](/analytics/data-validation/checks),
[Standards](/analytics/data-validation/standards), and
[Viewing Results](/analytics/data-validation/viewing-results).

## Navigate from project sidebar

In the project sidebar:

* **Data Validation**
* **Run check** — draft / preview without persisting yet
* **Checks** — saved checks (rename only in v0; see Checks page)
* **Project standards** — create / import standards

## Progressive implementation sequence

**Explore** — run preview on real revisions first so scope errors show before saving ([Run a first
check](/analytics/data-validation/checks#run-a-first-check)).

**Persist** — save against tracked models so reruns stay comparable over time ([Operate checks over
time](/analytics/data-validation/checks#operate-checks-over-time), [Practical review
flow](/analytics/data-validation/viewing-results#practical-review-flow)).

**Scale** — reuse one standard across checks so shared logic stays aligned ([Standards to checks
flow](/analytics/data-validation/standards#standards-to-checks-flow)).

## Start here

<CardGroup cols={2}>
  <Card title="Run and manage checks" icon="play" href="/analytics/data-validation/checks">
    Rules, preview, thresholds, saves, tracked models.
  </Card>

  <Card title="Create project standards" icon="file-text" href="/analytics/data-validation/standards">
    Templates and interoperability imports inside a project.
  </Card>

  <Card title="Interpret results" icon="chart-column" href="/analytics/data-validation/viewing-results">
    Latest versus history, statuses, drills.
  </Card>

  <Card title="Using dashboard widgets instead?" icon="layout-grid" href="/analytics/dashboards/validation-widgets">
    Dashboard widget validation is documented in [Validation Widgets in
    Dashboards](/analytics/dashboards/validation-widgets) (draft).
  </Card>
</CardGroup>

## Plan availability

Caps differ mainly on whether checks persist and whether multiple models attach per check.

<AccordionGroup>
  <Accordion title="What Model Validation (beta) features do I get on each plan?">
    **Explore (Free):** in-session authoring and preview only; no saved checks or preserved
    history.

    **Team (Business):** saved checks and trends for **one** tracked model per check.

    **Enterprise:** multi-model checks and **project standards** on the same authoring
    stack.
  </Accordion>
</AccordionGroup>

## FAQ

<AccordionGroup>
  <Accordion title="Should I start with a check or a standard?">
    Start with a **check** when you are validating one concrete requirement against
    active models. Start with a **standard** when you want reusable rules that multiple
    checks can inherit.
  </Accordion>

  <Accordion title="Do checks run automatically?">
    Checks can run in manual mode or auto-run on new model versions, depending on check
    trigger settings.
  </Accordion>

  <Accordion title="Where do I inspect detailed outcomes?">
    Open the check detail page to inspect latest and historical rule outcomes. See
    [Viewing Results](/analytics/data-validation/viewing-results).
  </Accordion>

  <Accordion title="Can I still use dashboard widgets for validation?">
    Yes. Widget-first validation is documented in [Validation Widgets in
    Dashboards](/analytics/dashboards/validation-widgets).
  </Accordion>
</AccordionGroup>
