Environment and pre-processing — your own documents, retrieval and running IUCOM Reporter
Why the firm standard belongs in the request to the language model — when it should travel in full and be cached, when it should be retrieved in excerpts, what that costs, and which documents achieve what
Version 1.0 · 25 September 2026 · Working paper on software documentation
Abstract
A language model knows textbook legal practice, but not your department. The structure of your assessments, your phrasing, the classifications that are binding where you work — all of that lives in documents that never reached the request. This dossier sets out how they get there, what has to be weighed, what it costs and how the documents should be written.
Two methods are available. Passing everything with caching sends the whole collection with every request and lets the provider reuse the unchanged prefix. Selective retrieval (retrieval-augmented generation, RAG) looks up the fitting excerpts for each statement of facts and sends only those. The first has no recall loss but does not scale; the second scales but can miss.
The rule proposed here, and implemented in IUCOM Reporter, is therefore not a choice between the two but a threshold: up to about 12,000 characters everything, above it only what fits. It follows from the cost model of caching, from the position-dependence of long contexts, and from the observation that a firm standard typically sits just below that threshold. The cost calculation holds a surprise: with documents and caching a assessment costs less than without either. Passing the documents works with all providers in the program; only the price advantage differs.
New as of 3 October 2026
- Claude via Amazon Bedrock, ChatGPT via Azure OpenAI. For organisations with an AWS or Microsoft contract: Claude via Amazon Bedrock with the “EU only” tick (processing in EU data centres only, the place of processing is shown in the AI report) and ChatGPT via Azure OpenAI with your own resource. Enter region or address on the AI provider tab.
- Checked where everyone has the same foundation. Case law and legislation are the common foundation of every citation – there the Reporter is fully connected and checks against the official databases. It names the gap in the professional literature openly: literature references outside the sources appear as “not in the sources – to be checked”.
- PDF and browser too. Select text in a PDF (Acrobat, Foxit, Sumatra, PDF-XChange, Edge, Chrome) or on a web page – without a selection the whole text counts. The assessment goes into a new Word document (without Word into LibreOffice Writer). Proof-reading stays with writing programs.
- The icon bar in the document window. It moves into the window in front – Word, editor, PDF or browser – and shows all buttons there (no proof-reading in PDF and browser). Floating on the desktop it shows only the main button. If the window is closed, minimised or hidden, it waits on the desktop and returns by itself.
- Continuous progress bar – with Cancel. One window from reading to the finished answer: the reporter's emblem and name, the current step, provider, model and time – without gaps. Cancel stops the request at any time; the cancellation is logged with time and step and listed as “cancelled” in the archive.
- Check before sending: one table. Every item with placeholder, type and origin; uncertain items are at the top and marked yellow. With a right-click you decide whether an item is always or never anonymised in future. All these settings can be viewed and revoked in the options.
- More precise recognition. IBAN and card numbers only with a valid check digit (otherwise a yellow suspicion rather than a file number taken for an account); a form of address or role – “Mr”, “client”, “patient”, “born” – makes an uncertain name certain; law-firm and partnership names (“Gruber & Partner”) are replaced as companies.
- Narrated tutorial. The video explains every station with a synthetic voice – “Cori” on this English page, a narrator based on the “Kerstin” studio recordings (CC0, generated with Chatterbox, MIT) on the German one, “Cori” generated with Piper (MIT), both locally; the voice models are free of third-party rights (Kerstin: CC0, Cori: public domain).
- Checking rules against the sources – gold standard as an add-on. What is measured is whether an answer asserts something false: in use, fixed rules check every answer against the official sources. In the study mode answers of any origin – Reporter, plain prompting, other AI providers, humans – are compared blinded, with blind folder, Krippendorff's alpha and blinding check. Expert documents as a gold standard are now only an optional scientific add-on.
- Vetted AI providers only. You can choose Claude, ChatGPT and Mistral (EU), plus Claude via Amazon Bedrock (processing in EU data centres only, selectable) and ChatGPT via Azure OpenAI. Google Gemini, DeepSeek, OpenRouter and Groq are blocked – because of training on the data, processing outside the EU or uncontrollable routing.
1Starting point
IUCOM Reporter does not work from a free-form prompt but from a fixed, readable rule set. That rule set answers the question of how a assessment is built: which sections, in which order, which duties of care, what must not be said. It is professionally general and deliberately written so that it holds in any institution.
What it does not answer is how a assessment sounds where you work. Whether the impression starts with the leading finding or with the clinical question. Whether you write “no evidence of” or “no signs of”. Which version of a classification is binding and with which sector names. Whether volumes are given in cubic centimetres or millilitres. These rulings are no less binding than the rule set — they simply live elsewhere: in guidance notes, templates and tables circulating in the department.
A language model knows none of this. Nor can it guess: it then picks whatever dominates in its training data. The result is a professionally defensible but foreign text — and that is exactly the rework the tool is meant to avoid. So the task is to bring the existing documents into the request in a way that makes them effective without overloading it.
2The two methods
2.1Passing everything, with caching
A request to a language model consists of an unchanging prefix — system instruction, rule set, background material — and a changing part, here the statement of facts. The prefix is the same for every assessment. That is precisely what makes it cacheable.
Technically the following happens: the provider forms a match value over the beginning of the request and keeps the model's corresponding internal computation state. If a request with exactly the same beginning arrives shortly afterwards, that state is reused instead of recomputing the prefix. The benefit is twofold: the answer starts sooner, and the reused portion is billed far more cheaply than freshly processed input. Creating the entry costs slightly more than ordinary processing; from the second request on the advantage dominates.
Three properties matter for the trade-off. First, there is no recall loss: the model sees the documents in full, nothing can be missed by a search. Second, it is deterministic — the same prefix underlies every assessment, independent of the statement of facts. Third, it comes with conditions: the cached beginning must be character-identical, it must reach a provider-dependent minimum length (on the order of one to two thousand tokens, depending on the model), and retention is short — a few minutes without a further hit, according to the vendors. Whoever writes a assessment every few minutes works inside the cache throughout; whoever writes one a day, never.
Caching is not a saving mechanism but a structural requirement: it rewards requests whose unchanging part comes first and whose changing part comes last. Insert material after the statement of facts, or put the statement of facts before the documents, and the advantage is lost entirely — not partly.
2.2Selective retrieval
If the collection is too large to send every time, it is split and made searchable. Each document falls into chunks of about a thousand characters, cut at paragraph boundaries and with slight overlap so that no thought is severed. Word forms are counted for each chunk and for the statement of facts. The search then uses the measure long established in document retrieval: BM251.
The formula does not stop at plain word frequency. IDF weights rare words above common ones — “progression proviso” carries more information than “finding”2. The denominator damps two things: k₁ limits the effect of repetition, which contributes little beyond the third occurrence, and b removes the advantage of long chunks that would otherwise win by length alone. Word forms are normalised beforehand: lower case, umlauts expanded, common German endings stripped, stop words discarded. That way “lesions” and “lesion” coincide.
The alternative is retrieval by embeddings, where texts are mapped to vectors and compared by proximity5. It also finds related meaning without a shared word form and beats the lexical method wherever things are paraphrased rather than named. But it requires every document and every query to pass through a second model — as a rule at the provider, so outside the building, with its own interface, its own cost and its own data-protection assessment.
For a legal firm standard the lexical method is not the second best but the appropriate choice. The terminology is fixed: a statement of facts concerning a provision contains the words “section 12(1)(10) of the Corporation Tax Act”. Where matching is literal, the paraphrasing strength of embeddings brings no benefit — while its price, namely sending every document to a further service, remains.
3The trade-off
| Criterion | Everything, cached | Selective retrieval |
|---|---|---|
| Recall | Complete — nothing can be missed | Depends on wording and chunking |
| Waiting time | First request slightly longer, afterwards shorter than without documents | Constant; the search itself takes milliseconds |
| Cost | Created once, then heavily discounted reads — but the full length every time | Only the excerpts; independent of the size of the collection |
| Scaling | Ends where the prefix exceeds the window or the budget | Unbounded, because the selection stays small |
| Model attention | Falls with length; middle sections are used less well4 | Few, short, pertinent chunks |
| Data transmitted | The whole collection travels with every request | Only the selection; the search stays on the machine |
| Traceability | The request is identical for every assessment | Changes with the statement of facts; an audit needs a log |
The table shows no superiority but a reversal: every row tips with size. For small collections, passing everything wins on all counts except the amount transmitted; for large ones it reverses, and not gradually but as soon as two limits are crossed: that of the cache, which only carries a limited prefix length economically, and that of attention, since material in the middle of a long context is demonstrably used less well than material at its edges4.
The threshold set in IUCOM Reporter is 12,000 characters, roughly 3,000 to 3,500 tokens. It is chosen to safely exceed the minimum length for caching — below that nothing would be cached at all — while staying well under the length at which context position starts to tell. In practice that covers what a department actually writes as its standard: five to ten guidance notes. Whoever deposits a textbook collection falls above it — and is switched to retrieval automatically, with nothing to configure. The threshold is adjustable, but it is not a matter of taste: it follows the two limits named.
4Implementation
4.1Storage and preparation
The documents live in the program folder (subfolder “Unterlagen”); a button in the program opens it. Text and Markdown files are read directly. Word, RTF and PDF files are converted to text once through the word processor present on the machine; the result is kept beside the folder and tied to the source by timestamp and file size. If the source changes it is converted again, otherwise not. Measured on a Word file of medium size, the first conversion took 4.6 seconds, every later use one millisecond. At program start this happens in the background so the first assessment does not wait for it.
4.2Structure of the request
The order is not arbitrary; it follows directly from thesis 1:
- System block (unchanging, carrying the cache marker): the rule set, then — for a small collection — the complete documents.
- User block (changing): for a large collection first the retrieved excerpts with their source, then the task with the examination type, then the statement of facts.
From this follows a decision that looks perverse at first sight: the retrieved excerpts deliberately do not sit in the system block, although they are background material by nature. If they did, the prefix would change with every statement of facts and the cache would be missed for every assessment — including the rule set, which did not change at all. The changing part belongs behind the unchanging one, without exception.
4.3Precedence of instructions
The excerpts are handed over with an explicit classification: they are reference, not assessment content. Spelling, structure, phrasing and classifications follow them; everything factual comes from the statement of facts. Where a document contradicts the statement of facts, the statement of facts wins. Where a document describes a finding the statement of facts does not contain, that finding has no place in the text. This precedence is the real safeguard of the method — without it a well-meant template produces exactly the error it was meant to prevent: a building block describing something that was never seen.
5What it costs
Please note: All figures on operating and third-party costs – in particular the fees of the AI providers – are estimates based on the information currently available. Provider prices may change, and actual usage depends on how you work. We therefore cannot guarantee the costs actually incurred.
The question comes up immediately: if a whole stack of your own documents travels with every single assessment — does that not get expensive? The answer is no. With caching it actually becomes cheaper than going without them. Here is why.
Billing is by amount of text. The unit is the token; a thousand tokens are about 700 words, roughly a page and a half. Two things matter. The text you send is cheap — the text the AI writes costs about five times as much. And if the beginning of a request repeats, next time it costs only a fraction. That is the cache.
Take an ordinary assessment: rule set a good two pages, own documents four pages, statement of facts half a page, finished assessment just under a page. Throughout, the calculation uses the model class best suited to this task — which one that is, and why, is set out in section 5.1. A assessment then costs:
| Case | What is involved | Cost |
|---|---|---|
| Today — without your own documents | rules and statement of facts out, assessment back | 0.5 cents |
| With documents, provider without caching | four extra pages out — every time | 0.8 cents |
| With documents, first assessment | the provider stores the prefix | 0.9 cents |
| With documents, every further assessment | the prefix comes from the cache | 0.4 cents |
The last line is not an arithmetic slip. It is not only the collection that goes into the cache but the rule set as well — and from the second assessment on both are read at a tenth of the price. The surcharge on the first assessment is thus recovered after a single further one.
Per workstation: 50 assessments a day on 20 working days makes a thousand assessments a month. That costs:
| Case | per assessment | per person and month | and year |
|---|---|---|---|
| Without your own documents | 0.5 cents | about €4.60 | about €56 |
| With documents, without caching | 0.8 cents | about €7.40 | about €88 |
| With documents and caching | 0.4 cents | about €3.40 | about €41 |
| the same with a large model (Opus class) | about 5.7 cents | about €52 | about €620 |
| locally with Ollama | — | €0 | electricity and hardware only |
A high-volume workstation therefore costs about three and a half euros a month when the documents travel along and the provider caches — less than the €4.60 without documents. A department with ten people assessing comes to some €34 a month. By comparison, the same work with a large model costs about €520 a month. The choice of model thus weighs some fifteen times more heavily than the question of whether your own documents travel along. Whether they do is not a question of money.
What shifts the calculation. The model: a large model of the Opus class costs some fifteen times as much, a local model through Ollama nothing at all. The interval: whoever writes a assessment only every few hours creates the prefix anew each time and stays at about 0.9 cents — still barely more than going without documents. The size: for large collections retrieval takes over, so only a few pages travel, but the caching advantage falls away. What costs nothing at all is reading in the documents and the search itself — both run on your own machine.
Web search by the AI (since 1 October 2026, Claude only). The search costs money of its own: Anthropic charges 1 cent per search, at most five per assessment, so up to 5 cents. On top come the tokens for the search results, and between searches the AI reads the request again — the input tokens of an assessment with web search can therefore be several times higher. The total cost of a query thus consists of the AI preparation of the search, the relevance check, the assessment including its search rounds and the search fees; the cost book records everything with the case, the assessment shows the web search separately. As a rough estimate (no guarantee): with a small model the cost of an assessment roughly doubles, with a large model a few tenths of a euro per assessment are added. The plausibility check afterwards costs nothing — it runs on your own machine. Web search is switched off by default; whoever switches it on pays for every search even if it finds nothing useful.
5.1Which model class fits — and what it costs
The choice of model is the largest lever on cost (a factor of fifteen between small and large) and equally the largest on quality. So the question is not “which model is best” but: what does this task actually require?
It requires obedience to instructions (fourteen rules, an output structure, prohibitions that must not soften), completeness (every reportable item named individually), sure professional language and the discipline to invent nothing. It does not require what distinguishes large models: multi-step reasoning, weighing under uncertainty, calculation, world knowledge at its edges. The structure comes from the rule set, the facts from the statement of facts, the tone from your documents — the model has to order and phrase. And while dictating, waiting time counts: a small model answers in seconds, a large one keeps you waiting.
| Class | Fit for assessing | per assessment | per month |
|---|---|---|---|
| Small and fast Haiku, mini, Flash class |
Matches the task. Obedient, fast, professionally sure enough — the structure comes from the rule set anyway. | 0.4 cents | about €3.40 |
| Medium Sonnet class |
Noticeably better where the IMPRESSION gets demanding: many pathologies, synthesis, unclear statements of facts. | about 1.1 cents | about €10 |
| Large Opus class |
No discernible gain for this task, at fifteen times the price and a noticeably longer wait. | about 5.7 cents | about €52 |
The small, fast class as the standard — selectable in the program (Claude Haiku 4.5; the factory setting is Claude Opus 5). At a thousand assessments a month it costs about €3.40 per member of staff, some €41 a year.
Anyone who wants to treat the hard cases differently switches to the medium class on the AI provider tab. For a tenth of the assessments that makes about €4.10 a month instead of €3.40 — seventy cents for a hundred difficult assessments. The large class does not pay off for this task.
This can be checked rather than believed: run ten typical statements of facts once through the small and once through the medium class and compare the results without knowing which is which. If you see no difference, there is none for your cases — and the decision is made. That comparison costs less than twenty cents in total.
Two conditions are unaffected by the class. Language: for German professional texts the differences between vendors are larger than between two classes of the same vendor — a reason to run the comparison across providers as well. And data protection: a local model through Ollama costs nothing and releases nothing, but needs a machine with graphics memory and stays behind the named classes in phrasing quality.
6Does it work with every provider
Two questions must be separated. Passing the documents is ordinary text inside the request — it works with all providers in the program without exception, as does retrieval, which runs on your own machine anyway. What differs is only whether caching applies, and with it the price advantage.
| Provider | Caching | What it means in practice |
|---|---|---|
| Claude (Anthropic) | Explicitly requested | IUCOM Reporter sets the marker itself; full benefit once the minimum length is reached. |
| ChatGPT (OpenAI) | Automatic | Unchanged prefixes above a minimum length are reused without any action. |
| Mistral (EU) | Not generally | The documents still take effect, the price advantage does not; cost stays around 0.8 cents per assessment. |
| Ollama (local) | Local, nothing billed | The server keeps the computation state of an unchanged prefix anyway; there are no costs at all. |
Blocked providers (since 5 October 2026). Google Gemini, DeepSeek, OpenRouter and Groq are blocked in all reporters – because of training on the data, processing outside the EU or uncontrollable routing. You can choose Claude, ChatGPT, Mistral (EU) and Ollama locally, plus Claude via Amazon Bedrock (processing in EU data centres only, selectable) and ChatGPT via Azure OpenAI.
6.1Roughly what the providers cost
Prices as at the time of writing – an estimate based on the information currently available, without guarantee for the costs actually incurred; the providers' current price lists are authoritative.
The price differences between providers are considerable — larger than anything caching contributes. The table below runs the same thousand assessments a month from table 3 through every provider, without caching so that the figures stay comparable. Where caching applies, the amount falls to roughly a half or a third.
| Provider (model class) | input / output per million tokens | 1,000 assessments a month |
|---|---|---|
| Ollama (local, your own model) | — | €0 |
| Mistral (small model, EU) | about $0.20 / $0.60 | about €1.30 |
| ChatGPT (small model) | about $0.40 / $1.60 | about €2.70 |
| Claude (Haiku class) | about $1 / $5 | about €7.40 |
| Claude (Sonnet class) | about $3 / $15 | about €22 |
| Claude (Opus class) | about $15 / $75 | about €110 |
Two lessons. First, a factor of eighty separates the cheapest route from the dearest — the choice of model decides the cost, not the question of whether your own documents travel along. Second, even the dearest amounts are small: €110 a month for a thousand assessments is eleven cents per assessment. The choice should therefore follow the quality of the texts and the data situation — an EU provider or a local model may be preferable for reasons other than price.
So anyone not using one of the first four providers loses nothing in effect — only the discount. And anyone working locally with Ollama does not face the question: there, neither input nor output costs anything, and the documents never leave the machine.
7Which documents achieve what
Not every document has the same effect. The overview below sorts the usual genres by what they actually change in the generated text.
| Document | What it achieves | How it should be written |
|---|---|---|
| House standard per examination structure, mandatory items |
Strongest effect. Fixes order, headings and the items that must never be missing. | A short, imperative list; one line per rule. Put the examination type in the file name, because the name travels with the excerpt. |
| List of preferred phrasings | Acts directly on word choice — the fastest way to remove a foreign ring. | In pairs: “instead of X → Y”. A few dozen pairs suffice; justifications are superfluous. |
| Classification tables citation of a provision, BI-RADS, Fleischner … |
Secures the right version and the right category names. | Deposit only the version binding in your department, with the version number on the first line. Two versions side by side create contradictions. |
| Model assessments one or two per examination |
Acts on sentence structure and length, hence on tone. | Only invented or fully anonymised cases. Keep them short — a model assessment is quickly longer than the entire rest of the firm standard. |
| Units and abbreviations | Unifies measurements and abbreviations; prevents switching between millimetres and centimetres in one text. | Tabular, without prose. |
| Negative list what is not written where you work |
Strikingly effective, because prohibitions steer a model better than recommendations. | “No treatment recommendations”, “no probabilities in per cent” — one sentence per point. |
| Unsuitable | Textbook chapters and complete guidelines (their length crowds out everything else), real previous assessments with personal data, several versions of the same standard, scanned images without a text layer. | |
7.1Seven rules for the folder
- Meaningful file names. The name travels with the excerpt and is itself a search term. “mri_prostate_standard.docx” beats “Standard_final_v3.docx”.
- One subject per file. That helps retrieval choose and helps you maintain them.
- Imperative, not narrative. “State volumes in cubic centimetres” works; “We usually state volumes in cubic centimetres because …” dilutes.
- Remove contradictions. Two files ruling the same thing differently are worse than none. Old versions belong out of the folder, not in it.
- Stay below the threshold. As long as the display says “small enough”, everything travels — the safest state. Whoever exceeds it should first check whether prose can be cut before relying on retrieval.
- Read again after depositing and check the status: count, characters and the chosen route are shown on the tab.
- Judge by the result. Run one typical case twice, with and without the checkbox, and compare the two texts — a minute that shows whether the documents work and what is still missing.
8Due care in legal work
No client data in the folder. The documents go to the AI provider whose key is entered — with a small collection, with every single assessment. Model pleadings, examination schemes and firm standards belong there; real files with names, dates of birth or case numbers do not. A real pleading as a “style example” is exactly the case that must stay out. Passing them along can be switched off with a checkbox at any time.
Confidentiality is not a trade-off. Whatever goes to a provider leaves the firm. The templates and rules that arrive there must therefore contain nothing attributable to a particular mandate — not even indirectly through an unusual description of the facts. When in doubt, anonymise the template before it goes into the folder.
The search stays on the machine. Splitting, weighting, semantic search and selection are computed locally; no retrieval service is contacted and no index is outsourced. Only what was actually selected is transmitted.
Checked where everyone has the same foundation. What is measured is not whether the AI finds the one right solution, but whether it asserts something false. Cited decisions that do not come from the research are looked up by the program in the official databases; those not found or wrongly dated are flagged. Case law and legislation are the common foundation every citation must ultimately rest on – there IUCOM Reporter is fully connected: RIS, German federal courts and statutes, EUR-Lex, the CJEU and the ECtHR. With the professional literature the gap everyone has remains; the Reporter names it openly – a literature reference that does not come from the sources appears in the text as “not in the sources – to be checked”. The program appends the required attributions of the sources itself.
The assessment remains a draft. Neither the rule set nor the documents change the fact that the model writes from what it was given. They improve the form, not the factual basis and not the law. Review by the lawyer remains necessary; the tool gives no legal advice and represents no one.
9Limitations
- Literal matching. Lexical retrieval finds what matches in word form. A statement of facts that consistently paraphrases while the document names the thing goes unserved. Remedy: write the documents with the terms that are actually dictated — or name the synonyms once, explicitly.
- Chunking. Where an argument runs over several pages it may fall between two chunks. The overlap softens this; it does not remove it. Short, self-contained sections suit the method better than long prose.
- Cache retention. Whoever assessments at long intervals creates the prefix anew every time and gains nothing from caching — but suffers no disadvantage either.
- Provider dependence. See table 5: the effect is the same everywhere, the price advantage is not.
- No substitute for the rule set. Documents describe habits, not duties. Whatever must always apply belongs in the rule set, which instructs explicitly — not in a template from which it has to be inferred.
10The pre-processing stage in detail
Everything described so far concerns what goes out. This section concerns the stretch before that: what happens between the moment you press the key combination and the moment the request leaves the building. That stretch is called the pre-processing stage here. It is invisible, and that is precisely why it deserves to be written down: each of its parts helps decide what the model gets to see — and a model only answers what it sees.
The principle behind it is simple and the same in both reporters: the model is not made better, the question is. Every part described here is computed locally, without any outside service; it costs nothing per request and works without a network.
10.1Splitting: paragraphs, headings, overlap
A collection too large to be passed in full has to be split before it can be searched. How it is split decides everything that follows — a badly cut collection cannot be rescued by any search method.
Cuts are made at paragraph boundaries until about 900 characters have gathered; the last paragraph of a piece repeats in the next, so that no thought falls between two pieces. Each piece also carries the heading it sits under: it counts twice in the weighting and goes out with the excerpt, so the model knows what the passage is about.
That this description is accurate is not a matter of course but the result of a measurement. On a real working paper of 51,505 characters it turned out that Word puts a single paragraph mark between paragraphs while the program only split at blank lines. The consequence was that the entire file counted as one paragraph — cut blindly into equal blocks, without a single recognised heading. A second fault made the cutting loop advance by one character at a time at the end of a long paragraph. 66 paragraphs thus became 1,997 near-identical snippets averaging 88 characters.
| Measure | before | after |
|---|---|---|
| pieces from 51,505 characters | 1,997 | 76 |
| average piece length | 88 characters | about 680 characters |
| pieces with a recognised heading | 0 | 76 |
| hits for questions in the words of the text | 3 of 3 | 3 of 3 |
The last row is the most instructive: literal search worked the whole time — which is why the fault went unnoticed. It only became visible when the pieces were counted. Anyone running a pre-processing stage has to measure it; it does not assessment itself.
10.2Searching two ways: wording and meaning
The lexical measure (section 2.2) hits what is written. It misses what says the same thing differently. How often that happens can be measured: eight questions were put to the same 76 excerpts — three in the words of the text, five paraphrased, the way a user asks who does not know the document by heart.
| Question | wording | meaning | both |
|---|---|---|---|
| “omnibus directive easing assessing duties for businesses” | 39 | 4 | 4 |
| “How much must one read today to judge a tax liability?” | 12 | 1 | 3 |
| “Should large groups observe a floor in taxation?” | 21 | 16 | 13 |
| three questions in the words of the text | 1 | 1 | 1 |
| within the first five: wording 4 of 8 · meaning 5 of 8 · both 6 of 8 | |||
Measured in the finished program, that is including selection and the character budget: for questions in the words of the text it stayed at 3 of 3; for paraphrased questions the yield rose from 1 of 5 to 3 of 5. Two paraphrases remain unserved — a foreign term such as “decluttering” can neither be guessed nor paraphrased.
Meaning is computed by a small multilingual model (multilingual-e5-small, quantised, about 120 MB) that turns any text into 384 numbers; the closeness of two texts is then a simple dot product. Both measures are put on a common scale per question and mixed 60 % wording to 40 % meaning; whatever falls clearly behind is dropped. That last part matters: measured against two unrelated questions (a riding horse, lilac blossom) the second measure sent out not one character more than without it — 1,984 and 3,738 characters against 1,984 and 3,750. The second measure lifts what fits; it does not invent anything.
A second measure does not replace the first; it insures it against the case where the user does not know the document by heart. The price for it, however, must not be that the documents leave the building — which is why local computation is not one option among several but the condition under which the method can be considered at all.
10.3Selecting: stock, statutory reference, near-duplicates
IUCOM Reporter adds a second selection stage, because there not only your own documents but official sources go along (RIS, BMF Findok, EUR-Lex). Each source returns three times what goes out; from that the program picks. Fit to the facts is weighed, and a hit in the statutes or in the file number counts double — in law the provision is the most precise signal. Whatever overlaps too strongly with an already chosen decision drops out: five sources on the same proposition would be four too many.
That this too must be measured was shown by the running time. A full query initially took 126 seconds. Measuring each source separately revealed that EUR-Lex ran for 120 seconds and never returned a source: the query scanned the full text instead of using the full-text index. After the change the same query takes 0.3 seconds with the same hits. With the stock capped, the selection done in two stages and the propositions fetched side by side rather than one after another, the whole query now takes 6.4 seconds.
Since 28 September 2026 the statutory text itself goes along as well — from the consolidated federal law in the RIS, in the version in force on the date set. The search there does not use keywords but norms: those the facts name (dictated too, “Paragraf 33 Absatz 10 EStG”) and those the decisions found rely on — from all areas of law, not only the one selected. A tenancy case that names no provision at all thus received § 1096 and § 1097 ABGB, § 3 and § 33 MRG and § 9 KSchG verbatim, via the norms of the Supreme Court decisions. Two quirks of the interface had to be caught: a search for “EStG” also finds ordinances “under § 108 EStG”, and asking for § 33 also returns § 33a — the decision is therefore made on the abbreviation field and the exact section.
The search itself: AI preparation. Since 30 September 2026 the program no longer decides alone what is searched for. The databases' full-text searches join all words of a query with AND and know no synonyms; facts in everyday language find nothing there — or, shortened step by step, the wrong thing. Measured on a medical liability case (contrast CT without written consent, death on the way home): the shortening ended at “wurde in einem Krankenhaus” and returned asylum decisions of the Federal Administrative Court, whose norms then pulled in the Asylum Act. Today the facts — pseudonymised and after the check before sending — go to the model you set in a short preliminary step (at most 1,024 tokens). It answers in fixed lines: area of law, the competent RIS collections (for medical liability only the Supreme Court and ordinary courts — without this restriction the newest decisions of all collections were asylum cases of the Federal Administrative Court), three to five RIS queries in the words of the courts (narrowest first), the relevant Austrian provisions, with German sources their queries and provisions, and for Findok and EUR-Lex queries only if tax or Union law is involved — otherwise those sources are not asked. Each source works through the queries in turn, each in full; the AI's provisions come before those of the decisions in the statute search. The same case thus returns the Supreme Court's propositions on the doctor's duty to inform and §§ 1299, 1295, 1327 ABGB, § 5a KAKuG and § 51 ÄrzteG. The preparation is shown in chapter 1 of every assessment; without a key or an answer the program searches as before with terms it extracts itself.
CJEU and ECtHR as sources of their own. Since 2 October 2026 the Reporter queries the judgments of the Court of Justice and the General Court of the EU as a source of their own – the same open EU data service as EUR-Lex, but case law only (CELEX sector 6, judgments), whenever the AI sees Union law affected. Until then CJEU judgments came only through EUR-Lex and shared the places with the legal acts. In addition the European Court of Human Rights through HUDOC, the Court’s open database: the AI forms English queries of its own, but only if the ECHR is affected – fair trial and length of proceedings (Art 6), private and family life (Art 8), freedom of expression (Art 10), discrimination (Art 14), property (Art 1 Prot. 1). Under the Court’s terms of use only case name, application number, date, ECLI, outcome and link are used, marked © ECHR-CEDH – no judgment text. The citation reads “ECtHR 5 September 2017, 61496/08, Bărbulescu v. Romania”.
Citation and footnotes (since 1 October 2026). Citations follow the AZR (citation rules of Austrian legal language), for all sources: no abbreviation dots (§ 1295 Abs 1 ABGB, Art 7 B-VG), decisions as court, date and file number, the CJEU with ECLI and Rn, several citations separated by semicolons. The text carries only the footnote number – at the statement the citation supports, after the punctuation –, the full citation is in the footnote. In Word the program creates real footnotes; other programs get superscript digits with the list below. In the assessment every decision carries a ready line “Citation (AZR)”.
Web search by the AI and plausibility check (since 1 October 2026). Web search is switched off by default and is switched on in the settings file ([websuche] an = ja). Then, with Claude as provider, the AI receives the Anthropic web search tool for every assessment (basic version, at most five searches) – restricted to official and reliable legal sources listed in the settings file. It searches on its own for what the sources do not cover; the queries contain only legal terms and provisions, never names or placeholders. Web sources go into the footnote in AZR form with their address. Afterwards the program checks every web source – at no further AI cost: (1) official, permitted domain, (2) really among the search results or invented, (3) reachable, (4) the wording the AI relied on is on the page, (5) the cited file number is on the page. A file number confirmed on the page counts as supported in the citation check. Anything conspicuous is reported at once; queries, results and the finding per source are in the assessment and the archive. If the provider rejects the tool, the assessment is written automatically without web search. The limits: only freely accessible official pages are found – not commentaries and journals behind paywalls –, the Reporter already queries many of them through their interfaces, and every search costs money even without a useful result.
German sources and legal order. Since 29 September 2026 IUCOM Reporter can also query German sources: the federal legal information portal (case law of the federal courts and federal statutes), Open Legal Data (decisions including state and lower courts), GovData (open administrative data) and gesetze-im-internet.de, the official collection of the Federal Ministry of Justice, for the wording of German norms. Every source carries its country (AT, DE, EU) — as a flag in the archive, as the attribute land in the request. Depending on the countries chosen, the model receives a binding legal order: Austrian only, German only or EU law only; for a mix the combination, presented separately with the essential differences. A source applies only within its own legal order; a foreign one is used only for comparison and expressly marked as such.
10.4Handing over: elements instead of running text
The selected sources do not go out as running text but as marked-up elements: court, file number, date, type, statutes and link are properties, with the proposition itself in between. The difference is not aesthetic. What appears in a line as “Ro 2020/13/0002 of 15 Mar 2021” must first be recognised as a file number; what stands in a property gz is the file number. When citing, precisely that decides whether a number slips.
The record: the archive. Every query leaves exactly one file in the protected filing folder (readable only by your own Windows account): the raw text of the assessment. It holds the query, the coloured statistics per source, every source verbatim with the flag of its country, the block that went to the model word for word, the model's answer and the log of the AI request — provider and model, tokens, duration, stop reason and the request verbatim, with placeholders instead of personal data; if pseudonymised, the replacement table follows. Word, PDF and HTML are created from it only when opened, in a view folder that is emptied again. There is thus no second version that could go stale, and the HTML view works without Word and without a network. A assessment can be renamed; the list is grouped by day and can be filtered by period. The table of contents names the provision for each source (“§ 3 AsylG 2005 – Asylgesetz 2005”) or, for decisions, court, file number and statutes in short form (“BVwG L509 2169518-1 – AsylG 2005 §§ 3, 8, 10, 57”) – built when opened, so older assessments get it too. The HTML view of the selected entry is prepared in the background and opens at once; Word and PDF are created at a click in an invisible Word session (42 pages: Word about 9 s, PDF about 7 s more).
10.5Learning from the correction
The last part works in the other direction. If a result is corrected by hand, the program compares draft and final version on request and proposes a rule from the difference — not silently, but as a proposal the user accepts, edits or discards. A habit that so far existed only in someone’s head thus moves into the rule set that leads every future request.
Learning, guided. Since 2 October 2026 learning no longer runs silently in the background but in an assistant with four steps. Compare: the AI's draft and your version side by side, every change below as ‘old → new’ – the draft comes from the last answer, after a restart too, or from an earlier saved answer. Choose rules: the AI proposes up to two general rules, each with a tick box and editable; an own rule can be added. Scope: for all assessments or only for the area of law. Adopt: the assistant shows what goes into the rule set and warns if a rule is already there; only ‘Adopt’ writes. It opens via the shortcut, the learn button on the bar or ‘Learn …’ on the rules page.
10.6What it gains over “without”
| Part | Without it | With it (measured) |
|---|---|---|
| splitting at paragraph boundaries, with heading and overlap | 1,997 snippets, no heading, contexts torn apart | 76 pieces, each with its heading |
| heading inside the excerpt | the model reads a paragraph without knowing its subject | the passage is named; one more question answered |
| lexical search (BM25) | order by chance or file date | literal questions: 3 of 3 |
| semantic search (local, hybrid) | paraphrased questions: 1 of 5 | paraphrased questions: 3 of 5, with no extra output on unrelated questions |
| selection by statutory reference, near-duplicates damped (IUCOM) | five sources on the same proposition | different arguments within the same budget |
| AI preparation of the search (IUCOM) | facts in everyday language hit asylum decisions | queries in the language of the courts; Supreme Court on § 1299 ABGB instead of the Asylum Act |
| full-text index instead of full-text scan (EUR-Lex) | 120 s, no source returned | 0.3 s; whole query 6.4 s instead of 126 s |
| marked-up hand-over | the model extracts attributes from a line | each attribute sits in its place |
| statutory texts from the norms of the decisions (federal law) | tenancy case without a provision: no norm in the request | § 1096, 1097 ABGB, § 3, 33 MRG, § 9 KSchG verbatim |
| learning from the correction | the same correction with every request | the habit is in the rule set from now on |
The effort is small and does not fall on the user: the vectors of all pieces are computed once when reading in (76 pieces in about 1.5 seconds) and then sit as a file next to the documents; per question a single computation of a few milliseconds is added. The compute service occupies about 190 to 220 MB of memory while running and starts in about half a second.
10.7The semantic model: origin and way of working
What it is. The semantic search of section 10.2 runs on multilingual-e5-small, a text embedding model by Microsoft Research. It writes no text and answers no question. It turns a text into a row of 384 numbers — a vector. Texts that mean something similar get similar vectors even if they share no word. That is exactly what lexical search lacks: it finds “rent reduction”, but not “paying less rent because the heating fails”.
Origin. The model is a small transformer in the style of BERT: 12 layers, 12 attention heads, a width of 384 numbers, about 118 million weights. Most of them sit in the vocabulary of about 250,000 word pieces for roughly a hundred languages, taken over from XLM-RoBERTa; German and English are well represented. It started from Microsoft's Multilingual-MiniLM and was trained in two stages: first “contrastively” on about a billion multilingual text pairs from the web — such as heading and paragraph, question and answer — pulling matching pairs together and pushing unrelated ones apart; then on hand-labelled datasets for retrieval and similarity. This is described in Wang et al., Text Embeddings by Weakly-Supervised Contrastive Pre-training (2022) and Multilingual E5 Text Embeddings: A Technical Report (2024). The model is licensed under MIT; the attribution is in the program's third-party licences.
The version shipped: ONNX, 8 bit. What ships is not the training format but a version in the open exchange format ONNX (Open Neural Network Exchange) — a vendor-neutral format holding a trained network as a computation plan with its weights. It comes from the “Xenova” collection on Hugging Face and is quantised: the weights are stored in 8 instead of 32 bits. The file model.onnx thus shrinks to about a quarter (about 113 MB) and runs faster; for this purpose the ranking of hits barely changes. The model is executed with Microsoft's ONNX Runtime (MIT licence), on the processor only and with at most four cores (half of those available); no graphics card is needed.
How a text becomes a vector.
- Marking. The text is prefixed with “query: ” for a question or “passage: ” for a piece of the documents. That is how the model learned to tell question and source apart; without these markers it is measurably worse.
- Splitting into word pieces. The text is split into the word pieces the model knows (SentencePiece unigram, as in XLM-RoBERTa); a long word such as “Mietzinsminderung” falls into several pieces. Of all possible splits the one with the best overall score is chosen. The splitter is programmed into the service itself; its word list
woerter.bin(250,002 entries, 3.7 MB) is derived once from the model's vocabulary file. A piece is cut after 256 word pieces. - Computing. For every word piece the model returns 384 numbers that take the context of the whole piece into account — “bank” next to “loan” comes out differently from “bank” next to “river”.
- Averaging and normalising. The numbers of all word pieces are averaged and scaled to length one. Comparing two texts is then a simple dot product, the cosine similarity: the closer to one, the closer the meaning.
How it is integrated. The compute service semantik.exe sits in the program's Semantik subfolder and runs as a separate process; the reporter talks to it through standard input and output, one line per job. The vectors of all pieces of your own documents are computed once when they are read in and are then kept in a file next to the documents — with a checksum per piece so that only changed pieces are recomputed. Each request adds a single computation for the question. The ranking mixes 60 % lexical search (BM25) and 40 % meaning, both first brought to the same scale; anything reaching at least 55 % of the best score is considered. If the service is missing or does not start, the reporter works as before with lexical search alone — nothing depends on it.
What it costs and what it does not do. Measured: about 8 ms per piece, 25 ms at full length; the service starts in 0.4 to 0.55 seconds and uses 187 to 218 MB of memory. It needs no network, downloads nothing and sends nothing — the vectors never leave the machine; only what the selection puts into the request as an excerpt goes out. Its limits are those of a small model: it knows specialist language only as far as it occurred in its training data, and bare statutory citations or very short questions are better served by lexical search. That is why semantic search complements lexical search rather than replacing it — measured, paraphrased questions went from 1 in 5 without it to 3 in 5 with it, literal questions unchanged at 3 in 3.
10.8Pseudonymising and the check before sending
Before a request leaves the machine, the reporter replaces personal details with placeholders such as [PERSON_1] or [FIRMA_2]. It recognises 18 kinds: names and titles, companies, addresses, e-mail addresses, telephone numbers, IBAN, account and card numbers, social security, ID and tax numbers, vehicle registration numbers, IP addresses, dates of birth, patient or case numbers, and company register and VAT numbers. The same person gets the same placeholder throughout the text — the context stays understandable, only the identity is gone. The search terms for the online sources are also formed from the text after replacement.
Names from context (since 2 October 2026). Fixed rules capture whatever has a recognisable form — identification numbers, addresses, names after a title or role. They miss a first name on its own or a foreign name without a title. A local name model therefore runs as the primary pass (xlm-roberta-base-ner-hrl, licence AFL-3.0, reduced to 8 bit, 278 MB) in the same computing service as the semantic search: it recognises people and companies from context, in German, English and eight more languages, offline and without any text leaving the machine. Certain persons are replaced; uncertain finds and companies appear yellow in the check before sending for confirmation; courts, authorities and medical eponyms (“Crohn’s disease”, “Bosniak”) are left alone. If the model is missing, a check against the Windows dictionary takes over as the fallback: capitalised words known to neither the German nor the English dictionary count as suspected. In addition two remembered lists — “always anonymise” and “never anonymise” — apply to every run. Since 3 October 2026 the check shows every item in one table – with placeholder, type and origin; removing the tick puts the original back, uncertain items are yellow at the top, and whatever is sent yellow and unticked counts as harmless from then on (a third list). In addition IBAN and card numbers count only with a valid check digit, a form of address or role makes an uncertain name certain, and law-firm and partnership names are replaced as companies.
Check before sending. If anything was replaced or is suspected, the reporter shows the version about to go out in a separate Word instance — apart from the one you are working in — with every replacement highlighted in red. Only after your confirmation does the request go out; anything the recognition missed can still be replaced by hand there. Without Word a built-in window takes over.
Putting the data back. The model's answer contains the placeholders. On request the reporter puts the real details back locally and again shows the result in a separate Word instance, every restored detail in green: Insert real data passes the answer on in plain text, Keep placeholders leaves it pseudonymised. The mapping placeholder → plain text never leaves the machine; it is kept as the replacement table in the archive, in the protected folder (section 11.8). Learning from corrections (see there) also works on the replaced text.
Word and sense check. The last rule of every request is a plausibility test: before answering, the AI checks every word – does it exist, is it spelled correctly, is it the right term. It checks the text it was given in the same way: dictation and typing errors are read correctly where that is unambiguous; ambiguous passages are rendered neutrally and reported separately as “unclear in the text”. On request (Options, off by default) the program then checks again – before the data are put back, so on the placeholder text only. First it enforces fixed spellings (“Rechtssprechung” becomes “Rechtsprechung”). Then it pre-sorts: what Windows spell check knows, what is in the texts sent along (facts, sources, statutes, rules and documents) and what the learned term list contains counts as known. The AI checks the small rest and the text itself in a short extra call for two kinds of error: invented or misspelled words (coinages that do not exist in legal language) and correct words in the wrong place (an “appeal” where the procedure has a “revision”). Confirmed words are added to the term list for good; words found wrong are replaced and their correct form remembered, so the next time they are corrected at once without the AI. A correction by the AI only applies if the corrected form is itself known – otherwise the program reports the word as “please check”. Content, figures and assessment are left untouched; the extra call is entered in the cost book. No ready-made open German term list exists – so the list grows out of the work itself, without manual effort.
Interpretation, rank of sources and length. Since 2 October 2026 every assessment carries a rule of its own on interpretation: the rank of sources – constitution, EU law and ECHR, statute, supreme courts (VfGH, VwGH, OGH, CJEU, ECtHR; in Germany the BVerfG and the federal supreme courts), lower courts, administrative view (not binding), scholarship and legislative materials as aids – and the method under §§ 6 and 7 ABGB: meaning of the words in context, intention of the legislator, purpose; analogy and general principles only for an unintended gap. To that end the Reporter now also queries the legislative materials of Parliament (government bills with explanatory notes, committee reports) and legal scholarship via OpenAlex, Crossref and DOAJ – both as aids, cited only if among the sources. The length is chosen in the Options: short, medium or detailed.
Limits. Recognition works with patterns and name lists. Unusual spellings, names that are also ordinary words, or details that identify a person only in context can slip through — hence the check before sending. It does not replace the care of not writing unnecessary personal details into the request.
No guarantee, and a separate question: professional secrecy. Whether a pseudonymised request is still personal data depends, under Recital 26 GDPR, on the means by which a person remains identifiable — this is not established for the individual case. Separate from this is professional secrecy: tax advisers and auditors under § 80 WTBG 2017, lawyers under § 9 RAO. It applies independently of data protection, also to information without personal reference. Whether a client secret may go to an AI provider – even pseudonymised – is not answered by pseudonymisation; it reduces the risk but replaces neither the assessment in the individual case nor the contractual safeguards of the provider and, where in doubt, the client’s consent. Disclosure can only be ruled out with a local model.
11Environment, requirements and on-site installation
This section applies to IUCOM Reporter and states what a machine must bring so that operation is smooth, and what is to be done when setting up on site.
11.1The machine
| Item | Minimum | Recommended |
|---|---|---|
| operating system | Windows 10 or 11, 64-bit | Windows 11, current patch level |
| .NET Framework | 4.7.2 (included in Windows 10/11) | 4.8 or newer |
| memory | 8 GB | 16 GB |
| processor | four cores | eight cores; no graphics card needed |
| disk space | 200 MB (154 MB installed) | 1 GB for documents and assessments |
| display | 1280 × 800 | 1920 × 1080 or larger |
| word processor | Microsoft Word (for statement of facts and hand-over) | Word 2016 or newer |
Semantic search is the only part with a noticeable appetite: about 190 to 220 MB of memory while it runs, and about 25 milliseconds of computing time for a full piece of 256 word parts. It can be left out at installation; the program then works as before with lexical search alone.
11.2A machine on which everything runs briskly
The table above states what is necessary. Anyone asking what the software runs best on will get a different answer than expected: it is not the big machine that helps but the fast single lane. Everything the user experiences as waiting depends on three things — the provider’s response time (no machine changes that), the speed of a single processor core, and the disk.
| Component | Proposal | Why exactly that |
|---|---|---|
| processor | eight to twelve cores with high single-core performance (e.g. current Intel Core i7/i9 or AMD Ryzen 7/9), base clock from 3 GHz | The interface, the splitting and the lexical search run in sequence; they get faster with a fast core, not with many. The language model uses up to four cores. |
| memory | 32 GB | 16 GB suffice; 32 GB let Word, browser, PACS viewer and the compute service sit side by side without Windows paging to disk. |
| disk | NVMe SSD, 512 GB or more; documents and program on the same SSD | The single biggest time sink when first reading in is reading the documents. On a spinning disk the same read takes many times as long. |
| graphics | nothing special — the built-in one will do | The model behind semantic search was deliberately chosen small enough to run on the main processor. A graphics card speeds up nothing noticeable here. |
| display | 27 inch, 2560 × 1440 or 4K – sharp at any Windows scaling (GDI scaling) | Dashboard and text window sit side by side; that saves constant switching. |
| network | wired, 100 Mbit is enough; low latency matters more than bandwidth | What travels is text in the kilobyte range. What counts is the round trip to the provider, not throughput. |
| operating system | Windows 11 64-bit with .NET 4.8, power plan high performance | On a saving plan the processor clocks down; the short computations of semantic search are exactly what suffers. |
| virus scanner | add the installation folder as an exception | Otherwise the compute service is scanned at every start — which costs more time than the computing itself. |
What this equipment does not achieve should be said just as plainly: the model’s answer is produced at the provider. A faster workstation shortens the preparation from fractions of a second to smaller fractions of a second; the wait for the assessment stays as it is. Anyone wanting to cut the total time noticeably picks a faster model at the provider — not a bigger machine.
11.3The network
An outgoing connection over HTTPS (port 443) to the chosen AI provider is required; for IUCOM Reporter also to the official sources (ris.bka.gv.at, data.bka.gv.at, findok.bmf.gv.at, eur-lex.europa.eu; with German sources switched on also testphase.rechtsinformationen.bund.de, de.openlegaldata.io, www.govdata.de and www.gesetze-im-internet.de). Incoming connections are not needed, no ports have to be opened. If the institution uses a proxy, it is entered on the Proxy / network tab; it applies to the request to the model as well as to all online sources. User name and password are — like the API keys — stored encrypted with Windows data protection (DPAPI), readable only by the same Windows user on this computer. Without a network, splitting, search and semantic search remain fully operational — only the request to the model and the research do not work.
11.4What leaves the machine — and what does not
- It leaves the machine: the request to the language model. It contains the rule set, the selected excerpts from your documents, with a small collection the whole collection, with IUCOM Reporter the sources found — and your text, with personal details only as placeholders (see “Pseudonymising and the check before sending”). With IUCOM Reporter the same pseudonymised text goes out once more beforehand, briefly and to the same provider: to prepare the research. That goes to the provider whose key is entered, and to no one else.
- It does not leave the machine: the collection as a whole, the search index, the vectors of the semantic search, your rules, your corrections, your access key. Splitting, weighting, semantic search and selection are computed locally. For activation only administrative data goes out: your e-mail address, a request code derived from a one-way function over a device identifier, the language, the Windows computer name and the small request file.
11.5The installation
One file is delivered per product (Setup_RAD_Reporter.exe, Setup_IUCOM_Reporter.exe, about 300 MB). It brings everything needed: the program, the compute service with its language model, the Microsoft runtime files and the licence texts. Nothing is downloaded and nothing on the system is altered — no registry entries, no path variables, no third-party installation. Everything sits in the chosen folder.
- Target folder.
C:\RAD ReporterorC:\IUCOM Reporteris proposed — deliberately not under “Program Files”: the program also keeps its documents and the request file there and needs write access for that. - Semantic search. A checkbox decides whether the compute service and the language model are installed (about 130 MB).
- Licence. The wording can be read in the window; the consent is recorded with a date in the target folder.
- Warm-up. After copying, the model’s word list is converted into a compact form and computed through once — so that the first assessment is not the slowest.
- Shortcuts. Start menu and desktop as desired; the target folder holds a file
Entfernen.batthat removes the program again while leaving documents and activation in place.
Rights: an ordinary user account suffices as long as the target folder is writable. Administrator rights are only required for installing into a protected folder, which is not recommended. Virus scanners that delay unknown programs should know the target folder; otherwise the compute service starts late at every program start.
11.6Activation on site
At first start the machine is activated. The program shows a request code and places a request file in the Freischaltung subfolder of the installation folder — where it can be found again without searching the system temp folder. The file contains only that code, no content. It goes to the licensor; back comes a key valid on this machine only. To enter it, pasting the whole reply e-mail is enough — a key the mail program wrapped over several lines is recognised too; the expiry date is taken from the signed key only. Without a network, the route via the mail program remains open.
11.7Operation, backup, updates
- Changing documents. Put new files into the folder and press read in again. Only new pieces are computed; known ones come from storage.
- Backup. Back up the
Unterlagenfolder, theFreischaltungfolder and the settings file. The rest can be reinstalled at any time. - Updating. A new version is installed over the existing one; documents, rules and activation stay untouched.
- Several machines. Each machine is activated separately. The documents may sit on a network drive if everyone involved has read access.
Language. IUCOM Reporter always starts in the Windows language — German, otherwise English; switching on the Options tab applies to the running session. It explicitly asks the model for the assessment in that language, even where the rule set, documents or sources are in the other one; quotations from legal sources stay verbatim. Every archive entry remembers its language: Word, PDF and HTML always appear in the language the query ran in.
11.8Protected folders
Where plain text is stored, only your own Windows account may enter. The program knows three such places, and each is protected the same way: access is limited to your own user account, SYSTEM and the administrators; inherited rights of other users or groups are removed.
- The program folder — the folder chosen during setup. The installer removes its inherited rights and allows only the three accesses named. If the chosen folder belongs to another account, nothing is installed there. It holds the program, the settings (the keys for the AI providers and the proxy additionally encrypted with Windows data protection, DPAPI), your own documents and the rule set.
- The store of archive entries — the subfolder
Recherche Reportsin the program folder; if that is not writable, the same folder in the user profile (%APPDATA%\Iucomreporter). Because a assessment with its replacement table contains plain text, the program checks this folder on every filing: if anyone besides the three named has access, or the folder inherits foreign rights, it resets the rights to exactly these three — provided the folder belongs to your own account. It holds a single file per query (.iucomreport). Word, PDF and HTML are created only when opened, in the hidden subfolder.ansicht; it inherits the same rights and is emptied the next time the assessment window opens. - The saved AI answers — in the program folder under
Antworten(earlier versions: user profile,%APPDATA%; existing files are taken over once at the first start). There the program saves every AI answer before anything is inserted: the latest answer and a collection of the last twenty. The folder inherits the protection of the program folder.
How the protection works technically. Protection uses the access rights of the NTFS file system, a folder's access control list (ACL) — the same means by which Windows keeps user profiles apart. For each of the folders three things happen:
- Inheritance cut. A new folder normally inherits the rights of the one above it — on a data drive often “Users: read” or even “Everyone”. This inheritance is switched off; inherited entries are not carried over.
- Exactly three entries. Only your own user account, the SYSTEM account and the Administrators group are set, each with full control. They apply to the folder, all subfolders and all files in it — including those created later, such as the views in
.ansicht. - Only on your own folder. Rights are changed only if the folder belongs to your own account: no rights are taken from someone else's folder, and a drive root such as
D:is never touched. If the program folder chosen during setup belongs to another account, installation stops with a message.
The installer sets this up once for the program folder. The program re-checks the assessment store on every filing and changes it only if a foreign entry has appeared — for example after the folder was copied or moved. The keys for the AI providers and the proxy password are additionally encrypted in the settings with Windows data protection (DPAPI): they can be read only by the same Windows account on the same machine, even if someone copies the file.
What the protection does not do. Access rights govern who can look inside while Windows is running; the files themselves are not encrypted. Anyone who removes the drive or boots the machine from another system bypasses them. Windows drive encryption (BitLocker) protects against that, and we recommend it for every machine that stores plain text. Administrators always see the folders — deliberately, so that backup and maintenance keep working.
In operation this means: backup and antivirus software running as SYSTEM or with administrator rights still reach the folders; other users of the same machine do not see them. Anyone sharing a machine with colleagues works under their own Windows account with a program folder of their own. If a folder is placed on a network drive, the server's rights apply there — protection is then limited to what the server allows.
11.9Checklist for setting up
- 64-bit Windows, .NET 4.7.2 or newer — the installer checks both and says so in the first step.
- Target folder writable (not under “Program Files”).
- Outgoing HTTPS to the provider open; proxy entered if applicable.
- Provider access key entered and the connection tested in the dashboard.
- Activation completed.
- Own documents placed and read in once; look at the number of pieces — it tells you whether the splitting worked.
- One trial request made and the result compared with the firm standard.
12Conclusion
The question “caching or retrieval” is put wrongly. Both methods solve the same task at different sizes, and the transition between them can be argued from technical constraints rather than preference. For the size a legal firm standard actually has, passing everything with caching is the better solution: it cannot miss anything, it is identical for every assessment, and in the steady state it is even cheaper than going without. Retrieval is the answer to that collection growing — not its replacement.
What decides the outcome in both cases is not the retrieval mechanics but the precedence: the rule set instructs, the documents set the form, and the facts come solely from the statement of facts. Where that order holds, additional material improves the assessment. Where it is softened, it produces text that looks like a assessment.
13References
- Robertson, S., Zaragoza, H. The Probabilistic Relevance Framework: BM25 and Beyond. Foundations and Trends in Information Retrieval 3(4), 333–389, 2009.
- Spärck Jones, K. A statistical interpretation of term specificity and its application in retrieval. Journal of Documentation 28(1), 11–21, 1972.
- Lewis, P., Perez, E., Piktus, A. et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. Advances in Neural Information Processing Systems 33, 2020.
- Liu, N. F., Lin, K., Hewitt, J. et al. Lost in the Middle: How Language Models Use Long Contexts. Transactions of the Association for Computational Linguistics 12, 157–173, 2024.
- Karpukhin, V., Oguz, B., Min, S. et al. Dense Passage Retrieval for Open-Domain Question Answering. Proceedings of EMNLP 2020, 6769–6781.
- Gao, Y., Xiong, Y., Gao, X. et al. Retrieval-Augmented Generation for Large Language Models: A Survey. arXiv:2312.10997, 2023.
- Anthropic. Prompt caching. Developer documentation of the Claude API; minimum length, retention and price factors are stated there per model.
