Zum Inhalt springen
PatentSchmiede

Datensicherheit und KI-Einsatz

Datensicherheit und KI-Einsatz

Aufstellung für die Kanzlei-IT

Diese Aufstellung richtet sich an die IT der Kanzlei, die die Installation freigeben muss. Sie beschreibt, was ohnehin schon zutrifft, und benennt die offenen Punkte.

Grundstand: 2026-08-19 · Support-Klarstellungen: 2026-09-22 · gilt für PatentSchmiede ab 0.3.0 · Ollama-Cloud-Modelle (Abschnitt 1) und ausgehende Kanäle (Abschnitte 3 bis 5): Stand 2026-10-03, gilt ab der ersten Version nach 0.3.0 · Schutzmaßnahmen je Wert der Einstellung ENVIRONMENT und enger gefasste Aussage zum externen Entwicklungsanbieter (Abschnitt 4) sowie Datenort in Modell A (Abschnitt 1): Stand 2026-10-08, gilt ab der ersten Version nach 0.3.0

Die Support-Klarstellungen verweisen auf den Paketentwurf 0.2. Dieser ist noch nicht rechtlich freigegeben. Die technische Grundlage wurde an einem festgehaltenen Quelltextstand geprüft, nicht an einer Kanzlei-Installation. Die übrigen Abschnitte wurden nicht vollständig neu validiert. Die Aussagen mit Stand 2026-10-08 (Abschnitte 1 und 4) wurden an einem späteren festgehaltenen Quelltextstand geprüft.

Lesehinweis, der für das ganze Papier gilt:

Jede Aussage unten ist entweder am Code belegt oder ausdrücklich als organisatorische Zusage gekennzeichnet. Wo eine Eigenschaft nur durch die Konfiguration der Kanzlei entsteht, steht das dabei. Eine Zusicherung, die die Software nicht erzwingt, ist keine Zusicherung — sie ist eine Absicht.

01 / 09

Zwei unterstützte Betriebsmodelle

Die Installation unterstützt zwei Betriebsmodelle. Der Vergleich stellt beide gegenüber, und das Schaubild zeigt den jeweiligen Inferenzpfad.

Modell B, der Punkt, auf den es ankommt

Vertragspartner der Kanzlei ist Microsoft, nicht wir. Der hier beschriebene Inferenzpfad führt von der Installation der Kanzlei direkt an deren eigenen Azure-Endpunkt. Ein möglicher Datenzugriff durch uns bei Unterstützung oder Wartung ist davon getrennt zu prüfen (Abschnitt 8).

Was im Modell B tatsächlich hinausgeht, vollständig

Nicht nur Chat-Prompts. Für die Einbettung setzt die Anwendung Titel, Zusammenfassung, Beschreibung und Ansprüche eines Dokuments zusammen und schickt sie an den Anbieter. Wer die semantische Suche oder die Referenzbibliothek nutzt, überträgt damit Dokumenttext, nicht bloß Fragen. Für Abschnitt 3 ist das der entscheidende Punkt: Die 30-Tage-Aufbewahrung gilt für Ein- und Ausgaben.

Modell A: Was „lokal“ voraussetzt

Ollama kann Modelle auch in der Cloud ausführen. Ein Ollama-Cloud-Modell (der Name endet auf :cloud oder -cloud, zum Beispiel gemma4:cloud) läuft auf ollama.com, auch wenn der Ollama-Server bei der Kanzlei steht. Die mitgelieferten Compose-Dateien starten Ollama deshalb mit OLLAMA_NO_CLOUD=1: Der Server lehnt Cloud-Modelle und Verweise auf Modelle anderer Server ab. Wer einen eigenen Ollama-Server anbindet, muss dort ebenfalls OLLAMA_NO_CLOUD=1 setzen. Die Anbieter-Posture meldet ein konfiguriertes Cloud-Modell als Warnung. Ein Modell, das unter einem lokalen Namen auf einen anderen Server verweist, kann sie nicht erkennen.

Ausdrücklich nicht unterstützt

Der Betrieb im Cloud-Tenant der Kanzlei durch uns und eine von uns betriebene SaaS. Beides ist keine Roadmap-Lücke, sondern eine Produktentscheidung.

Belegt ist dies am Quelltext: die Anbieterauswahl, die Dienste des Produktionsstapels mit OLLAMA_NO_CLOUD=1 und die Erkennung von Cloud-Modellen in der Anbieter-Posture.

