Security & architectureSicherheit & Architektur

What stays on your infrastructure — and everything else a reviewer asksWas auf Ihrer Infrastruktur bleibt — und alles andere, was eine Prüferin fragt

Written for the person your operations director forwards it to: the CIO, the IT lead, the data-protection or security reviewer. The first section answers the six questions every review starts with, in plain language. The rest is the detail, including what is still open.Geschrieben für die Person, an die Ihre Betriebsleitung diese Seite weiterleitet: CIO, IT-Leitung, Datenschutz- oder Sicherheitsprüfung. Der erste Abschnitt beantwortet die sechs Fragen, mit denen jede Prüfung beginnt, in einfacher Sprache. Der Rest ist das Detail — einschließlich dessen, was noch offen ist.

In six answersIn sechs Antworten

What stays on your infrastructureWas auf Ihrer Infrastruktur bleibt Everything. The application, the database, the backups and the AI processing run on your Linux server or a Windows workstation you own. The products have no cloud path: there is no external AI service, no telemetry and no licence phone-home. Nothing about your operation reaches Kittana AI in any configuration.Alles. Anwendung, Datenbank, Sicherungen und KI-Verarbeitung laufen auf Ihrem Linux-Server oder einer Windows-Arbeitsstation in Ihrem Besitz. Die Produkte haben keinen Cloud-Weg: keinen externen KI-Dienst, keine Telemetrie, kein Nach-Hause-Telefonieren der Lizenz. Nichts über Ihren Betrieb erreicht Kittana AI, in keiner Konfiguration.
What services are exposedWelche Dienste nach außen offen sind One: the web proxy, on ports 80 and 443. The API, the database, the cache and the local AI model are internal to the Docker network and publish no ports. HTTPS is automatic with a domain name (Let's Encrypt), or you bring your own certificate; plain HTTP is for an isolated LAN only. Suppliers reach only their portal, on the same web entry point.Einer: der Web-Proxy auf den Ports 80 und 443. API, Datenbank, Cache und das lokale KI-Modell sind im Docker-Netz intern und veröffentlichen keine Ports. HTTPS ist mit Domainnamen automatisch (Let's Encrypt), oder Sie bringen Ihr eigenes Zertifikat mit; reines HTTP ist nur für ein abgeschottetes LAN. Lieferanten erreichen nur ihr Portal, über denselben Web-Eingang.
How access is controlledWie der Zugriff gesteuert wird Every request is checked on the server for role and scope — store, area, region, country, national, distribution centre — and fails closed. Passwords are bcrypt-hashed under a server-side policy; accounts lock after five failed attempts; sign-in is rate-limited per address; two-factor authentication (TOTP) is available per account; sessions are server-revocable tokens with an eight-hour default lifetime. Where value moves, a second, different person must approve.Jede Anfrage wird auf dem Server auf Rolle und Zuständigkeit geprüft — Filiale, Gebiet, Region, Land, National, Verteilzentrum — und schließt im Zweifel. Passwörter sind bcrypt-gehasht unter serverseitiger Richtlinie; Konten sperren nach fünf Fehlversuchen; die Anmeldung ist je Adresse gedrosselt; Zwei-Faktor-Anmeldung (TOTP) ist je Konto verfügbar; Sitzungen sind serverseitig widerrufbare Token mit acht Stunden Standardlaufzeit. Wo Werte sich bewegen, muss eine zweite, andere Person freigeben.
How backups and recovery workWie Sicherung und Wiederherstellung funktionieren A documented script takes a timestamped database dump, verifies its integrity inside the container, copies it out byte-safely and keeps the last fourteen; the evidence-file folder is backed up alongside. We recommend a daily schedule. The restore procedure is written down and rehearsed — the first drill was executed and logged in August 2026 — and a quarterly drill is part of the operating documentation.Ein dokumentiertes Skript zieht einen zeitgestempelten Datenbankauszug, prüft seine Integrität im Container, kopiert ihn byte-sicher heraus und behält die letzten vierzehn; der Belegordner wird mitgesichert. Wir empfehlen einen täglichen Lauf. Die Wiederherstellung ist niedergeschrieben und geprobt — die erste Probe wurde im August 2026 ausgeführt und protokolliert — und eine vierteljährliche Probe gehört zur Betriebsdokumentation.
How licensing worksWie die Lizenzierung funktioniert A small signed file on your server, verified offline. A reminder from 30 days before expiry; 14 days of grace after it; then read-only. Reading, export, backup and restore work in every licence state. Nothing is deleted, hidden or encrypted, and there is no kill switch. Evaluation copies are limited to 30 days, two branches and synthetic data.Eine kleine signierte Datei auf Ihrem Server, offline geprüft. Eine Erinnerung ab 30 Tagen vor Ablauf; 14 Tage Kulanz danach; dann nur-lesend. Lesen, Export, Sicherung und Wiederherstellung funktionieren in jedem Lizenzzustand. Nichts wird gelöscht, versteckt oder verschlüsselt, und es gibt keinen Kill-Switch. Testversionen sind auf 30 Tage, zwei Filialen und synthetische Daten begrenzt.
What still needs customer-specific workWas noch kundenspezifische Arbeit braucht Connecting your point-of-sale system to the documented sales-ingest API (the API exists; the adapter for your till does not come off a shelf). Single sign-on against your identity provider. Your SMTP server for notifications. Record-retention rules and documents for a country other than Germany. Named POS adapters, webshop ingest and a finance export to your ledger are roadmap, not current features.Die Anbindung Ihres Kassensystems an die dokumentierte Verkaufs-Schnittstelle (die Schnittstelle gibt es; den Adapter für Ihre Kasse nicht von der Stange). Single Sign-on gegen Ihren Identity-Provider. Ihr SMTP-Server für Benachrichtigungen. Aufbewahrungsregeln und Dokumente für ein anderes Land als Deutschland. Benannte Kassenadapter, Webshop-Übernahme und ein Finanzexport in Ihr Hauptbuch sind Roadmap, keine heutigen Funktionen.

