live · scheduled scans · Snowflake + Databricks

Alerts you'll act on.
Never alerts you'll mute.

Data-change intelligence for Snowflake and Databricks. AI-native, restraint-positive, transparent in what it costs and how it thinks. We watch your warehouse for the silent stuff — and only file a ticket in your tracker when it matters.

The problem we exist for
$12.9m

Average yearly cost of poor data quality, per organization.

Gartner
40–57%

Of data engineers' time spent firefighting silent failures.

Wakefield Research
74%

Of data quality issues are caught first by downstream business users — not by the data team.

Monte Carlo · state of data quality

Your existing tools cry wolf. We don't.

What it does

A carbon monoxide detector for your data warehouse.

Most data quality tools are smoke alarms. They fire constantly, train you to ignore them, and tell you what changed without telling you whether it matters. We do the opposite. We watch for the silent stuff: a column that started returning nulls, a sync that stopped completing, a table that quietly disappeared. Most days you don't hear from us. When you do, the alert is contextual, timely, and specific enough to act on.

We're statistics-only by design. We never read raw row contents. We synthesize what you've told us about your environment with what we observe in your warehouse, then we explain — in plain language, with our reasoning shown — what changed and whether it matters. The product runs above whatever native detection your platform already provides. It's the intelligence layer on top, not another smoke alarm.

A real alert

Here's what an alert looks like.

Generated by our cascade against a production warehouse, filed as a ticket into the customer's existing tracker.

incident — ACME-INC-0031
ACME-INC-0031 · schema_dropped_column · 2026-04-29 06:00:30
composition 0.850 · dimension 0.865 · verifier 0.900 · impact high
What changed

The column analytics.crm.customers.phone was dropped between the 06:00 UTC scheduled scan on 2026-04-28 and the 06:00 UTC scheduled scan on 2026-04-29 — observed as a schema-snapshot diff. No DDL audit event has been captured upstream.

What it affects

analytics.crm.customers is annotated business_critical and customer_facing with a 1-hour SLA. Three registered consumers depend on this table: revenue_dashboards, customer_facing_app, and email_marketing_campaigns. The customer_facing_app performs real-time reads and is presumed broken immediately; email_marketing_campaigns runs as a batch pipeline and will fail on its next execution.

Why it matters

The drop occurred between two daily scheduled scans (06:00 UTC). No corroborating deploy or migration event has been observed. Schema-dropped-column on a business_critical, customer_facing table with three active consumers constitutes an immediate breakage risk rather than a degradation risk.

Investigate first
1.Identify who issued the ALTER TABLE or DROP COLUMN and when (Databricks query history):
SELECT executed_by_user_name, statement_text, start_time FROM system.query.history WHERE statement_text ILIKE '%DROP COLUMN%phone%' AND statement_text ILIKE '%crm.customers%' AND start_time > '2026-04-28 06:00' ORDER BY start_time DESC LIMIT 10;
2.Check whether a schema migration referencing phone was merged recently:
git log --since='2026-04-27 00:00' --all --grep='phone' \ -- models/ migrations/
3.Confirm whether customer_facing_app is actively failing on phone reads:
SELECT error_message, COUNT(*) AS occurrences FROM app_error_log WHERE error_message ILIKE '%phone%' AND occurred_at > '2026-04-29 06:00' GROUP BY error_message ORDER BY MAX(occurred_at) DESC LIMIT 10;
What makes us different

Four things incumbents can't copy without rebuilding.

01

We tell you why.

Native platform DQ surfaces anomalies. We explain them — with full warehouse context, lineage, deploy history, and your own annotations folded into the reasoning.

02

Every alert is auditable.

Three confidence numbers visible on every alert. A full decision trace per incident. We tell you why we believe what we believe — and exactly what we're unsure about.

03

Cross-vendor verification.

Different LLM providers generate and verify each alert. Different failure modes catch different errors. We trust no single model with the final word.

04

Cost throttles depth, not outcome.

You set spend caps per dimension. The system stays watching, just thinks less hard about ambiguous cases when budget is tight. Detection never stops.

What's running today

A live PoC, honest about what's shipped and what's next.

We're in design-partner phase. "See it in use" takes you to a real staging environment connected to a real Databricks workspace, behind a preview gate. Here's exactly what's in your hands today and what's landing next.

live

Real warehouse, real scans.

Connect Snowflake or Databricks with read-only credentials. The PoC runs daily scheduled scans at 06:00 UTC plus a "Scan now" button per warehouse. Tested end-to-end against a real Databricks workspace — 93 tables surfaced in a 25-second round-trip, cached so repeat reads are instant.

live

Annotations + ticket routing.

Upload your dbt manifest and the cascade picks up your criticality, owners, and meta tags as it reasons. Configure Jira, Linear, or GitLab as the destination; we file the ticket there — never push a notification. Your existing ticket→Slack pipeline handles delivery.

next

Cascade against the real warehouse.

Per-column statistics (null rates, approx-distinct, min/max) drive the actual drift detection. Skeleton's in; the SQL needs validation against real Snowflake + Databricks workspaces. Once that lands, the daily scan produces real incidents, not just structural snapshots.

next

Webhooks, hourly cadence, billing.

Customers wire their CI / dbt orchestrator to a webhook for sub-minute detection after deploys; daily cron stays the default fallback. Hourly cadence, per-tenant concurrency caps, and the rate card above all land before we open up self-serve signups.

Pricing

Pay for what you use. Cap what you spend.

One product. One rate card. No tiers, no feature gates, no seat-based pricing. Your bill is a function of three things you can measure and predict — and you can cap any one of them independently.

Checks
$0.005
per snapshot

Each snapshot of each monitored table. The cheap, high-volume layer — the foundation of trust.

first 50k / mo$0.005
50k – 250k$0.003
250k+ / mo$0.001
Quick analysis
$0.03
per analysis

When a signal needs evaluating, we run cheap-model composition and reasoning. We charge for every one — and show every one on your invoice, including those we dismissed.

Deep analysis
$0.30
per analysis

When something is high-stakes or genuinely ambiguous: full agentic loop, premium models, cross-vendor verification, transparent cost. These are rare.

$50 free at signup

Every account starts with $50 of usage credits. No card required. Most teams take several months to consume it.

$20 monthly minimum

Active accounts pay at least $20/month. Most teams clear that bar in their first week. Doesn't apply during your $50 trial — credits come first.

Customer-controlled caps

Set monthly caps on any dimension. Approach a cap, get warned. Hit a cap, the system gracefully reduces depth — but never stops watching.

Optional annual commit

Lock in a higher monthly minimum and get 15% off your per-check rates. Quick and deep analysis stay flat — those costs pass through honestly.

Stop muting your alerts.

We're in design-partner phase. Want to wire your Snowflake or Databricks to a real cascade and shape what we ship next? Reach out — we'll set you up with a tenant on the staging PoC, no card required.