Infrastruktur der KanzleiAußerhalbBrowserCaddyFrontendBackendNeo4jOllamaKeineausgehendenVerbindungen fürdie Inferenz
Infrastruktur der KanzleiAußerhalbBrowserCaddyFrontendBackendNeo4jAzure OpenAIPrompt-Inhalte undEinbettungstexteAntwort
Vergleich der beiden Betriebsmodelle
FrageModell A — lokale InferenzModell B — gehostete Inferenz
Wo läuft das SprachmodellAuf der Hardware der Kanzlei, im Container ollamaBei Microsoft, Azure OpenAI
Wo liegen die DatenPatentSchmiede speichert die Daten ausschließlich auf der Infrastruktur der Kanzlei. Abschnitt 5 nennt die Konfigurationen, bei denen Daten die Kanzlei verlassen können, etwa die eingeschaltete Web-RechercheDokumente auf der Infrastruktur der Kanzlei. An den Anbieter gehen zusätzlich die Prompt-Inhalte und die Einbettungstexte
Verantwortlicher (DSGVO)Die KanzleiDie Kanzlei
Auftragsverarbeiter für die InferenzKein externer InferenzdienstleisterMicrosoft, im Vertrag der Kanzlei mit Microsoft
Vertrag mit uns nötig§ 203-Dienstleisterpaket, sobald Fernwartung, Protokolleinsicht oder Aktualisierung durch uns stattfindet (Abschnitt 8)dasselbe
Ausgehende Verbindungen im BetriebKeine für die InferenzZum Azure-Endpunkt der Kanzlei

Ohne JavaScript zeigt die Seite beide Schaubilder untereinander und die vollständige Tabelle.

02 / 09

Wo die Daten liegen

Die lokale Datenhaltung liegt auf der Infrastruktur der Kanzlei. In Modell B werden zusätzlich Inhalte beim Inferenzanbieter verarbeitet (Abschnitt 1). Gesondert freigegebene Supportdateien regelt Abschnitt 8.

Lokale Speicherorte
OrtInhalt
Volume neo4j-dataAnmeldungen, Erfindungsmeldungen, Ansprüche, Beschreibungen, Entwurfsversionen, Merkmale, Embeddings
Volume uploads-dataHochgeladene Dokumente im Original
Volume ollama-dataModellgewichte (keine Mandantendaten)
Volume logs-dataAnwendungsprotokolle (siehe Abschnitt 6)
Volumes neo4j-logs, neo4j-import, neo4j-pluginsDatenbankprotokolle, Importverzeichnis, Plugins
Volumes caddy-data, caddy-configTLS-Material, darunter der private Schlüssel der internen CA
Docker-Log-Ablage des HostsZweitschrift der Anwendungsprotokolle. Die Protokollierung schreibt zusätzlich nach stderr, was Docker unter dem Data-Root ablegt
Sicherungsziel PS_BACKUP_DIRNächtliche Kopien von Datenbank und Uploads

Alle diese Orte liegen unter dem Docker-Data-Root der Kanzlei beziehungsweise im gewählten Sicherungsziel. Diese Aufstellung der lokalen Speicherorte beschreibt weder die Verarbeitung beim Inferenzanbieter noch gesondert freigegebene Supportkopien. Die Produktionsdatei führt neun Volumes. Die Zuordnung und die Verschlüsselungspflicht beschreibt die Dokumentation zur Verschlüsselung at rest.

Was die Sicherung nicht umfasst

Die Sicherung kopiert die Volumes neo4j-data und uploads-data. Protokolle, TLS-Material und die Umgebungsdatei .env sind ausdrücklich ausgenommen. Wer nach einem Totalverlust wieder anlaufen will, braucht die Umgebungsdatei und das Caddy-Material aus einer eigenen Verwahrung.

03 / 09

Azure OpenAI — der oft übersehene Abschnitt

Azure OpenAI trainiert nicht auf Kundendaten. Das ist der Teil, den die meisten Aufstellungen nennen. Der Teil, der für einen Berufsgeheimnisträger zählt, ist ein anderer:

Azure OpenAI speichert Ein- und Ausgaben standardmäßig bis zu 30 Tage zur Missbrauchserkennung. Eine menschliche Sichtung dieser gespeicherten Inhalte ist dabei möglich.

Für eine Anwaltskanzlei ist genau diese Sichtung der Problemfall, nicht das Training.

Abhilfe