The architecture claim, preciselyDie Architektur-Aussage, präzise

Both platforms install as a Docker Compose stack on your machines — a Windows workstation with Docker Desktop, or your own Linux server. The database is yours, the backups are yours, the network perimeter is yours. AI features run either on a local model on your hardware (Ollama, pulled once at installation) or in a transparent analytical mode that computes answers from the database without any model. In both configurations core application data and AI processing stay on infrastructure you control; external connections — your mail server for notifications, a customer-specific identity provider — are explicit and configured by you. The products contain no external AI integration and no cloud option to switch on; internet is needed at build time for images and the one-time model download, and the stack runs offline afterwards.Beide Plattformen installieren als Docker-Compose-Stack auf Ihren Maschinen — einer Windows-Arbeitsstation mit Docker Desktop oder Ihrem eigenen Linux-Server. Die Datenbank gehört Ihnen, die Sicherungen gehören Ihnen, die Netzwerkgrenze gehört Ihnen. KI-Funktionen laufen entweder auf einem lokalen Modell auf Ihrer Hardware (Ollama, einmalig bei der Installation geladen) oder in einem transparenten Analysemodus, der Antworten ohne Modell aus der Datenbank berechnet. In beiden Konfigurationen bleiben die Anwendungsdaten und die KI-Verarbeitung auf Infrastruktur, die Sie kontrollieren; externe Verbindungen — Ihr Mailserver für Benachrichtigungen, ein kundenspezifischer Identitätsanbieter — sind ausdrücklich und werden von Ihnen konfiguriert. Die Produkte enthalten keine externe KI-Anbindung und keine Cloud-Option zum Einschalten; Internet wird beim Bau für Images und den einmaligen Modell-Download gebraucht, danach läuft der Stack offline.

One distinction, so nothing on this site contradicts itself. The only hosted AI anywhere in our company is the assistant on this website, which answers visitors' questions through a hosted model provider and never touches any customer's operational data — see the website privacy policy. The products you install are a different matter: no cloud path, by architecture.Eine Unterscheidung, damit sich nichts auf dieser Website widerspricht. Die einzige gehostete KI in unserem gesamten Unternehmen ist der Assistent auf dieser Website, der Besucherfragen über einen gehosteten Modellanbieter beantwortet und nie Betriebsdaten eines Kunden berührt — siehe die Datenschutzerklärung der Website. Die Produkte, die Sie installieren, sind eine andere Sache: kein Cloud-Weg, aus Architekturgründen.

What the platforms hold — and refuse to holdWas die Plattformen speichern — und was sie verweigern

