Company Brain Beta · Stand September 2026

Das Wissen der ganzen Firma – und jeder sieht nur, was er sehen darf.

Markdown-Notizen mit Wikilinks nach dem Obsidian-Prinzip, durchsuchbar per Suche, Chat und MCP. Verlinkt eine sichtbare Notiz auf eine, die der Leser nicht sehen darf, erfährt er weder Titel noch Inhalt noch dass es sie gibt.

Vertrieb › Angebotsvorlagegelesen von: Geschäftsführung

Angebotsvorlage

Aufbau eines Angebots für Neukunden. Preise nach der aktuellen Staffel, Ansprechpartner laut Projekt Nordlicht.

Die Gehaltsbänder aus dem Personalbereich sind eingebettet:

Gehaltsbänder 2026Personal · verdeckter BereichStufen A–D mit Spannen je Stufe, gültig ab 1. Januar.
Vertrieb › Angebotsvorlagegelesen von: Anna, Vertrieb

Angebotsvorlage

Aufbau eines Angebots für Neukunden. Preise nach der aktuellen Staffel, Ansprechpartner laut nicht freigegeben – Zugriff anfragen.

Die Gehaltsbänder aus dem Personalbereich sind eingebettet:

Hier fehlt die Einbettung ganz: Der Personalbereich ist verdeckt – kein Titel, kein Platzhalter, keine Spur.

Beispiel aus der erfundenen Musterfirma. Links in offene Bereiche werden zum Platzhalter, Links in verdeckte Bereiche verschwinden. Rückverweise, Schlagwörter, Graph, Suche, Chat-Antworten und MCP folgen derselben Regel.

Drei unabhängige Schutzschichten bei jeder Abfrage

Schicht 1SQL-Vorfilter

Die Abfrage fragt nur nach Notizen, die der Leser sehen darf.

Schicht 2Row-Level Security

Postgres filtert selbst – mit einer App-Rolle ohne Umgehungsrechte.

Schicht 3Nachprüfung

Jedes Ergebnis wird vor der Auslieferung noch einmal gegen das Rechtemodell geprüft.

Fällt eine Schicht aus, fangen die anderen den Fehler. Im Zweifel wird nichts ausgeliefert, und „nicht sichtbar“ antwortet genauso wie „gibt es nicht“. Geprüft wird das mit Kanarien-Markern über alle Ausgänge, für jeden Benutzer und jeden Kanal.

Rechte

Rechte, die in Dateien stehen

Wer was liest, schreibt und verwaltet, steht im Bestand selbst – versioniert und nachvollziehbar.

  • Bereiche sind Ordner.Eine _bereich.md legt Gruppen für Lesen, Schreiben und Verwalten fest. Fehlt eine Angabe, gilt der strengste Wert.
    ---
    lesen: [vertrieb, gf]
    schreiben: [vertrieb]
    tote_links: verdeckt
    llm: nur_lokal
    ---
  • Einzelne Notizen schränken nur ein.zugriff: im Frontmatter macht eine Notiz enger, nie weiter. Leer oder ungültig heißt: niemand.
  • Drei Kanäle.Intern (Oberfläche, lokales Sprachmodell), extern (MCP, Cloud-Modelle) und Gerät. Bereiche mit llm: nur_lokal gehen nie an ein externes Modell.
  • Abgeleitete Seiten erben ihre Quellen.Leser sind die Schnittmenge aus Bereich und allen Quellen, auch über mehrere Stufen. Wird eine Quelle eingeschränkt, folgt die Seite im nächsten Lauf.
Finden und Fragen

Suche, Chat und harte Fakten

Jeder Treffer läuft durch den Rechtefilter, bevor er zählt.

  • Hybride Suche.Vektor-Ähnlichkeit mit bge-m3 (1024 Dimensionen) plus Volltext für exakte Begriffe. Bewusst ohne Vektor-Index – sonst hingen Trefferzahl und Laufzeit an Notizen, die der Leser nicht sieht.
    100 000 AbschnitteWorkerp50p95
    Hälfte sichtbar298 ms106 ms
    alles sichtbar2178 ms182 ms
    alles sichtbar4124 ms128 ms
  • Chat mit Quellenangaben.Die Antwort stützt sich nur auf Notizen, die der Fragende lesen darf – mit einem lokalen Sprachmodell auch über nur-lokale Bereiche.
  • Harte Fakten.Datum, Betrag mit Währung, Korrespondent und Dokumenttyp, etwa aus Belegen: filtern, zählen, summieren je Währung. Gerechnet wird erst nach der Nachprüfung.
  • Frühere Stände.Ein Stand ist nur sichtbar, wenn man die Notiz heute und damals lesen durfte. Verwalter schwärzen oder löschen einzelne Stände.
KI und Agenten

Claude und Agenten über MCP

