
Verify Structured Output with Field-Level Citations
TL;DR
With the new `provide_citations` parameter, Tensorlake can now return page numbers and bounding boxes for every extracted field. Engineers can build audit-ready pipelines where every number, name, or field in structured output links directly to the source document.
Table of Contents:
- Traceable Context Means Trustworthy HITL Workflows
- Implement Citations with One Line of Code
- From Data to Evidence
- Try Structured Extraction Citations Now
- Traceability Built-In
Missing evidence is one of the biggest blockers in production AI workflows.
It’s not enough to say what a document claims, you need to show where in the source that claim came from. Whether you’re auditing bank statements, verifying medical referral forms, or investigating fraud, traceability is a hard requirement.
That’s why we’ve introduced a new parameter in Tensorlake’s StructuredExtractionOptions
:
1StructuredExtractionOptions(
2 schema_name="ExampleSchema",
3 json_schema=ExampleSchema,
4 provide_citations=True
5)
When provide_citations=True
, every extracted field includes:
- Page number
- Bounding box (bbox) coordinates
This means structured outputs are no longer just machine-readable; they’re auditable, verifiable, and traceable back to the source document.
Traceable Context Means Trustworthy and Audit-Ready Workflows#
In many workflows, “close enough” isn’t good enough. Teams need confidence that extracted values align with the document’s ground truth. Let’s look at where this matters most:
- Banking & Finance: Auditors need to understand exactly which account, statement, or transaction produced a reported number. If an account balance doesn’t reconcile, citations let you trace back to the precise page and bounding box where the discrepancy originates. No more guesswork in backtracking totals.
- Fraud Detection: When anomalies appear in reported values, bounding-box citations provide the evidence trail. Investigators can quickly verify whether a suspicious number came from an altered document, a duplicated entry, or a genuine filing.
- Healthcare & Forms Processing: At UCLA, teams processing medical referral forms wanted faster verification of ground truth. With citations, a structured field (like “referral date” or “doctor’s signature”) can point directly to the page span and bounding box where it was found, cutting human review time dramatically.
In short:
Citations turn structured extraction into a compliance-grade tool.
Implement Citations with One Line of Code#
Let’s take a simple example: extracting transaction summaries from a bank statement.
1from tensorlake.documentai import DocumentAI, StructuredExtractionOptions
2from pydantic import BaseModel, Field
3from typing import List
4
5class Transaction(BaseModel):
6 date: str = Field(description="Transaction date")
7 description: str = Field(description="Transaction description")
8 amount: float = Field(description="Transaction amount")
9
10class BankStatement(BaseModel):
11 transactions: List[Transaction]
12
13doc_ai = DocumentAI()
14
15structured_extraction_options = [
16 StructuredExtractionOptions(
17 schema_name="BankStatement",
18 json_schema=BankStatement,
19 provide_citations=True # <-- new parameter
20 )
21]
22
23result = doc_ai.parse_and_wait(
24 file="https://tlake.link/documents/bank-statement",
25 structured_extraction_options=structured_extraction_options
26)
27
28print(result.structured_data[0].data)
The returned JSON now looks like this:
1"transactions": [
2{
3 "Date": "08/24",
4 "Date_citation": [
5 {
6 "page_number": 1,
7 "x1": 59,
8 "x2": 135,
9 "y1": 448,
10 "y2": 482
11 }
12 ],
13 "amount": "50.00",
14 "amount_citation": [
15 {
16 "page_number": 1,
17 "x1": 515,
18 "x2": 585,
19 "y1": 447,
20 "y2": 482
21 }
22 ],
23 "descriptions": "ATM CASH DEPOSIT, ***** 30073995581 AUT 082220 ATM CASH DEPOSIT 550 LONG BEACH BLVD LONG BEACH * NY",
24 "descriptions_citation": [
25 {
26 "page_number": 1,
27 "x1": 135,
28 "x2": 515,
29 "y1": 447,
30 "y2": 482
31 }
32 ]
33}
Each field is now annotated with a citation: the page number and bounding-box coordinates.
If you use our Tensorlake Cloud Playground, you can even get the visual bounding-boxes labeled for each extracted bit of information

From Data to Evidence#
“In insurance, structured outputs power our workflows, but people still verify. With field-level citations, reviewers can jump from a data row straight to the exact COI or endorsement language. That’s the difference between ‘parsed’ and provable.”
— Jesse McClure, CTO and Co-Founder, Sublynk
Citations aren’t just nice-to-have, our customers across industries know that they unlock new workflows:
- Audit-ready outputs: Every number is backed by ground-truth evidence.
- Automated review: Flag discrepancies automatically and point reviewers directly to the source.
- Explainability in RAG/Agents: Don’t just return answers—return the highlighted document snippets.
- UI Enhancements: Build document viewers that highlight the exact fields extracted.
The benefit is twofold: engineers can build more reliable systems and stakeholders (auditors, compliance teams, regulators) get confidence and transparency.
Try Structured Extraction Citations Now#
You can try provide_citations=True
today in both the Tensorlake Playground and the API/Python SDK.
- Docs: Structured Extraction
- Example Notebook: Parse Bank Statements
If you have any questions or feedback, we'd love to hear from you! Join our Slack and let us know how you're using citations.
Traceability Built In#
With the new provide_citations
parameter, structured extraction becomes not only machine-readable but also evidence-backed.
Every field can now point back to its exact source location in the document, making Tensorlake the foundation for audit-ready, compliance-grade, and fraud-resistant AI workflows.
Start using it today. In production AI, traceability isn’t optional.

Dr Sarah Guthals
Founding DevRel Engineer at Tensorlake
Founding DevRel Engineer at Tensorlake, blending deep technical expertise with a decade of experience leading developer engagement at companies like GitHub, Microsoft, and Sentry. With a PhD in Computer Science and a background in founding developer education startups, I focus on building tools, content, and communities that help engineers work smarter with AI and data.