Drogista No consumer personal data, by design: sales records carry no names and no card data — quantities, lots and prices only. Personal data is limited to your employees' accounts (name, work email, bcrypt password hash), supplier portal contacts, and their audit references.Keine Kunden-Personendaten, konstruktionsbedingt: Verkaufsdatensätze tragen keine Namen und keine Kartendaten — nur Mengen, Chargen und Preise. Personenbezogen sind allein die Mitarbeiterkonten (Name, Dienst-E-Mail, bcrypt-Passworthash), die Ansprechpartner im Lieferantenportal und ihre Prüfpfad-Verweise.
Galenara No patient data anywhere: dispensing history is imported as aggregate quantities by product, location and date, without any patient identifier. Compliance registers — excursions, recalls, disposals, the decision trail — are the product's value and are retained deliberately.Nirgends Patientendaten: Die Abgabehistorie wird als aggregierte Mengen je Produkt, Standort und Datum importiert, ohne Patientenbezug. Compliance-Register — Abweichungen, Rückrufe, Entsorgungen, die Entscheidungsspur — sind der Wert des Produkts und werden bewusst aufbewahrt.
Retention follows your lawAufbewahrung folgt Ihrem Recht Business records — audit and decision trails, counts, orders, invoices — are retained five years by default and never less than the customer's statutory minimum. Drogista's current localisation implements the German periods (§ 240 / § 257 HGB, § 147 AO) with a CSV auditor export; Galenara's registers were built against the Saudi SFDA context. Aligning registers, retention clocks and reports with another country's law is standard tailoring. Sessions purge on a schedule; operational exhaust ages out on configured clocks.Geschäftsunterlagen — Prüf- und Entscheidungspfade, Zählungen, Bestellungen, Rechnungen — werden standardmäßig fünf Jahre aufbewahrt und nie kürzer als das gesetzliche Minimum des Kunden. Die aktuelle Lokalisierung von Drogista setzt die deutschen Fristen um (§ 240 / § 257 HGB, § 147 AO) mit CSV-Prüferexport; Galenaras Register entstanden im saudischen SFDA-Kontext. Register, Aufbewahrungsfristen und Berichte an das Recht eines anderen Landes anzupassen, ist normale Anpassung. Sitzungen werden planmäßig gelöscht; Betriebsdaten altern auf konfigurierten Uhren aus.

Access controlZugriffskontrolle

Every endpoint checks role and scope on the server — store, area, region, country, national and the distribution centre in Drogista; facility, region, national and the hub (recursive) in Galenara — and access fails closed: an unknown scope means no access, not all access. Four-eyes is structural where value moves: the decider can never be the requester or the counter, and buying, receiving and paying are three different hands. Passwords are bcrypt-hashed with server-side policy; accounts lock after repeated failures; logins are rate-limited per IP. Both platforms offer optional TOTP two-factor authentication — enrolment confirmed by a live code, and a stolen session cannot strip the factor. Supplier portal accounts are confined by a single choke point to their own orders, delivery notes, prices and invoices; every internal door refuses them, and the portal refuses internal accounts in turn. Scope isolation is locked in place by the platforms' own test suites, with counter-proof runs that fail when a guard is removed.Jeder Endpunkt prüft Rolle und Zuständigkeit auf dem Server — Filiale, Gebiet, Region, Land, National und das Verteilzentrum bei Drogista; Einrichtung, Region, National und das Zentrallager (rekursiv) bei Galenara — und der Zugriff schließt im Zweifel: unbekannte Zuständigkeit heißt kein Zugriff, nicht aller Zugriff. Vier Augen sind strukturell, wo Werte sich bewegen: Wer entscheidet, kann nie zugleich anfordern oder zählen, und Kaufen, Annehmen und Zahlen sind drei verschiedene Hände. Passwörter sind bcrypt-gehasht mit serverseitiger Richtlinie; Konten sperren nach wiederholten Fehlversuchen; Anmeldungen sind je IP gedrosselt. Beide Plattformen bieten optionale TOTP-Zwei-Faktor-Anmeldung — die Einrichtung wird per Live-Code bestätigt, und eine gestohlene Sitzung kann den zweiten Faktor nicht entfernen. Lieferantenkonten sind durch einen einzigen Engpass auf ihre eigenen Bestellungen, Lieferscheine, Preise und Rechnungen begrenzt; jede interne Tür verweigert sie, und das Portal verweigert umgekehrt interne Konten. Zuständigkeits-Isolation ist durch die eigenen Testsuiten der Plattformen festgeschrieben, mit Gegenproben, die scheitern, wenn eine Sperre entfernt wird.

Operational securityBetriebssicherheit

