tdoc
VOL 0.1 · SHIPPING 2026 · A+ 125/130
Document infrastructure · Volume 0.1 · 2026

Documents you can trust.

tdoc turns PDFs, DOCX, and HTML into typed, queryable, cryptographically‑signed documents. Every number carries a declared type. Every archive hashes to the same bytes, always. Ship it in one REST call.

Live · calling api.tdoc.xyz right now

Not a mock. Real bytes. From our own production API.

Request ON LOAD

GET https://api.tdoc.xyz/v1/healthz
accept: application/json
user-agent: tdoc-landing/0.1
# api.tdoc.xyz is a Cloudflare Worker proxying to a
# Hugging Face Space running product/service/main.py.
# Uptime: since 2026-04-24.

Response PENDING

Round-trip · Edge Hit /docs for the full OpenAPI surface.

A format, not a file.

AXON separates what a document says from how it renders. The content tree is typed. A pvalue is a p-value. A measure carries units. A currency knows its ticker.

Your agent never has to guess whether “p = 0.03” is a probability, a typo, or a page number. It’s declared. It’s signed. It round-trips to the same bytes.

<section id="results">
  <heading level="2">Outcome</heading>
  <paragraph>
    <measure type=pvalue
             value=0.003>p = 0.003</measure>
    at the 10th minute, with a
    <measure type=ci
             value=[0.41, 0.78]>
      95 % CI [0.41, 0.78]
    </measure>.
  </paragraph>
  <table id="t1" summary="arm-by-arm">
    <cell type=currency
          ticker="USD">$12,400</cell>
    <cell type=measure
          unit="mg/dL">142.7</cell>
  </table>
</section>

The ledger.

Six invariants the reference impl keeps
01
Typed every node.
Cells declare data-type: pvalue, measure, currency, ci, date, &c. Your downstream code never guesses.
Schema
02
AQL — query in one line.
“Every p‑value < 0.05 in this 300‑page paper.” No LLM needed. Runs in milliseconds against the parsed tree.
Query
03
Ed25519 signed.
Signatures cover the canonical byte stream + manifest. Tamper once — verification fails forever.
Integrity
04
Byte‑deterministic.
Encode the same document twice, produce the same bytes. Hash it, sign it, audit it, diff it — no wall-clock drift.
Reproducible
05
Accessible by design.
Alt-text coverage, equation descriptions, reading-order validation — enforced in validate(), not bolted on.
A11y
06
Open format, always.
Apache 2.0 reference impl. The spec lives next to the code. Run it offline, self-host, fork it — we still win.
License

Prices, plain.

No credit card · No seat taxes · No surprises

  1. Free
    · · · · · · · · · · · · · · · · · · · ·
    100 documents / month. All parsing features. AQL queries included. Forever.
    $0/mo
  2. Pro
    · · · · · · · · · · · · · · · · · · · ·
    2,000 documents / month. Email support. Upgrade anytime — no hard overage block.
    $29/mo
  3. Team
    · · · · · · · · · · · · · · · · · · · ·
    10,000 documents / month. Ed25519 signing & verification. 24-hour email SLA. Overage $0.02/doc.
    $99/mo
  4. Scale
    · · · · · · · · · · · · · · · · · · · ·
    100,000 documents / month. Self‑hosted option. Slack support. Overage $0.01/doc.
    $499/mo
Vol. 0.1 · Thesis
2026 — present

Every AI team is losing 20–40 % of document quality to broken PDF ingestion. Tables become strings. Equations become gibberish. P‑values lose their type. tdoc gives agents the same structured view a database has — so your models cite a number, rather than merely see it.