Modified Abuse Monitoring beziehungsweise Zero Data Retention. Beides beseitigt die Speicherung, ist aber

  • bei Microsoft genehmigungspflichtig (Antrag, keine Einstellung im Portal) und
  • an ein Enterprise Agreement oder ein Microsoft Customer Agreement gebunden.

EU-DataZone-Deployments

EU-DataZone-Deployments halten Verarbeitung und Speicherung in Europa. Das ist eine getrennte Frage von der Aufbewahrung: Ein EU-Deployment ohne genehmigte Aufbewahrungslage speichert weiterhin 30 Tage — in Europa.

Das Produkt fragt danach und warnt

Diese Frage ist nicht nur dokumentiert, sondern gebaut. Unter System → KI-Anbieter und Datenlage zeigt die Installation, welcher Anbieter aktiv ist, wo er steht und welche Aufbewahrungslage die Kanzlei erklärt hat. Ist keine erklärt oder liegt der Endpunkt außerhalb der EU, erscheint eine Warnung im Kopf jeder Seite, die sich nicht ausblenden lässt. Zusätzlich sagt eine Zeile im Fuß der Seitenleiste, wo die KI-Verarbeitung läuft. Grün („Lokal verarbeitet · keine Cloud-Kanäle konfiguriert“) ist sie nur, wenn für jeden konfigurierten Anbieter die lokale Inferenz bestätigt ist, kein ausgehender Kanal eingeschaltet ist und keine Warnung vorliegt. Sonst ist sie bernsteinfarben und nennt die Ursache.

Die Anzeige trennt sichtbar, was gemessen und was erklärt ist. Den Endpunkt-Host liest die Anwendung aus ihrer eigenen Konfiguration. Ob Microsoft der Kanzlei Modified Abuse Monitoring genehmigt hat, kann sie nicht wissen — das ist eine Erklärung der Kanzlei und wird als solche gekennzeichnet, nie als Prüfergebnis. Auch die Region ist nur manchmal ableitbar: Ein Endpunkt der Form resource.openai.azure.com nennt keine.

Eingestellt wird dies über die Parameter AZURE_DATA_RETENTION_POSTURE und AZURE_DEPLOYMENT_REGION. Begründung und Grenzen sind in einer Architekturentscheidung festgehalten.

04 / 09

Was nicht passiert

