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.