Offer template
Structure of an offer for new customers. Prices according to the current scale, contact person as per Project Nordlicht.
The salary bands from the HR area are embedded:
Markdown notes with wikilinks on the Obsidian principle, searchable by search, chat and MCP. If a visible note links to one the reader may not see, they learn neither the title nor the content nor that it exists.
Structure of an offer for new customers. Prices according to the current scale, contact person as per Project Nordlicht.
The salary bands from the HR area are embedded:
Structure of an offer for new customers. Prices according to the current scale, contact person as per not released – request access.
The salary bands from the HR area are embedded:
The embed is missing entirely here: the HR area is hidden – no title, no placeholder, no trace.
Example from the fictional sample company. Links into open areas become a placeholder, links into hidden areas disappear. Backlinks, tags, graph, search, chat answers and MCP follow the same rule.
The query asks only for notes the reader may see.
Postgres filters on its own – with an app role that has no bypass rights.
Every result is checked once more against the permission model before delivery.
If one layer fails, the others catch the error. When in doubt nothing is delivered, and “not visible” answers exactly like “does not exist”. This is tested with canary markers across all outputs, for every user and every channel.
Who reads, writes and administers what is stored in the content itself – versioned and traceable.
_bereich.md defines groups for reading, writing and administering. If a value is missing, the strictest value applies.
--- lesen: [vertrieb, gf] schreiben: [vertrieb] tote_links: verdeckt llm: nur_lokal ---
zugriff: in the frontmatter makes a note narrower, never wider. Empty or invalid means: nobody.llm: nur_lokal never go to an external model.typ: sensibel enforces an in-house model, no sync to devices and hidden links. Contradictory settings are named in the indexer report; the stricter value applies.Every hit runs through the permission filter before it counts.
| 100,000 chunks | Workers | p50 | p95 |
|---|---|---|---|
| half visible | 2 | 98 ms | 106 ms |
| all visible | 2 | 178 ms | 182 ms |
| all visible | 4 | 124 ms | 128 ms |
Agents read with the permissions of their user and cannot spread what they have read any further.
The interface runs as an app on the phone – no typing needed.
Restricting is immediate, widening never alone.
A plugin brings released knowledge to the device – and changes back.
endgeraete: sync_erlaubt, only content that may go outside. If the device is blocked, the plugin removes everything.Accounts, groups and receipts come from the company's systems.
Subject to co-determination – and built so that the works agreement becomes simple.
# _instanz.md lese_protokoll: bereiche lese_protokoll_tage: 90 protokoll_pruefer: betriebsrat
The same stack hosted on servers in Germany or in your own data centre.
llm: nur_lokal never go to a cloud model.typ: sensibel, narrow circle of readers).Company Brain is in beta. We are happy to show it on the sample company – write to us.