Zusicherungen und worauf sie beruhen
ZusicherungWodurch sie gilt
Kein Training auf MandantendatenModell A: Es gibt keinen Empfänger. Modell B: Zusage von Microsoft im Vertrag der Kanzlei — nicht von uns erzwungen
Keine Telemetrie an unsIm geprüften Produktionsstapel ist kein eigener Telemetriedienst definiert. Dies allein beweist nicht die Abwesenheit aller ausgehenden Verbindungen oder extern installierter Werkzeuge
Keine Protokollierung von DokumentinhaltenHausregel im Architekturprinzip Security-first, umgesetzt in den Diensten: Wiederholungspfade protokollieren nur Fehlertyp und -anzahl, diagnose und backtrace sind auf beiden Senken abgeschaltet, und ein längenbasierter Mechanismus fängt eine zu lange Meldung, einen zu langen protokollierten Wert oder eine zu lange Exception auf beiden Senken ab. Siehe Abschnitt 6 mit der Einschränkung, die dazugehört
Der externe Entwicklungsanbieter ist außerhalb einer Entwicklungsumgebung gesperrtDer direkte OpenAI-Zugang (api.openai.com, nur für Entwicklung und Tests, nicht Azure OpenAI) wird außerhalb einer Entwicklungsumgebung verweigert (fail-closed, im Zweifel gesperrt). Die Prüfung greift, sobald die Anwendung den Anbieter einrichtet. Das geschieht beim Start, eine falsch konfigurierte Installation startet deshalb nicht. Das ist keine allgemeine Zusicherung, dass nichts die Kanzlei verlässt: Diese Sperre deckt unter anderem die Web-Recherche, den EPO-Kanal, einen gehosteten Ausweichanbieter und ein Ollama-Cloud-Modell nicht ab. Diese Konfigurationen nennt Abschnitt 5. Die Sperre hängt an der Einstellung ENVIRONMENT (siehe die folgenden Zeilen)
Vier Schutzmaßnahmen hängen an der Einstellung ENVIRONMENTMit ENVIRONMENT=production gelten vier Schutzmaßnahmen. Erstens: Der Start wird verweigert, wenn der Signierschlüssel für Anmeldesitzungen (JWT_SECRET_KEY) oder das Datenbank-Passwort (NEO4J_PASSWORD) leer, ein früher mitgelieferter Standardwert oder ein unveränderter Platzhalter aus der mitgelieferten Beispiel-Konfiguration ist. Das gilt auch für ein gesetztes Startpasswort des ersten Admins (ADMIN_INITIAL_PASSWORD). Ein Signierschlüssel unter 32 Byte wird ebenfalls verweigert. Darüber hinaus prüft die Anwendung die Stärke dieser Werte nicht, nur der Signierschlüssel hat eine Mindestlänge. Zweitens: Das Sitzungs-Cookie trägt das Secure-Flag (der Browser sendet es nur über HTTPS). Drittens: Gibt es beim Start keinen aktiven Admin und fehlt die E-Mail-Adresse (ADMIN_EMAIL) oder das Startpasswort für den ersten Admin, bricht der Start ab. Viertens: Der externe Entwicklungsanbieter (direkter OpenAI-Zugang) wird verweigert, siehe die Zeile oben
Der Start mit leerem oder unbekanntem ENVIRONMENT wird verweigertIst ENVIRONMENT gesetzt, aber leer oder unbekannt (zum Beispiel prod oder staging), wird der Start verweigert, und die Fehlermeldung nennt die erlaubten Werte. Ist ENVIRONMENT nicht gesetzt oder steht dort development, dev, local, test oder testing, gilt die Entwicklungsumgebung, und keine der vier Schutzmaßnahmen greift. Das ist auch die Voreinstellung der mitgelieferten Beispiel-Konfiguration. Der Produktionsstapel setzt production fest, eine handgebaute Auslieferung muss es selbst tun
Der optionale EPO-Kanal ist ausDie EPO-Option steht standardmäßig auf false. Ist sie an, prüft ein Validator beim Start, dass die Ziel-URL ops.epo.org ist
Die Web-Recherche lässt sich abschalten und braucht je Lauf eine ausdrückliche ErlaubnisDer Schalter für die Web-Recherche ist standardmäßig eingeschaltet, das Air-Gap-Paket schaltet ihn aus. Ist er aus, lehnt die Anwendung Rechercheläufe, Websuchen und Abrufe ab. Ist er an, muss die Anwältin oder der Anwalt den Webzugriff für jeden Lauf ausdrücklich erlauben

05 / 09

Netzexposition — am laufenden Stapel geprüft

Nicht aus der Konfiguration abgelesen, sondern am laufenden Entwicklungsstapel mit docker ps beobachtet (2026-08-19) — vollständig, ohne Auslassung:

patentschmiede-neo4j      127.0.0.1:7474->7474/tcp, 127.0.0.1:7688->7687/tcp
patentschmiede-backend    0.0.0.0:8000->8000/tcp, [::]:8000->8000/tcp
patentschmiede-frontend   0.0.0.0:3000->3000/tcp, [::]:3000->3000/tcp
patentschmiede-ollama     11434/tcp

Zu lesen ist das so: Datenbank nur über Loopback, Sprachmodell überhaupt nicht von außerhalb des Container-Netzes — aber Backend und Frontend binden in der Entwicklung alle Schnittstellen und sind damit im LAN erreichbar. Das ist eine Eigenschaft der Entwicklungsdatei und der Grund, warum der Sicherheitshinweis sagt, dieser Stand gehöre nicht in ein nicht vertrauenswürdiges Netz. Der Bolt-Port steht auf dieser Maschine auf 7688 statt der 7687 aus der Entwicklungsdatei — eine lokale Umbelegung, keine Abweichung des Auslieferungsstands.

Der Produktionsstapel ist die Aussage, auf die es ankommt

Die Produktionsdatei gibt für neo4j, ollama, backend und frontend gar keine Ports an. Hostseitig erreichbar ist allein Caddy auf 80 und 443 mit TLS-Terminierung.

Zur Aussage „keine ausgehenden Aufrufe“

Was die Software leistet: Die mitgelieferte Konfiguration für Modell A nennt für die Inferenz keinen externen Endpunkt, und der externe Entwicklungsanbieter ist außerhalb einer Entwicklungsumgebung gesperrt. Ein lokaler Endpunkt allein beweist aber keine lokale Inferenz: Ein Ollama-Cloud-Modell läuft auf ollama.com, auch wenn der konfigurierte Endpunkt der Ollama-Server der Kanzlei ist (Abschnitt 1). Das mitgelieferte Ollama lehnt Cloud-Modelle deshalb ab (OLLAMA_NO_CLOUD=1).

