The platform's most expensive automation
Every document you upload to a case file is — unless deliberately excluded — automatically read, classified, and added to the case file's fact graph. That's the copilot core of our platform: you don't have to trigger anything, the analysis just runs. But that also makes this one automation the most frequent and most expensive AI trigger on the entire platform — every upload can start a background run, including during a larger import with many files at once.
The question we asked about our own system
An automation that runs on every upload has to answer one simple question: does it only re-read when that's actually necessary? We audited our own architecture for exactly that. The result was mixed. At several central points — your AI assistant, pleading and contract drafts, the whole-case summary — the AI already grounds itself on facts already extracted and stored document summaries instead of the full text; full text is only reloaded when a specific question actually requires it. At one very frequently running point it was different: the automatic run that updates a case file's fact graph on every new document produced its own, throwaway summary for every affected document — even when that exact document had already been fully summarised shortly before.
What changed
Before an automatic analysis summarises a document, the system now first checks whether a fresh, same-language summary already exists — no matter which earlier process produced it. If one exists, it's used directly: no new AI call, no additional cost. If not, it's generated once and stored for every future consumer — your AI assistant, the document management system, every further automatic run. In this round we extended the principle to all three automatic analysis runs that read a case file in full — including by far the most expensive one, which works through a case file section by section: there, a cache hit saves not just a single AI call, but the entire multi-stage processing chain for that document.
Honest about the limits
A stored summary is never reused blindly. It has to match the requested language, be detailed enough — a very short summary isn't sufficient for a whole-case analysis — and be current: upload a new version of a document, and the previous cache entry is automatically treated as stale. And if text recognition (OCR) for a large scan is still running, the interim result is deliberately NOT cached — otherwise an incomplete first tranche would permanently displace the later, complete summary. We closed that exact gap, at the exact point where it first arose, while we were at it.
Efficiency is only half the story
Fewer unnecessary AI calls doesn't answer the second question: who decides how automatically your firm spends its quota? That's why your firm now has three additional controls. A firm-wide automation intensity — Conservative, Standard, or Maximum — determines how the platform reacts once the quota gets tight; it never decides whether agents work automatically, that stays on at every level. A staged notification at 80% and 90% of your monthly quota warns you well before the hard stop. And a freely configurable token cap per case file lets you separately limit one particularly large or sensitive matter — independent of the rest of the firm. On top of that, a fixed cap of 15 automatic runs per case file and hour has applied for a while, so that a bulk upload can't trigger dozens of simultaneous runs.
Bottom line
An AI tool that treats every request in isolation becomes needlessly expensive on recurring work within the same case file. Reuse instead of repetition is therefore not a side effect but an architectural principle we apply to every new automatic feature — and regularly re-check against the real state of the code, not just once while building it.
→ For lawyers: /fuer-anwaelte · Start verification: /lawyer/onboarding




