Your ACL, not a service account
Every render happens as the requesting user — output never contains a field the requester couldn't see on screen.
Quarter-end usually means copy-pasting from five systems into a Word template that drifted off-brand two quarters ago, then versioning drafts by email. Here, documents are templates bound to live records: the data flows in, the brand applies itself, and the server renders the PDFs.
Record templates render one company or fund — tear sheets, IC one-pagers. Object reports compile a whole record set, one document or one per record. Either way, live embeds do the work: charts aggregated server-side, field grids, relation tables, financial trends, even AI summaries — every embed reads governed data at render time.
Vantage grew ARR 14% quarter-over-quarter on continued net-revenue retention above 115%. The Q2 mark of $610M cleared IC on June 9. — AI summary, refreshed from live data.
Accent, palette, curated font stacks, header and footer bands, and the logo all live at workspace level. A template can opt out if it needs to look different — but "fix the logo everywhere" becomes a one-field change, not a hunt through every file.
The AI reads the actual pages, extracts the branding — including ranked logo
candidates you confirm — and drafts the template as live bindings. The old {{tokens}}
become real variable pills mapped to your schema. You review it in the builder; nothing saves itself.
One click renders a print-grade PDF per company or fund — server-side, headless
Chromium, under the requester's own permissions — and files them in the Data Room under
Reports/<template>/<date>/, linked to each record, zip download included.
Compiled mode builds one document over a whole record set, up to 150 records per compile.
Workflows render documents on a schedule or a trigger — a quarter closes, marks get approved, an LP is added — and email them as attachments in the same run. No one has to remember quarter-end again; it's just a workflow that already ran.
Every render happens as the requesting user — output never contains a field the requester couldn't see on screen.
Page sizes, orientation and page breaks render as designed — an A4 template prints as A4.
Bulk output lands in the data room, linked to records, with the audit event to prove it.
Tear sheets and LP reports draft from live records — no copy-paste, no chasing the latest numbers.
Reports read the same financials grid your team already reconciles — nothing pasted, nothing stale.
A tear sheet or an IC memo pulls current marks and metrics the moment it's opened, not last time someone updated a deck.
Quarter-close reporting runs itself on a trigger — filed and emailed before anyone thinks to ask.
In 30 minutes the AI rebuilds it as a live template on your brand — then we render the whole portfolio to the data room while you watch.