Was die Software nicht leisten kann: den Nachweis, dass tatsächlich nichts das Haus verlässt. Dieser Nachweis wird am Netzwerkrand geführt — Firewall-Regel oder getrenntes Netz — und gehört zur Abnahme der Installation, nicht in diese Aufstellung. Der Air-Gap-Installationsweg beschreibt ihn.

Fünf Konfigurationen schränken die Air-Gap-Aussage ein. Die Anzeige aus Abschnitt 3 meldet alle fünf, aber nicht gleich laut:

  1. 1Ein gesetzter Ausweichanbieter (LLM_FALLBACK_PROVIDER) auf einen gehosteten Anbieter. Bei einem wiederholbaren Fehler des lokalen Modells gehen dieselben Daten nach außen. Das ist eine Warnung und erscheint im Seitenkopf.
  2. 2Ein Ollama-Cloud-Modell in OLLAMA_CHAT_MODEL oder OLLAMA_EMBED_MODEL (Abschnitt 1). Lässt der Ollama-Server Cloud-Modelle zu, gehen alle Anfragen an dieses Modell mit ihrem Inhalt an ollama.com, beim Einbettungsmodell unter anderem der Text der Erfindungsmeldung und jeder Quelle. Das mitgelieferte Ollama lässt Cloud-Modelle nicht zu (OLLAMA_NO_CLOUD=1). Ein Ollama-Server, den die Kanzlei selbst betreibt, braucht dieselbe Einstellung. Die Software erkennt ein Cloud-Modell nur an der Namensendung :cloud oder -cloud. Das ist eine Warnung und erscheint im Seitenkopf.
  3. 3Eine OLLAMA_BASE_URL, deren Host die Software nicht als lokal bestätigen kann. Als lokal gelten nur: eine IP-Adresse aus dem Loopback-, privaten oder Link-Local-Bereich, ein Name ohne Punkt (zum Beispiel ollama) und ein Name mit der Endung .local, .internal, .lan oder .home.arpa. Ein Name wie ollama.kanzlei.example gilt nicht als lokal, auch wenn er auf eine private Adresse zeigt. Bei jedem anderen Host kann die Software nicht sagen, ob die Inferenz das Haus verlässt. Das ist eine Warnung und erscheint im Seitenkopf.
  4. 4Ein eingeschalteter EPO-Kanal. Er überträgt Suchanfragen und Veröffentlichungsnummern an ops.epo.org und worldwide.espacenet.com — nicht die Erfindungsmeldung, aber eine ausgehende Verbindung. Das ist ein Hinweis. Er steht auf der Systemseite und, benannt oder mitgezählt, in der Zeile der Seitenleiste, nicht im Seitenkopf: Er betrifft die Inferenz nicht.
  5. 5Die eingeschaltete Web-Recherche der Rechercheakte (RESEARCH_WEB_ENABLED, standardmäßig eingeschaltet). In einem Lauf, den die Anwältin oder der Anwalt mit ausdrücklich erlaubtem Webzugriff startet, gehen Wörter aus dem Rechercheauftrag als Suchanfrage an html.duckduckgo.com, und Seiten beliebiger öffentlicher Hosts werden geladen. Das ist ein Hinweis und steht wie der EPO-Kanal auf der Systemseite und in der Zeile der Seitenleiste. Wer keinen Webzugriff will, setzt RESEARCH_WEB_ENABLED auf false.

06 / 09

Verschlüsselung, Rollen, Protokollierung, Sicherung

Verschlüsselung im Transit

Der Produktionsstapel terminiert TLS in Caddy. Port 80 leitet auf 443 um. Zwischen den Containern läuft der Verkehr im internen Docker-Netz, das keine Host-Bindung hat (Abschnitt 5).

Verschlüsselung at rest

