Technical Docs Last updated: October 2026

Architecture & Integration

How HVAX processes your bid documents, integrates with the Anthropic Claude API, structures its outputs, and enforces execution bounds.

System Overview

HVAX is a risk-extraction pipeline purpose-built for commercial electrical bid packages. It ingests MEP project manuals (specifications), construction drawings, and addenda, then systematically cross-references them to surface scope gaps, specification conflicts, and missing coordination items before the bid deadline.

The system is not a general-purpose chatbot, a takeoff tool, or an estimating calculator. It does one thing: find what the estimator might miss in a 900-page document set, and cite the exact source page.

Core components

Component Technology Purpose
Document Ingestion Python, PyMuPDF PDF parsing, text extraction, page-level indexing
Topic Router Python, regex + heuristics Splits the package into Division-level topic segments
Extraction Engine Anthropic Claude API Evidence extraction, conflict identification, RFI drafting
Verification Pass Anthropic Claude API Adversarial second pass that attempts to disprove each finding
Structured Output JSON schema validation Enforces citation, priority, and action fields on every finding
Human Review Founder review Every Priority-1 finding is manually reviewed before delivery

Data Flow

Your bid documents flow through a strict, linear pipeline. At no point does your data leave HVAX's own infrastructure except for structured API calls to Anthropic.

Your Browser TLS 1.3 upload
→
HVAX Server Parse & segment
→
Claude API Extract & verify
→
HVAX Server Validate JSON
→
Founder Review Human sign-off
→
Your Dashboard Risk report

What crosses the network boundary

Hop What is sent Encryption
Browser → HVAX Raw PDF files TLS 1.3 in transit, AES-256 at rest
HVAX → Anthropic Page-level text segments filtered by topic — never the full document in a single request TLS 1.3, Anthropic commercial API (standard 30-day abuse monitoring retention)
Anthropic → HVAX Structured JSON findings with citations TLS 1.3
HVAX → Browser Final risk report (HTML dashboard) TLS 1.3
Third-party services that touch your data

Primary subprocessor: Anthropic (Claude API) for document analysis, alongside Clerk for user authentication. HVAX does not send your documents to OpenAI, Google, or any other LLM provider. We use Anthropic's commercial API tier, which does not use customer inputs for model training. See Anthropic's data usage policy.

Claude Integration

HVAX uses the Anthropic Messages API to make structured, topic-scoped requests against your bid package. Here is exactly how:

Model selection

Pass Model Reason
Extraction claude-3-5-sonnet-20241022 Strong reasoning over long technical documents; 200K token context window handles large specification sections
Verification claude-3-5-sonnet-20241022 Adversarial checking pass uses the same model to attempt to disprove each finding

How documents are sent to Claude

The full bid package is never sent as a single prompt. Instead:

  1. The Topic Router segments the document by CSI Division (e.g., Division 01 General Requirements, Division 26 Electrical).
  2. Each topic segment is sent as a separate Claude request with a structured system prompt.
  3. Cross-references between Divisions (e.g., Div 01 vs. Div 26 temporary power) are handled by a dedicated cross-reference pass that sends only the relevant pages from each Division.
  4. Addenda are processed in reverse chronological order so that the latest revision takes precedence.

Example API request structure

// Simplified representation of a single extraction request { "model": "claude-3-5-sonnet-20241022", "max_tokens": 4096, "system": "You are a construction document reviewer specializing in commercial electrical scope analysis. Extract conflicts between the specification text and drawings. For every finding, cite the exact source document, page number, and verbatim clause.", "messages": [ { "role": "user", "content": "[Division 26 spec text, pages 412-480]\n\n [Relevant drawing notes from sheets E-301..E-315]\n\n Identify scope gaps and conflicts." } ] }
Model training

HVAX uses Anthropic's commercial API. Under Anthropic's commercial terms, inputs and outputs from the API are not used to train Anthropic's models. HVAX does not fine-tune, distill, or train any model on your bid data.

Output Schema

Every finding produced by HVAX conforms to a strict JSON schema. This ensures consistency, traceability, and machine-readability across reports.

// Finding schema (JSON) { "finding_id": "F-07", "priority": 1, // 1 = Critical, 2 = Review, 3 = Info "category": "specification_conflict", "claim": "Division 01 and Division 26 disagree on temporary power duration.", "evidence": [ { "source": "Project Manual", "section": "01 50 00 — Temporary Facilities", "page": 43, "verbatim": "Contractor shall provide temporary power for 18 months." }, { "source": "Project Manual", "section": "26 05 00 — Common Work Results", "page": 415, "verbatim": "Temporary power: 12-month allowance." } ], "addendum_check": "No subsequent addendum modifies this requirement.", "verification": "Adversarial pass could not disprove. Conflict stands.", "impact": "price, schedule", "suggested_action": "Submit RFI to confirm duration. Carry the longer (18-month) allowance until resolved.", "rfi_draft": "Section 01 50 00 specifies 18-month temporary power. Section 26 05 00 specifies 12-month. Please confirm the required duration for pricing." }

