Side Letter Obligation Extractor

An Ectotropy lab release

Every LP obligation you agreed to, in one register.

A fund with 40 LPs carries several hundred bespoke obligations. Reporting deadlines, fee offsets, MFN elections, consent gates, concentration limits. They live as prose, in PDFs, in a folder. Upload a side letter and get back a standardized register where every row carries its clause reference, its source page, and a verbatim excerpt you can check in seconds.

It flags instead of guessing.

A missing deadline or owner comes back as REVIEW with a reason. You can always tell the difference between no obligation and could not tell.

It scores its own confidence, and that changes the workflow.

Every row carries a confidence and a one-line rationale. Anything below 0.7 is routed to a review queue rather than quietly landing in your register.

It makes MFN comparable.

Carve-outs, conditions, and thresholds come back as structured data, so 40-day reporting at one LP and 45 at another line up side by side and the election gets priced instead of guessed.

Sample output, from a synthetic side letter. Every party and figure is fictional.
ClauseTypeObligationDeadlineMFNConsentConf.
§3(a)ReportingUnaudited quarterly financials and capital account statement45 days after quarter-endYN0.94
§4(b)Fee offset100% of monitoring and transaction fees offset against management feeOngoingYN0.91
§6Consent / approvalGP may not admit a competitor as an LP without prior written consentEvent-drivenNY0.88
§9(c)Excuse / exclusionExcuse right for investments restricted by the LP investment policyREVIEWNN0.62

Get access

Free, three documents. It runs a frontier model over a full PDF, so the cap keeps a free tool free.

Before you upload anything

  • Document text is sent to the Anthropic API. Do not upload what you would not send through it.
  • This extracts and structures. It is not legal advice and does not interpret enforceability.
  • Scanned PDFs need an OCR layer first, or paste the text instead.
  • Your register is stored in your browser, not on a server.

Built by Christian Busch. Source on GitHub.