Die Anwendung verschlüsselt selbst nichts. Der Schutz kommt aus der Verschlüsselung der Host-Datenträger und ist eine Installationsvoraussetzung. Ein Preflight-Werkzeug hilft dabei, ist aber kein Installations-Gate. Es liefert je Ziel den Diagnosestatus ENCRYPTED, NOT_ENCRYPTED oder UNKNOWN sowie einen aggregierten Exit-Code (0, 1 oder 2). Ein NOT_ENCRYPTED ist bei einem expliziten Windows-Pfad ein sicherer BitLocker-Negativbefund. Cloud- und Hardware-Verschlüsselung werden damit nicht beurteilt. UNKNOWN bedeutet, dass die Prüfung keinen sicheren Schluss zulässt. Die Bundle-Installation gibt diese Diagnosecodes aus, wertet sie aber nicht als Abbruchbedingung aus und läuft warn-only weiter. Linux prüft dm-crypt/LUKS, explizite Windows-Pfade prüft es über manage-bde -status. Cloud-Datenträger und selbstverschlüsselnde Platten bleiben ohne Provider- oder Hardware-Nachweis UNKNOWN. Es ist eine Warnhilfe, kein Nachweis. Vollständig, einschließlich der Falle „verschlüsseltes Data-Root, unverschlüsseltes Backup-Ziel“, beschreibt die Dokumentation zur Verschlüsselung at rest.

Rollen und Zugriff

Es gibt zwei Rollen, patentanwalt und admin. Jede v1-Route außer der Anmeldung verlangt eine Sitzung. Der Prüfpfad ist zusätzlich auf admin beschränkt. Das Token reist in einem Cookie, das Skripte nicht auslesen können, ergänzt um eine CSRF-Kopfzeile für alle verändernden Methoden. Das erste Administratorkennwort ist einmalig und muss beim ersten Anmelden gewechselt werden.

Protokollierung

Anwendungsprotokolle liegen im Volume logs-data und zusätzlich in der Docker-Log-Ablage der Kanzlei. Eine Supportweitergabe benötigt eine gesonderte Freigabe und Prüfung nach dem Dienstleisterpaket.

Der Prüfpfad ist ereignisbezogen, nicht flächendeckend, und das ist hier wichtiger als der beruhigende Satz. Er kennt eine feste Liste von Ereignisarten und deckt die sicherheits- und haftungsrelevanten Handlungen ab — unter anderem An- und Abmeldung (auch fehlgeschlagene), Benutzerverwaltung und Passwortänderungen, Hochladen, Ändern und Löschen von Bibliotheksdokumenten, das An- und Abhängen von Referenzen an eine Anmeldung, DOCX-Export, Entwurfserzeugung, Freigabe, die Verwaltung kanzleieigener Prompt-Karten und die Übernahme maschinell erzeugter Textvarianten (mit Modell und Prompt-Version). Die verbindliche Liste ist der Typ AuditAction, nicht diese Aufzählung.

Nicht erfasst sind unter anderem das Anlegen einer Anmeldung, das Erfassen einer Erfindungsmeldung, das Speichern einer Entwurfsversion und die Merkmalspflege. Für diese Vorgänge lässt sich das Wer nachträglich nur dort beantworten, wo der Datensatz es selbst festhält (der Ersteller einer Entwurfsversion). Wer eine lückenlose Zuordnung braucht, hat sie heute nicht — siehe Abschnitt 9.

Löschung einer Anmeldung (Art. 17 DSGVO)

Die Löschanfrage für eine Anmeldung löscht die Fallakte und alles daran Hängende (Erfindungsmeldung, Entwurfsversionen mit Freigaben, Klärungsdialog, Referenzen) sofort und unwiderruflich — keine Löschfrist, kein Wiederherstellen. Ausführen darf admin, oder die Patentanwältin oder der Patentanwalt, der die Akte angelegt hat. Bei einer Altbestand-Akte ohne rekonstruierbaren Eigentümer bleibt es admin-only. Der Nachweis liegt im Prüfpfad: ein Löschereignis nennt die entfernten Zähler (Anzahl Entwürfe, Sitzungen, Klärungen), nie Dokumentinhalt. Bestehende Ereignisse zu dieser Akte bleiben erhalten, auch nachdem der Datensatz selbst weg ist. Frühere Versionen ließen beim Löschen einer Akte zwei Arten von Datensätzen zurück: die Abschnitts-Instruktionen und die Plan-Fassungen. Entfernt wurde nur ihre Verknüpfung mit der Akte. Die Anwendung kann diese Reste nicht mehr aufrufen, sie enthalten aber Texte der Anwältin oder des Anwalts. Beim ersten Start nach dem Update mit der Korrektur löscht eine automatische Bereinigung diese Reste. Schlägt das fehl, versucht das System es beim nächsten Start erneut. Im Log steht nur ihre Anzahl, nie Inhalt. Sicherungen, die vor einer Löschung oder vor der Bereinigung entstanden sind, enthalten die Daten weiter, bis die Aufbewahrungsregel der Sicherungen sie entfernt. Die Betriebsanleitung zum Update beschreibt Zählabfrage und Ablauf.