Agenten lesen mit den Rechten ihres Benutzers und können Gelesenes nicht weiter streuen.

  • MCP-Server mit zehn Werkzeugen.Lesen, suchen, Fakten auswerten, Änderungen verfolgen und Vorschläge machen.
    searchread_notebacklinkslist_areasfactschangespages_ofsources_ofpropose_notepropose_change
  • Claude als Connector.In claude.ai, Claude Desktop, Claude Mobil und Claude Code – angemeldet über das Firmenkonto.
  • Schutz vor Prompt-Injection.Der Server merkt sich je Sitzung, was ein Agent gelesen hat. Ein Vorschlag wird nie für mehr Leute lesbar als seine Quellen, und Nur-lokal-Gelesenes gelangt nie nach außen.
  • Eingangskorb.Vorschläge von Agenten warten auf Freigabe, Änderungen mit Zeilenvergleich gegen den heutigen Text.
  • Pflege-Agent (LLM-Wiki).Hält abgeleitete Seiten auf dem Stand ihrer Quellen – mit Dienstkonto, Token-Budget je Tag und Monat und nur dem, was alle Leser der Seite sehen dürfen.
Verwaltung

Verwalten heißt nicht mitlesen

Einschränken geht sofort, Erweitern nie allein.

  • Vier-Augen-Prinzip.Jede Erweiterung von Rechten braucht eine zweite Person; Freigaben verfallen nach 7 Tagen oder wenn sich die Datei ändert.
  • „Ansehen als“.Verwalter prüfen die Sicht bestimmter Gruppen – aber nur innerhalb dessen, was sie selbst sehen. Währenddessen ruhen Schreiben und Verwalten.
  • Alles über Aufträge.Die Web-App ändert nie selbst; der Indexer prüft jeden Auftrag und ist der einzige Schreiber. Jede Änderung steht im Protokoll.
Obsidian

Arbeiten in Obsidian

Ein Plugin bringt freigegebenes Wissen aufs Gerät – und Änderungen zurück.

  • Herunterladen, nur was darf.Bereiche mit endgeraete: sync_erlaubt, nur Inhalte, die nach außen dürfen. Wird das Gerät gesperrt, entfernt das Plugin alles.
  • Bearbeiten und Hochladen.Autoren bearbeiten Notizen in Obsidian und veröffentlichen neue per Befehl. Verborgene Verweise bleiben als neutrale Marke erhalten, ohne ihr Ziel zu verraten.
  • Nichts geht still verloren.Konflikte werden zur Konfliktkopie, Abgelehntes landet im Papierkorb.
Integrationen

Anbindung an das, was schon da ist

Konten, Gruppen und Belege kommen aus den Systemen der Firma.

  • Microsoft Entra ID.Benutzer und Gruppen per SCIM, Anmeldung über Entra. Wer in Entra deaktiviert wird, verliert seine Sitzungen.
  • Paperless-ngx.Belege kommen mit ihren Paperless-Gruppen – nie „für alle“. Was Paperless löscht oder entzieht, verschwindet.
  • Keycloak.Anmeldung per OIDC mit Passkeys und MFA für Verwalter, die Anmeldeseite im Design der App.
Datenschutz

Gebaut mit dem Betriebsrat im Blick

Nachweisbar, wo es nötig ist – ohne Überwachungswerkzeug.

  • Lese-Protokoll nach Betriebsvereinbarung.Standardmäßig aus, pseudonym und befristet, auf Wunsch nur für einzelne Bereiche. Eine Hash-Kette macht Änderungen sichtbar.
    # _instanz.md
    lese_protokoll: bereiche
    lese_protokoll_tage: 90
    protokoll_pruefer: betriebsrat
  • Auswertung nur mit vier Augen.Die Verwaltung beantragt, die Prüfergruppe bestätigt. Ein Pseudonym aufzuheben braucht einen eigenen Antrag und den privaten Schlüssel der Prüfergruppe, den der Server nie hat.
  • Niemand wird heimlich protokolliert.Die Oberfläche zeigt es an jeder erfassten Notiz, und jeder sieht seinen eigenen Leseverlauf.
  • Sparsame Spuren.Aktive Benutzer je Monat ohne Personenbezug, Anmeldeereignisse 30 Tage, Sitzungen nur gehasht. Alle Lesespuren sind für die Betriebsvereinbarung beschrieben.
Betrieb

Eine Instanz je Kunde

Derselbe Stack gehostet oder im eigenen Rechenzentrum.

  • Compose-Stack.Caddy mit Let's Encrypt, Keycloak auf eigener Subdomain, Postgres mit pgvector, Embeddings auf der CPU ohne Internetzugang.
  • Gehärtet.Container ohne Root und ohne Shell, schreibgeschützt; Datenbank und Indexer in einem Netz ohne Internet; strenge CSP, keine Inhalte in Logs.
  • Sicherung und Wiederherstellung.Verschlüsselt mit age, dazu Selbsttest und inkrementelles Indizieren per Dateiwächter.
  • Als App installierbar.Die Oberfläche läuft als PWA auf Handy und Desktop, auf Deutsch und Englisch.
  • Versioniert.SemVer, Changelog und Images je Version; mehrere Instanzen auf einem Host hinter einer gemeinsamen Kante.

Bewusst dokumentierte Grenzen

Interesse an einer Demo?

Company Brain ist in der Beta. Wir zeigen es gern an der Musterfirma – schreiben Sie uns.

info@michaelgross.net