Schema fields

Field Type Required Description
finding_idstringYesUnique finding identifier
priorityint (1–3)Yes1 = Critical price/scope impact, 2 = Needs estimator review, 3 = Informational
categoryenumYesOne of: specification_conflict, drawing_conflict, scope_gap, addendum_conflict, coordination_gap
claimstringYesPlain-language description of the issue
evidence[]arrayYesAt least one source with document, section, page, and verbatim quote
addendum_checkstringYesWhether a later addendum resolves this finding
verificationstringYesResult of the adversarial verification pass
impactstringYesWhat changes if this finding is real (e.g., price, scope, schedule)
suggested_actionstringYesRecommended next step for the estimator
rfi_draftstringNoPre-drafted RFI question ready for submission

Execution Bounds

HVAX operates within strict, documented boundaries. These are not theoretical limits — they are hard constraints enforced in code.

Bound Limit Reason
Max document size 2,000 pages per bid package Quality degrades beyond this; we recommend splitting into trade packages
File types accepted PDF only PDF is the universal format for construction bid documents
Scope Commercial electrical (CSI Divisions 26, 27, 28 + cross-references to 01) Prompts, heuristics and validation rules are tuned for electrical scope only
No internet access The pipeline cannot browse the web, access external databases, or call third-party APIs besides Anthropic Prevents data exfiltration and ensures reproducibility
No file system writes Claude cannot write to disk, execute code, or modify uploaded documents Read-only access ensures document integrity
Timeout 48-hour maximum processing window per bid package Aligns with typical bid-day turnaround requirements
Data retention Documents purged 30 days after report delivery (configurable) See Security page for full retention policy

Telemetry & Tracking

Zero client-side analytics

HVAX does not load Google Analytics, Meta Pixel, Hotjar, Mixpanel, Amplitude, or any other third-party tracking script on the marketing website or inside the product dashboard.

What we collect and why

Data Collected? Purpose
Client-side analytics (GA, etc.)No—
Ad-network pixelsNo—
Server access logsYesSecurity monitoring, error debugging
Authentication events (Clerk)YesAccount creation, sign-in, sign-out timestamps
Pipeline execution logsYesProcessing time, error rates, finding counts (no document content)
Document content for trainingNoYour documents are never used to train or fine-tune any model

Known Limits

HVAX is a research and extraction tool, not an estimator, code consultant, or contractual advisor. These are the things it explicitly does not do:

✗ Not a takeoff tool

HVAX does not count fixtures, measure conduit runs, or produce quantity estimates.

✗ Not a code checker

It does not verify NEC compliance, local code amendments, or AHJ requirements.

✗ Not a legal advisor

Findings are not legal opinions. Contract interpretation must be done by qualified counsel.

✗ Not infallible

AI can miss conflicts and can hallucinate findings. Every P1 finding is human-reviewed, but the tool is not a replacement for your estimator reading the documents.

✗ Not a general AI assistant

You cannot ask it arbitrary questions. It only runs the pre-configured extraction pipeline against your uploaded documents.

✗ Not multi-trade (yet)

Currently tuned for commercial electrical scope only. Mechanical and plumbing trade support is not available.

Do not bid solely based on a HVAX report

HVAX surfaces potential issues. It does not guarantee completeness. Your estimator must independently verify every finding against the original documents before incorporating it into a bid price. See our Terms of Service for full liability limitations.

Human Governance

HVAX is designed as a human-in-the-loop system. AI handles evidence extraction at scale; humans handle judgment.

Stage Actor Responsibility
Document ingestion Automated Parse, segment, and index. No human judgment involved.
Extraction & verification Automated Claude identifies potential findings and an adversarial pass attempts to disprove them.
Priority-1 review Founder Every P1 finding is manually reviewed by the founder before delivery. Borderline items are separated.
Final decision Your Estimator The estimator checks each citation against the source document and makes the final call on whether to adjust the bid.

This is a deliberate design choice. The most dangerous failure mode in AI-assisted estimating is false confidence — an estimator trusting a finding without checking the source. HVAX mitigates this by making the citation the centerpiece of every finding, not the AI's conclusion.

← How it works Security & data handling → Sample report → Release history →