Die Einschränkung, die dazugehört

„Keine Protokollierung von Dokumentinhalten“ war eine durchgesetzte Hausregel und Review-Praxis ohne Mechanismus dahinter. Seitdem fängt ein längenbasierter Filter in der Protokollierung jede gerenderte Meldung, jeden per logger.bind() gesetzten Wert und den Text einer angehängten Exception ab, die eine feste Zeichengrenze überschreitet, und ersetzt sie durch einen Redaktionsvermerk — bevor eine der beiden Senken (stderr, Rotationsdatei, auch im JSON-Format) den Wert sieht. Ein separater Deckel auf der Exception-Zusammenfassung sorgt dafür, dass die Zuordnung der Fehlerkennung diesen Filter immer übersteht, auch bei einer sehr langen Ausnahme. Das ist ein Mechanismus, aber bewusst kein Inhaltsklassifikator: Ein Dokumentfragment unterhalb der Zeichengrenze auf einem einzelnen Kanal — etwa mehrere für sich kurze protokollierte Werte, die erst zusammengelesen ein Dokument ergeben — wird von der Längenprüfung nicht erfasst und bleibt auf die Hausregel angewiesen. Eine bereits bekannte Ausnahme davon: die Validierungs-Bibliothek pydantic trägt den abgelehnten Wert unabhängig von dessen Länge in ihrer eigenen Textdarstellung, deshalb wird sie auf dem Exception-Kanal und in einem zusätzlichen Wert bis zu einer Verschachtelungsebene tief immer zusammengefasst — nicht jedoch, wenn sie in die Log-Meldung selbst eingebettet ist, und nicht ab der zweiten Verschachtelungsebene. Beide verbleibenden Lücken sind mit eigenen Tests als bekannt-nicht-abgedeckt festgehalten, nicht stillschweigend als behoben angenommen. Ein Ausnahmefall unterhalb der Grenze, der kein bekanntes Muster dieser Art trifft, wäre weiterhin ein Fehler — kein vom System verhinderter Zustand. Wer eine härtere Zusage braucht, prüft die Protokolle im Betrieb stichprobenweise.

Sicherung und Wiederanlauf

Die Sicherung sichert Datenbank und Uploads und ist für einen nächtlichen Lauf gedacht. Den Zeitplan richtet die Kanzlei-IT selbst ein (Crontab-Eintrag). Das Produkt plant nichts von sich aus, dieselbe Lage wie bei der Verschlüsselung. Rücksicherung mit dokumentierter Probe, Störungsbilder und Wiederanlauf sowie die Aktualisierung beschreiben die Betriebs-Runbooks.

07 / 09

Wer welchen Zugriff braucht

Im vorgesehenen Normalbetrieb erhält der Anbieter keinen Zugriff. Für Unterstützung, Wartung oder Aktualisierung werden Zweck, Personen, Rechte und Dauer je Auftrag festgelegt. Zuerst werden synthetische Beispiele und die Anleitung der Kanzlei-IT genutzt.

Der geprüfte Produktionsstapel definiert keinen gesonderten Fernwartungsdienst. Das belegt nicht, welche zusätzlichen Zugänge auf dem Host eingerichtet sind. Die Kanzlei prüft tatsächliche Zugänge und Supportwerkzeuge vor der ersten Sitzung. Ein Zugang wird von ihr eröffnet und nach Abschluss geschlossen.

Die Zugriffsbeschreibung trennt technische Möglichkeiten und organisatorische Begrenzungen. Insbesondere sind Protokolle, Bildschirmfreigaben, Migrationen und Admin-Wiederherstellung nicht pauschal geheimnisfrei. Privilegierter Host- oder Datenbankzugriff wird nicht durch die Rollen der Anwendung auf eine einzelne Akte begrenzt.

08 / 09

Geheimnisschutz bei Unterstützung und Wartung

Patentanwaltliche Dienstleistungen unterliegen insbesondere § 39c PAO und § 203 StGB. Für Rechtsanwälte ist gegebenenfalls § 43e BRAO maßgeblich. Entscheidend sind die konkrete Einbindung des Dienstleisters und der eröffnete Geheimniszugang, nicht allein das Betriebsmodell. Auch bei einer lokalen Installation können Wartung, Protokolleinsicht oder Vor-Ort-Unterstützung Geheimnisse zugänglich machen. Eine reine Softwarelieferung ohne Zugang ist damit nicht gleichzusetzen.

