Insurance
A certificate of insurance is the document a company hands over to prove it carries coverage. The ACORD 25 packs producer, insured, and a coverages grid of separate policies into one page, and real-world certs arrive as carrier ACORD forms, broker-system exports, and non-ACORD letters that say the same thing in a different shape. Sensible converts certificates of insurance into structured JSON for vendor compliance and COI tracking.
Validated JSON
Schema-enforced output; every field matches your contract
Source coordinates
Every value links back to page + bounding box for audit
Per-document pricing
Predictable cost. No token-volatility surprises
Trusted by teams turning documents into production data






The ACORD 25 has a defined layout, but the certs you actually receive drift from it. Carrier systems, broker software, and non-ACORD letters each render the same coverage differently, the coverages grid stacks multiple policies with their own numbers and limits, and the parts that matter for compliance hide in free-text endorsement language. Positional rules pin the standard ACORD boxes; LLM parsing handles the certs that don't follow the form.
01
Most certs are ACORD 25s, but revisions differ and plenty arrive as carrier-branded forms or plain coverage letters that never touch the ACORD layout. Fingerprints identify the form so the right configuration runs, and LLM parsing reads the off-form certs into the same schema as the standard ones.
02
One certificate lists several policies stacked in a grid: general liability, auto, umbrella or excess, workers comp. Each row carries its own insurer letter, policy number, effective and expiration dates, and a column of limits. Sensible reads the grid as structured rows so each policy's number, dates, and limits stay tied together instead of collapsing into one blob.
03
Whether a holder is an additional insured, and whether waiver-of-subrogation or primary-and-non-contributory language applies, lives in the Description of Operations free-text box and referenced endorsement form numbers. Hybrid extraction pulls those clauses and flags low-confidence reads for review rather than guessing compliance.
Managed services
Solutions engineers handle plan, build, deploy, and adjust on your behalf. You see clean JSON in your API response. Same engine as self-serve, just with the configuration work outsourced.
What's included
01Plan.Engineers review your samples and pick the right method
02Build.SenseML configs written from your samples
03Deploy.Same engine as self-serve, ready for production
04Adjust.We update configs when formats shift or new edge cases appear
05Integrate.Help with custom integration into your downstream systems
Every compliance workflow maps the certificate to its own schema, so we build the config around your fields rather than a fixed list. These are the fields COI teams pull most often; we map whatever else your vendor-onboarding or tracking workflow needs.
01
Parties
Producer name and contact, named insured and address, insurers A through F with NAIC numbers, certificate holder name and address, authorized representative, certificate number and issue date
02
Coverages & limits
Per policy: coverage type (general liability, automobile, umbrella/excess, workers comp), insurer letter, each-occurrence and aggregate limits, combined single limit, employers liability limits
03
Policy terms & holders
Policy numbers, effective and expiration dates per coverage, additional-insured status, waiver of subrogation, primary-and-non-contributory language, and the Description of Operations text
config.json
SenseML
{ /* SenseML: certificate of insurance (ACORD 25) extraction */
"fields": [
{
"method": {
"id": "queryGroup",
"queries": [
{ "id": "insured", "description": "named insured, insured block, insured name" },
{ "id": "producer", "description": "producer, broker, agency name" },
{ "id": "certificate_holder", "description": "certificate holder, name and address" },
{ "id": "certificate_number", "description": "certificate number, cert no" }
// + coverages array (per-policy type, number, dates, limits), mapped to your schema
]
}
}
]
}Sensible processes certificates of insurance across carriers, brokers, and submission channels. Fingerprints identify the ACORD revision so the right configuration runs, and non-ACORD certs can be configured in hours. The extraction logic is explicit in SenseML, not buried in prompt tuning.
ACORD 25 (2016/03 and earlier revisions), ACORD 27 and 28 property certificates, carrier-branded certificate forms, and plain-letter proof-of-coverage documents
Broker-system PDF exports, carrier-portal downloads, emailed and scanned copies, faxed certificates, and image-only certs that need OCR
Answers about ACORD revisions, the multi-policy coverages grid, and pulling additional-insured and endorsement language.
Yes. Whether a holder is an additional insured, and whether waiver-of-subrogation or primary-and-non-contributory language applies, lives in the free-text Description of Operations box and referenced endorsement form numbers. Hybrid extraction pulls those clauses and flags low-confidence reads for review rather than guessing compliance.
Each policy is read as a structured row, so general liability, auto, umbrella or excess, and workers comp keep their own insurer letter, policy number, dates, and limits tied together instead of collapsing into one blob.
By default Sensible pulls producer, named insured, insurers A through F with NAIC numbers, certificate holder, and the full coverages grid (type, policy number, effective and expiration dates, and limits per policy). Additional-insured status, waiver of subrogation, and primary-and-non-contributory language come from the Description of Operations text. Those fields live in configuration, so you add, drop, or reshape what gets extracted to fit your workflow.
Sensible reads any certificate layout. The library covers ACORD 25 (2016/03 and earlier revisions), ACORD 27 and 28 property certificates, carrier-branded forms, and plain-letter proof-of-coverage documents, with fingerprints that pick the right config per revision. A non-ACORD cert or a layout you haven't sent before gets configured in SenseML.
Start free
Free 14-day trial. No credit card required. Start extracting in minutes.