Platform

From a business question to a governed data feed.

Ballast is the layer between scattered public records and commercial action: a guided specification, a reliable monitoring pipeline, verified records with evidence, and API-first delivery — one system.

spec → monitor → verify → deliver · evidence on every record

Lifecycle

Four steps, continuously.

You describe the business problem once. Ballast keeps the data current from then on — updated as new source information becomes available.

01

Describe

A ten-step guided questionnaire captures your objective, entities, signals, coverage, value thresholds, fields, freshness, and delivery. Ballast recommends the technical choices from your business answers.

02

Propose

Ballast generates the formal Data Specification with synthetic sample records, a usage estimate, and an itemized pricing proposal. Every requested data category passes a safety review before activation.

03

Monitor

Approved sources are checked on cadence. Changes are detected by checksum, extracted into your schema, resolved into canonical entities, verified, and scored — every pass recorded as an inspectable run.

04

Deliver

Records and events arrive in the dashboard, over the versioned /v1 API with a stable envelope and credit metering, through HMAC-signed webhooks, and as CSV/JSON exports.

The pipeline

Nine specialized data agents.

Deterministic code handles the routine path; AI is consulted only for ambiguity, and its output is validated before it touches your data. Every pass is recorded as an inspectable monitoring run.

Source Discovery

Identifies candidate sources for your specification, classifies access methods, and flags licensing or permission concerns before anything is collected.

source type · access method · cadence · permission review

Collection

Retrieves approved source data on cadence, detects changes by checksum, and stores the raw payload as evidence — never re-processing what hasn't changed.

connectors · dedup · raw records · SSRF-guarded

Extraction

Turns pages and documents into your schema's fields. Structured payloads map deterministically; free text uses a validated AI pass — and stays pending rather than guessing.

schema-aware · validated output · extraction versioning

Entity Resolution

Matches records to canonical entities by identifier, then normalized name and alias. Uncertain matches stay separate instead of polluting a clean record.

external ids · aliases · versioned merges

Verification

Corroborates records across independent sources, updates confidence, and routes low-confidence or disputed items to a human review queue.

machine · multi-source · human review

Event Detection

Turns creations and meaningful changes into typed intelligence events with a relevance score, a 0–100 opportunity score, and a plain-language match reason.

event types · scoring · match reason · evidence

Quality Control

Rejects impossible values, malformed fields, and duplicates before they enter your data — failed records are kept as evidence, not silently dropped.

sanity rules · duplicate detection · failure ledger

Compliance

Enforces source permission and licensing status inside the pipeline, applies the restricted-category rules, and preserves provenance end to end.

permission gates · restricted categories · retention

Delivery

Prepares customer payloads, signs and pushes webhooks with retry and backoff, generates exports, and records every delivery in a ledger.

signed webhooks · exports · delivery history

Trust

Records that show their work.

Commercial decisions ride on this data, so nothing is presented as fact without provenance.

Source evidence on every record

Each record links to the sources it came from — name, URL, retrieval time, and the raw stored payload. 'View evidence' is one click, everywhere.

Explicit verification states

Unverified, machine verified, multi-source verified, human reviewed, disputed, stale. The state is always shown and always earned, never implied.

Confidence as a number

Every record and event carries a 0–1 confidence score that moves with corroboration and review — and you set the threshold your feed cares about.

Full change history

Every attribute change is versioned: what changed, from what, to what, when, and from which monitoring run. The /v1/changes stream exposes it to your systems.

A connected entity graph

Projects link to properties, developers, permits, and contractors as typed relationships — so one detected event carries its full commercial context.

Opportunity scoring

Events are scored 0–100 against your specification — value thresholds, stage, and open contractor status — so the highest-value items sort first.

Governance

Compliance in the architecture, not the brochure.

Permission, safety, and isolation rules are enforced where the data flows.

Source permissions, enforced

Every source has an explicit permission and licensing status. The pipeline refuses to collect from anything not approved — the gate is in the code path, not the UI.

Restricted categories, refused

A data-safety layer auto-rejects sensitive personal data, routes ambiguous categories to human review, and records every classification decision.

Organization isolation

Row-level tenancy is enforced fail-closed at the ORM layer — a query without an organization context raises rather than leaks.

Scoped, hashed API keys

Data-API keys are scope-limited, stored as hashes, shown once, revocable, expirable, and IP-allowlistable — with per-key usage allowances.

Signed webhooks

Every push carries an HMAC signature with a timestamp replay window, retries with exponential backoff, and a full delivery history with manual retry.

Immutable audit trail

Feed changes, verification decisions, source approvals, and key operations land in a tamper-evident audit log with SIEM streaming.

See it with your own specification.

Every new account includes a working synthetic example feed — configure your own in about ten minutes.