Das §-203-Dienstleisterpaket enthält Vertragsentwurf, persönliche Verpflichtung mit Belehrung, Zugriffsbeschreibung und Vorlagen für Freigabe und Abschluss. Paketfassung 0.2 ist ein Entwurf. Vor Kundeneinsatz fehlt die Freigabe durch die Rechtsberatung des Anbieters.

Die mögliche Auftragsverarbeitung beim Support wird getrennt von der direkten Azure-Nutzung geprüft. Eine erforderliche Support-AVV muss vor dem entsprechenden Zugriff vorliegen. Der Microsoft-Vertrag beantwortet diese Frage nicht.

Eine vollständig netzgetrennte Installation kann vor Ort unterstützt werden. Eine Fernverbindung bedeutet dagegen eine Unterbrechung der vollständigen Netztrennung. Sie benötigt eine gesonderte Freigabe und einen dokumentierten Nachweis der anschließend wiederhergestellten Trennung.

Die Quellen und technischen Belege benennen die Rechtsgrundlagen sowie die Grenzen der Quelltextprüfung.

09 / 09

Offene Punkte, ehrlich benannt

Diese Punkte sind offen und werden hier nicht beschönigt.

Keine Zertifizierung

Das ist eine Entscheidung, keine Lücke im Zeitplan. Bei einer On-Premise-Auslieferung betreiben wir keinen Dienst, den ein Prüfer prüfen könnte. Eine SOC-2-Aussage über uns wäre für die Installation der Kanzlei gegenstandslos, weil sie eine Betriebsorganisation bewertet, die hier niemand betreibt. Und im deutschen Beschaffungsalltag ist ohnehin ISO 27001 die gefragte Norm, nicht SOC 2. Die Beweislast tragen stattdessen diese Aufstellung und der Dienstleistervertrag aus Abschnitt 8.

Verschlüsselung at rest ist eine Installationsvoraussetzung

Sie ist keine Eigenschaft der Anwendung (Abschnitt 6). Wer sie nicht herstellt, hat sie nicht. Der Preflight klassifiziert die nachweisbaren lokalen Fälle, kann aber keine Cloud- oder Hardware-Verschlüsselung attestieren. Diese Fälle bleiben UNKNOWN und benötigen den Nachweis des Providers oder der Kanzlei-IT.

Keine Protokollierung von Dokumentinhalten — ein Mechanismus, aber kein vollständiger

Der längenbasierte Filter aus Abschnitt 6 fängt eine zu lange Meldung auf beiden Senken ab. Ein Fragment unterhalb der Zeichengrenze bleibt Hausregel, nicht Mechanismus.

Die erklärte Aufbewahrungslage in Modell B ist eine Erklärung

Das Produkt zeigt sie an und kennzeichnet sie als ungeprüft. Es kann bei Microsoft nicht nachfragen. Daran ist nichts zu beheben — es ist die klarste Form dieser Angabe.

Der Prüfpfad deckt nicht jede verändernde Handlung ab

Abschnitt 6 nennt die Grenze. Bestandsaufnahme und Schließung sind eine offene Aufgabe.

Die Posture-Seite kennt die sitzungsweise Wahl

Der je Sitzung umschaltbare Anbieter des Anspruchs-Agenten wird nach jedem Zug auf der Sitzung festgehalten. Die Posture-Abfrage liest ihn, wenn ein Sitzungs-Parameter mitgegeben wird, und die Anspruchsseite verlinkt die Sitzung, sobald eine existiert. Sie zeigt die Strecke, auf der der zuletzt ausgeführte Zug dieser Sitzung tatsächlich lief — nicht notwendig die Strecke eines danach gewählten, aber noch nicht ausgeführten Modus. Eine unbekannte Sitzungs-ID wird ausdrücklich als „unbekannt“ angezeigt, nie als „läuft auf der Standardstrecke“. Beides sind verschiedene Aussagen, die Anzeige verwechselt sie nicht. Ohne verlinkte Sitzung bleibt die Seite bei der konfigurierten Standardstrecke und nennt diese Grenze weiterhin sichtbar. Der Evaluierungs-Judge ist eine globale, keine sitzungsweise Einstellung — die Standardstrecke oben beschreibt ihn bereits vollständig.