Hardening headers on every response; the API runs as a non-root user with dropped capabilities. Startup detection of shipped default secrets: a production installation (ENVIRONMENT=production) of either platform refuses to start on a shipped or missing secret — Drogista also rejects a secret shorter than 32 characters, and its message names the line to fix without printing a secret value; development and test installations log a warning and run, and Drogista's onboarding checklist stays red until the secret is rotated. The production compose file additionally refuses an empty database password. A one-command password-rotation step before access is handed out. Daily database backups with a rehearsed, documented restore. A deep health endpoint reporting database latency, scheduler heartbeat and job failures — including a "degraded" state for your monitoring to page on. Releases pass a CI pipeline that builds the stack, migrates, seeds and runs the full suite, plus a dependency audit.Härtungs-Header auf jeder Antwort; die API läuft als Nicht-Root-Benutzer mit abgelegten Capabilities. Erkennung ausgelieferter Standard-Geheimnisse beim Start: Eine Produktivinstallation (ENVIRONMENT=production) beider Plattformen verweigert den Start mit einem mitgelieferten oder fehlenden Geheimnis — Drogista weist zusätzlich ein Geheimnis unter 32 Zeichen ab, und seine Meldung nennt die zu korrigierende Zeile, ohne einen Geheimniswert auszugeben; Entwicklungs- und Testinstallationen protokollieren eine Warnung und laufen, und Drogistas Onboarding-Checkliste bleibt rot, bis das Geheimnis rotiert ist. Die Produktions-Compose-Datei verweigert zusätzlich ein leeres Datenbankpasswort. Ein Ein-Befehl-Schritt zur Passwortrotation, bevor Zugänge vergeben werden. Tägliche Datenbanksicherungen mit geprobter, dokumentierter Wiederherstellung. Ein tiefer Health-Endpunkt mit Datenbank-Latenz, Scheduler-Herzschlag und Job-Fehlern — einschließlich eines „degraded"-Zustands für Ihr Monitoring. Versionen durchlaufen eine CI-Pipeline, die den Stack baut, migriert, befüllt und die volle Suite ausführt, plus Abhängigkeits-Audit.

Proof you can holdNachweise zum Anfassen

Drogista, release harness of 8 September 2026: 431 automated tests passed (1 skipped) behind a systematic acceptance test plan; the consistency oracle ran 1,397 checks with 0 disagreements; 3,801 interface strings in both languages; 501 coded, bilingual refusals; scope-isolation counter-proofs; a fictional-world checker with 0 residues. Galenara, release harness of 7 September 2026: 374 automated tests passed, re-counted by its own checkers on every release, including scope-isolation counter-proofs and a loop-closure audit that drives every workflow from birth to terminal state. These are different measures and are never added together. The documents ship with the product: role definitions, terms of reference per role, process workflow maps, the test plans with dated results, and the security posture files this page is built from — your auditor gets the same papers we work from.Drogista, Release-Prüflauf vom 8. September 2026: 431 automatisierte Tests bestanden (1 übersprungen) hinter einem systematischen Abnahme-Testplan; das Konsistenz-Orakel lief 1.397 Prüfungen mit 0 Widersprüchen; 3.801 Oberflächentexte in beiden Sprachen; 501 kodierte, zweisprachige Abweisungen; Zuständigkeits-Gegenproben; ein Prüfer für die fiktive Welt mit 0 Rückständen. Galenara, Release-Prüflauf vom 7. September 2026: 374 automatisierte Tests bestanden, bei jeder Version von den eigenen Prüfern neu gezählt, einschließlich Zuständigkeits-Gegenproben und eines Kreislauf-Audits, das jeden Arbeitsablauf von der Entstehung bis zum Endzustand durchfährt. Das sind verschiedene Maße und werden nie addiert. Die Dokumente werden mitgeliefert: Rollendefinitionen, Aufgabenbeschreibungen je Rolle, Prozesslandkarten, die Testpläne mit datierten Ergebnissen und die Sicherheitsdossiers, aus denen diese Seite gebaut ist — Ihr Prüfer erhält dieselben Papiere, mit denen wir arbeiten.

Known gaps, listedBekannte Lücken, aufgelistet

We keep a written list of what is not done yet, and it ships with the security documents. Current entries: an external penetration test is planned before the first pilot, not behind us; content-security-policy headers in the products need a dedicated pass; browser session tokens are moving from local storage to httpOnly cookies for production; secrets scanning is not yet part of the CI pipeline; single sign-on awaits the customer's identity-provider decision rather than us building a parallel identity store. If a vendor tells you they have no such list, they have one — unwritten.Wir führen eine schriftliche Liste dessen, was noch nicht fertig ist, und sie wird mit den Sicherheitsdokumenten ausgeliefert. Aktuelle Einträge: Ein externer Penetrationstest ist vor dem ersten Piloten geplant, nicht hinter uns; Content-Security-Policy-Header in den Produkten brauchen einen eigenen Durchgang; Browser-Sitzungstoken wandern für die Produktion aus dem lokalen Speicher in httpOnly-Cookies; ein Secrets-Scan ist noch nicht Teil der CI-Pipeline; Single Sign-on wartet auf die Identity-Provider-Entscheidung des Kunden, statt dass wir einen parallelen Identitätsspeicher bauen. Wenn ein Anbieter sagt, er habe keine solche Liste, hat er eine — ungeschrieben.

Put your reviewer in touch with usBringen Sie Ihre Prüfung mit uns in Kontakt Drogista: deployment & integrationsDrogista: Betrieb & Anbindungen Website privacy policy →Datenschutzerklärung der Website →