Stop bad data
before it reaches
your pipeline

ContractGate enforces semantic contracts on every incoming data event — in real time, before it touches your warehouse, lakehouse, or AI training set.

Rust-native · <15 ms p99
·
86k+ events/sec per core
·
Reject · quarantine · replay
·
Kafka · Kinesis · REST
·
ContractGate — Stop bad data before it reaches your pipeline
<15ms
p99 validation latency
86k+
events validated per second per core
100%
pre-ingestion — zero post-hoc cleanup
1x
YAML contract defines the entire schema

Define once. Enforce everywhere.

ContractGate sits between your producers and your storage layer. Bad events never reach your database.

1

Define your contract

Upload sample payloads — the contract writes itself. ContractGate ingests your real event samples and infers field types, value ranges, enums, cardinality, freshness constraints, and PII markers automatically. Review, tweak, and promote. Teams who want full control can also author YAML directly and version it alongside their code.

✦ Auto-generated from 3 sample payloads
# inferred by ContractGate — edit & promote
contract:
  id: payment_processed  v1.4
  fields:
    - name: user_id
      type: string  required: true
      pattern: "^usr_[a-z0-9]{16}$"  # inferred
    - name: amount_usd
      type: number  min: 0.01  max: 50000  # inferred
    - name: currency
      type: enum  values: [USD, EUR, GBP]  # inferred
    - name: timestamp
      type: iso8601  max_age: 5m  # freshness gate
    - name: card_last4
      type: string  pii: mask  # PII — auto-detected
2

Deploy the gateway

Point your producers at the ContractGate ingest endpoint. Every event is validated against the promoted contract version before touching storage.

# Python SDK
pip install contractgate

# REST ingest
POST /ingest/{contract_id}

# Or Kafka-native (Confluent Cloud)
bootstrap: pkc-xyz.us-east-1.aws.confluent.cloud:9092
topic.in: cg-{contract_id}-raw
topic.valid: cg-{contract_id}-clean
topic.quarantine: cg-{contract_id}-quarantine

# Or AWS Kinesis-native
stream.in: cg-{contract_id}-raw
stream.valid: cg-{contract_id}-clean
stream.quarantine: cg-{contract_id}-quarantine
3

Reject, quarantine & replay

Passing events flow downstream. Violations are quarantined with a full violation report. Fix the producer, replay the quarantine — nothing is lost.

✓ PASS → events.clean

✗ FAIL → events.quarantine
  + violation report

POST /quarantine/:id/replay
# re-validate after fix
Live pipeline — events in, semantics enforced
Your producer
app / service / Kafka / Kinesis
any format
ContractGate
Rust · <15 ms p99
validates here
Downstream storage
warehouse · lake · AI
clean only
Quarantine
+ violation details
violations

Every team that moves data needs this

Bad data is a $12.9B/year problem for US enterprises alone. ContractGate stops it at the source.

🤖

AI / ML training pipelines

Bad training data poisons models silently. ContractGate ensures every event feeding your feature store meets the semantic contract your ML team defined — before it corrupts a training run.

Feature store Training data Label quality MLOps
💳

Financial event streams

A single malformed transaction amount can cascade through an entire ledger. Enforce amount ranges, currency codes, and account ID patterns at ingestion — with full audit trail for compliance.

Payments Ledger integrity Compliance audit PCI
🏥

Healthcare & life sciences

HIPAA-covered fields need to be identified, masked, or hashed before reaching storage. ContractGate's PII transform rules enforce this automatically on every inbound record.

HIPAA PII masking HL7 / FHIR EHR ingestion
🛒

E-commerce & product analytics

Clickstream events silently drop required fields when clients update. Catch the regression in real time — not three days later when the A/B test results make no sense.

Clickstream A/B testing Analytics SDK contracts

What data teams are saying

“We've been running dbt tests and Great Expectations for years. They catch problems after the fact. ContractGate is the first tool I've seen that sits in front of the pipe and actually stops bad data from entering.”

👤
Senior Data Engineer
Series B fintech, ~200 engineers

“The latency story is real. We ran the Kafka demo and the validation overhead was under 5% vs. a passthrough. That was the blocker for us — we couldn't afford to add 50 ms to the hot path. ContractGate doesn't.”

👤
Staff Infrastructure Engineer
Enterprise SaaS, real-time analytics product

“The semantic YAML contract format is the right abstraction. It's not just schema — it carries business meaning: glossary definitions, PII policy, metric formulas. That's what you need for governance at scale.”

👤
Head of Data Platform
Fortune 500 healthcare company

Built for the hot path

Most data quality tools run after ingestion. ContractGate runs before — which means it has to be fast enough to not matter.

🦀 Rust-native core

Zero-cost validation

The validation engine is written in pure Rust. Regexes compile once at contract load time. No GC pauses. No JVM warmup. p99 under 15 ms at any event size.

⚙️ Patent pending

Semantic enforcement

Unlike JSON Schema or Avro, ContractGate validates meaning — not just shape. An amount field with a negative value is wrong even if the type is correct.

🔒 RFC-004 PII transforms

Policy-as-contract

Declare PII fields in the contract YAML. ContractGate automatically hashes, masks, or drops them before storage — per-contract, with format-preserving options for analytics.

📦 Kafka & Kinesis native

Fits your existing stack

Enable Kafka (Confluent Cloud) or AWS Kinesis ingress per contract from the dashboard — no producer changes, no AWS account required. ContractGate provisions per-contract topics or streams and returns scoped credentials on the spot.

🔄 Quarantine & replay

Nothing is lost

Failed events are quarantined with a full violation report attached. Fix the producer, then replay the quarantine through the live contract — no data loss.

📐 Semantic versioning

Safe contract evolution

Contracts go through draft → stable → deprecated lifecycle. Producers can pin to a specific version or always track stable — with full version history and promotion audit.

Start free. Scale without surprises.

Start free. Scale without surprises. Enterprise teams get dedicated deployments and custom SLAs.

Open Source
Self-Hosted Free
Run it yourself, forever
Free
git clone && make demo
  • Unlimited (local) Events validated / month
  • 3 (starter) Active contracts
  • Contract versions
  • Ingest API
  • Playground (test without save)
  • Local Postgres Audit log retention
  • Stream demo dashboard
  • Batch ingest
Get the repo
Cloud Free
Explore & prototype
$0
forever
  • 1M Events validated / month
  • 3 Active contracts
  • 3 per contract Contract versions
  • Ingest API
  • Playground (test without save)
  • 7 days Audit log retention
  • Stream demo dashboard
Start free
Enterprise
Scale without limits
Custom
contact us
  • Unlimited Events validated / month
  • Unlimited Active contracts
  • Unlimited Contract versions
  • Ingest API
  • Playground (test without save)
  • Custom Audit log retention
  • Stream demo dashboard
  • Batch ingest
Talk to us