Sicherheit, die Sie nachprüfen können, statt ihr nur zu vertrauen.
Arbeitszeugnisse enthalten einige der sensibelsten Daten, die ein Unternehmen aufbewahrt. Diese Seite zeigt, wie ZeugnyAI sie behandelt, welche Kontrollen bestehen, welche geplant sind, und wo Ihr Team jede einzelne überprüfen kann.
Geltungsbereich: ZeugnyAI Cloud (app.zeugny.com), die Self-Hosted-Edition und die Zeugny Engine. ZeugnyAI Chat und der kostenlose Zeugnis-Check sind Konsumentenprodukte mit eigenen Datenschutzerklärungen.
Jede Kontrolle mit ihrem Status
Jede Kontrolle nennt, ob sie umgesetzt, teilweise umgesetzt oder geplant ist. Wo sie im Plattformcode liegt, ist der Quellpfad aufgeführt, damit Self-Hosted-Kunden sie überprüfen können.
Datenschutz und Privatsphäre
Wie Personendaten pseudonymisiert, verschlüsselt, aufbewahrt und gelöscht werden.
Pseudonymisierung vor der Engine
UmgesetztInnerhalb der Plattform ersetzt die PII-Grenze die Namen von Mitarbeitenden, Führungskräften und Unterzeichnenden, Arbeitgeber- und Firmennamen, Daten, geschäftliche E-Mail-Adressen und Mitarbeiter-IDs durch konsistente Pseudonyme, bevor eine Anfrage die Engine erreicht, und stellt sie in der Antwort wieder her. Sie umschliesst die Engine-Aufrufe der HR-Plattform, des Lifecycle-Workers, von ZeugnyAI Chat (das die Engine nur über die Plattform erreicht) und des Word-Gateways.
FADP Art. 7GDPR Art. 25ISO A.8.11SOC 2 C1.1Im Quellcode prüfen
- platform/packages/ports/src/pii-boundary.ts
- platform/packages/lifecycle/src/pii/wiring.ts
- platform/packages/ports/test/pii-boundary.test.ts
Die Grenze lehnt ab, statt Daten preiszugeben
UmgesetztEine Anfrage wird abgelehnt statt gesendet, wenn der Verschlüsselungsschlüssel oder der Dokumentumfang fehlt, einer bekannten Person oder einem bekannten Arbeitgeber kein Pseudonym zugeordnet ist, ein Namensteil zwischen zwei Personen mehrdeutig ist oder der Audit-Eintrag nicht geschrieben werden kann.
FADP Art. 7GDPR Art. 25ISO A.8.11Im Quellcode prüfen
- platform/packages/ports/src/registry.ts
- platform/packages/ports/test/pii-boundary.test.ts
Freitext und weitere Angaben
TeilweiseGeburtsort, Nationalität, Berufsbezeichnungen, Abteilungen, die Unternehmensbeschreibung und Aufgabentexte werden wie eingegeben gesendet; der Text braucht die meisten davon. In Freitext eingegebene Namen werden nur ersetzt, wenn sie zu einer bekannten Person oder einem bekannten Arbeitgeber passen. Ein strengerer Modus, der nicht erkannten Freitext zur Prüfung durch Menschen zurückhält, ist gebaut; seine Aktivierung in der Managed Cloud ist geplant.
FADP Art. 7GDPR Art. 25ISO A.8.11Im Quellcode prüfen
- platform/packages/lifecycle/src/collected-assembly.ts
PII-Grenz-Inspektor für jedes Zeugnis
UmgesetztZu jedem Zeugnis kann HR jeden Übergang zur und von der Engine öffnen: Zeit, Richtung, die Anzahl ersetzter Elemente je Kategorie, den SHA-256-Hash der Nutzdaten und die verwendeten Pseudonyme. Echte Werte werden dort nie angezeigt. Die Ansicht lässt sich als CSV exportieren.
GDPR Art. 5(2)ISO A.8.15SOC 2 CC7.2AI Act Art. 12Im Quellcode prüfen
- platform/apps/cloud/app/lib/pii-report.server.ts
- platform/apps/cloud/app/routes/certificates.$id.pii-boundary.tsx
Daten in der Schweiz gespeichert
UmgesetztDatenbank, Backups, Dateispeicher, Key Vault, Logs und Anwendungsserver der Managed Cloud laufen in Microsoft Azure Switzerland North (Zürich). Backups und Dateispeicher werden in eine zweite Schweizer Region, Switzerland West, repliziert. app.zeugny.com wird direkt nach Zürich aufgelöst, ohne zwischengeschaltetes Content-Delivery-Network. Die IP-Adresse einer unterzeichnenden Person wird als Unterzeichnungsnachweis gespeichert und an keinen Geolokalisierungsdienst Dritter gesendet; das Land wird aus einem Header gelesen, der am Netzwerkrand (Edge) gesetzt wird.
FADP Art. 16GDPR Art. 44–45ISO A.5.34Verschlüsselung bei der Übertragung
UmgesetztAlle Apps akzeptieren nur HTTPS, mindestens mit TLS 1.2; in der Praxis wird TLS 1.3 ausgehandelt. Der Datenbankserver akzeptiert nur TLS-Verbindungen, mindestens mit TLS 1.2, und die Datenbankverbindungen der Plattform fordern TLS an.
FADP Art. 8GDPR Art. 32ISO A.8.24SOC 2 CC6.7Verschlüsselung ruhender Daten
UmgesetztAzure verschlüsselt Datenbank, Backups und Dateispeicher im Ruhezustand. Zusätzlich verschlüsselt die Plattform Pseudonym-Zuordnungen und Engine-API-Schlüssel mit AES-256-GCM unter Hauptschlüsseln, die im Azure Key Vault liegen. Andere Datensätze stützen sich auf die Verschlüsselung von Azure.
FADP Art. 8GDPR Art. 32ISO A.8.24SOC 2 CC6.1Im Quellcode prüfen
- platform/packages/lifecycle/src/crypto/gcm.ts
- platform/packages/lifecycle/src/pii/store.ts
- platform/packages/lifecycle/src/engine-config.ts
Aufbewahrung und automatische Löschung
TeilweiseNach Ablauf der Aufbewahrungsfrist (standardmässig 10 Jahre nach Ende des Arbeitsverhältnisses) schwärzt ein stündlicher Job Name, E-Mail-Adresse, Geburtsdatum und -ort sowie Nationalität eines ehemaligen Mitarbeitenden, löscht Entwürfe und entfernt die Pseudonym-Zuordnungen. Stellenzuordnungen, der Audit-Trail und ausgestellte Zeugnisse bleiben erhalten; ausgestellte Zeugnisse enthalten weiterhin den Namen. Auf Anfrage setzen wir für Ihr Unternehmen eine andere Frist; eine Konfiguration in Eigenregie ist geplant.
FADP Art. 6(4)GDPR Art. 5(1)(e)ISO A.8.10SOC 2 C1.2Im Quellcode prüfen
- platform/apps/cloud/app/lib/retention.server.ts
- platform/apps/worker/src/main.ts
Anfragen von Mitarbeitenden zu ihren Daten
TeilweiseMitarbeitende stellen Auskunfts- und Löschbegehren selbst unter «Datenschutz», und HR verfolgt jedes einzelne anhand einer Frist von 30 Tagen. Eine Löschung schwärzt die Daten der Person, entfernt Vault-Einträge und Freigaben und stellt eine Bestätigung aus. Ein Auskunftsbegehren erzeugt eine Zusammenfassung; eine herunterladbare Kopie der Daten ist geplant.
FADP Art. 25GDPR Art. 15, 17ISO A.5.34SOC 2 P5.1Im Quellcode prüfen
- platform/apps/cloud/app/lib/dsar.server.ts
- platform/apps/cloud/app/routes/me.privacy.tsx
Aufbewahrungssperren und Beanstandungen
UmgesetztHR-Verantwortliche können für ein Arbeitsverhältnis und alle seine Zeugnisse eine Aufbewahrungssperre (Legal Hold) verhängen, die die Löschung aussetzt. Mitarbeitende können ein Zeugnis beanstanden; eine akzeptierte Beanstandung erzeugt eine neue Version, und der Verlauf bleibt im Audit-Trail.
FADP Art. 32GDPR Art. 16, 18ISO A.5.33Im Quellcode prüfen
- platform/apps/cloud/app/lib/retention.server.ts
- platform/apps/cloud/app/lib/disputes.server.ts
Crypto-Shredding je Unternehmen
GeplantDie Plattform kann den Pseudonymisierungsschlüssel eines Unternehmens vernichten, wodurch dessen gespeicherte Zuordnungen unlesbar werden. Die Funktion ist gebaut und getestet; sie als Betreiberaktion zur Verfügung zu stellen, ist geplant. Kopien in Backups laufen nach dem regulären Backup-Zeitplan ab.
GDPR Art. 17ISO A.8.10SOC 2 C1.2Im Quellcode prüfen
- platform/packages/lifecycle/src/pii/erasure.ts
KI-Governance
Wie die KI eingegrenzt, beaufsichtigt und von Identitäten ferngehalten wird.
Menschen legen die Bewertungen fest
UmgesetztFührungskräfte oder HR bewerten jeden Aspekt von Leistung und Verhalten. Die KI schreibt Text, der zu diesen Bewertungen passt, und kann sie nicht ändern. Das Gesamtniveau wird aus den Bewertungen berechnet und nicht vom Modell gewählt.
FADP Art. 21GDPR Art. 22AI Act Art. 14Im Quellcode prüfen
- platform/packages/lifecycle/src/stages/manager-eval.ts
- platform/packages/lifecycle/src/collected-assembly.ts
Jeder Satz nennt seine Quelle
UmgesetztJeder wertende Satz hält den Aspekt und die Bewertung fest, die er ausdrückt, und HR sieht dies im Editor, sodass sich jeder Satz auf die zugrunde liegende Bewertung zurückführen lässt.
GDPR Art. 5(1)(a)AI Act Art. 13Im Quellcode prüfen
- platform/apps/cloud/app/components/sentence-provenance.tsx
- platform/packages/ports/src/engine.ts
Fairness- und Code-Prüfung vor der Ausstellung
UmgesetztVor der Prüfung durch HR durchläuft jeder KI-Entwurf die Fairness-Analyse der Engine. Ein blockierender Befund hält das Zeugnis zurück, bis eine Änderung ihn behebt oder ein HR-Verantwortlicher ihn übersteuert; die Übersteuerung wird im Audit-Trail festgehalten. Arbeitsbestätigungen, die ohne KI aus einer Vorlage erstellt werden, überspringen diesen Schritt.
GDPR Art. 5(1)(a)AI Act Art. 9, 14Im Quellcode prüfen
- platform/packages/lifecycle/src/stages/fairness-gate.ts
HR finalisiert jedes Zeugnis
UmgesetztKein Zeugnis gelangt ohne Prüfung und Finalisierung durch HR-Verantwortliche oder Administratoren zu Mitarbeitenden. Automatisierungen können Anfragen starten, aber nie finalisieren.
FADP Art. 21GDPR Art. 22AI Act Art. 14Im Quellcode prüfen
- platform/packages/lifecycle/src/workflow.ts
- platform/apps/cloud/app/lib/automation.server.ts
Kein Training mit Ihren Daten
UmgesetztWir verwenden Kundendaten weder zum Training noch zum Fine-Tuning noch zur Evaluation von Modellen, und Kundenanfragen gelangen nie in unseren Referenzkorpus.
FADP Art. 6(3)GDPR Art. 5(1)(b)AI Act Art. 10Länderregeln sind explizit
UmgesetztJedes Zeugnis nennt seine Rechtsordnung, Schweiz, Deutschland oder Österreich, ausdrücklich, statt sie aus dem Text zu erraten. Bisher wurden nur die Schweizer Regeln überprüft; Beurteilungen für Deutschland und Österreich sind als eingeschränkt gekennzeichnet.
AI Act Art. 13, 15Im Quellcode prüfen
- platform/packages/ports/src/jurisdiction.ts
Kontrollen bei Modellanbietern
TeilweiseZeugnistext wird von Modellen auf Microsoft Azure AI Foundry geschrieben, auf einer Ressource in Switzerland North mit einer Bereitstellung als EU Data Zone Standard, sodass Anfragen innerhalb der EU-Datenzone verarbeitet werden. Entscheidungs-, Extraktions- und Retrieval-Schritte nutzen zudem Microsoft Decision-1 (eine Azure-AI-Foundry-Ressource in Sweden Central mit einer Bereitstellung als EU Data Zone Standard), OpenRouter und Voyage AI, und die Plattform nutzt OpenRouter direkt, um Berufsbezeichnungen und Aufgaben vorzuschlagen. Anbieter erhalten ausschliesslich pseudonymisierten Text. Jede Anfrage, die die Engine an OpenRouter sendet, verlangt Anbieter, die keine Nutzerdaten sammeln; eine Einstellung zum Abschalten gibt es nicht. Zero-Data-Retention-Routing ist geplant.
FADP Art. 9, 16GDPR Art. 28, 44–46ISO A.5.19, A.5.23SOC 2 CC9.2
Identität und Zugriff
Wer sich anmelden kann und was jede Rolle sehen und tun darf.
Schutz bei der Anmeldung
UmgesetztPasswörter werden mit scrypt gehasht und müssen mindestens 8 Zeichen lang sein. E-Mail-Adressen werden vor der ersten Passwort-Anmeldung verifiziert, und passwortlose Magic-Links laufen nach 5 Minuten ab. Anmeldeversuche sind pro IP-Adresse ratenbegrenzt.
FADP Art. 8GDPR Art. 32ISO A.8.5SOC 2 CC6.1Im Quellcode prüfen
- platform/packages/auth/src/better-auth/instance.server.ts
Sitzungen
UmgesetztSitzungen werden auf dem Server gespeichert und können widerrufen werden. Sitzungs-Cookies sind HttpOnly, Secure und SameSite=Lax und laufen nach 7 Tagen ab. Ein deaktiviertes Konto wird bei seiner nächsten Anfrage abgewiesen.
ISO A.8.5SOC 2 CC6.1Im Quellcode prüfen
- platform/apps/cloud/app/lib/context.server.ts
Multi-Faktor-Authentifizierung
TeilweiseMit Single Sign-on gilt die MFA Ihres Identitätsanbieters für jede Anmeldung. Staff-Konten in unserer Control Plane benötigen für jede Sitzung einen zweiten Faktor (Authenticator-Code oder Backup-Code), und ohne ihn wird keine Engine-Operator-Anmeldung ausgestellt. Ein integrierter zweiter Faktor für die Passwort-Anmeldung von Kunden ist geplant.
FADP Art. 8GDPR Art. 32ISO A.8.5SOC 2 CC6.1Im Quellcode prüfen
- platform/apps/control/app/lib/staff-mfa.server.ts
Single Sign-on und SCIM
UmgesetztSingle Sign-on je Unternehmen mit OIDC oder SAML, per DNS verifizierten Domains, Zuordnung von Gruppen zu Rollen und einem optionalen reinen SSO-Modus. Es ist in der Managed Cloud aktiviert, und wir verbinden Ihren Identitätsanbieter auf Anfrage. SCIM 2.0 legt Benutzer an, deaktiviert sie und beendet ihre Sitzungen; ein ohne Rolle bereitgestellter Benutzer erhält die am wenigsten privilegierte HR-Rolle (HR-Koordinator), und die SCIM-Endpunkte sind ratenbegrenzt. Self-Hosted bindet jeden OIDC-Anbieter an.
ISO A.5.16, A.5.18SOC 2 CC6.2Im Quellcode prüfen
- platform/apps/cloud/app/lib/sso-provisioning.server.ts
- platform/apps/cloud/app/lib/scim.server.ts
Rollen und Funktionstrennung
UmgesetztJede Route prüft beziehungsbasierte Berechtigungen. HR-Koordinatoren können Entwürfe erstellen, aber nicht finalisieren, keinen Befund übersteuern und das offizielle Dokument weder unterzeichnen noch herunterladen. Arbeitnehmervertretungen sehen nur aggregierte Zahlen; Führungskräfte sehen ihre direkt unterstellten Mitarbeitenden.
FADP Art. 8GDPR Art. 32ISO A.5.3, A.5.15, A.8.3SOC 2 CC6.3Im Quellcode prüfen
- platform/packages/authz/src/schema.ts
- platform/packages/authz/test/authz.test.ts
Trennung der Unternehmen
TeilweiseIn der Managed Cloud teilen sich die Unternehmen eine Schweizer Datenbank. Die Anwendung beschränkt jede Anfrage auf ein Unternehmen und prüft die Berechtigungen für jedes Objekt. Bei Self-Hosted hat jeder Kunde eine eigene Datenbank. Eine Durchsetzung auf Zeilenebene in der Datenbank ist als zweite Schicht geplant.
FADP Art. 8GDPR Art. 32ISO A.8.3SOC 2 CC6.1Im Quellcode prüfen
- platform/apps/cloud/app/lib/tenant.server.ts
- platform/apps/cloud/app/lib/tenant.server.test.ts
Links für einen einzigen Zweck
UmgesetztPersonen ohne Konto, etwa bewertende Führungskräfte, Prüfende eines Entwurfs oder Mitarbeitende, die ein Zeugnis abholen, erhalten Links, die Zugriff auf genau ein Objekt gewähren, ablaufen und widerrufen werden können. Die Plattform speichert nur einen SHA-256-Hash jedes Link-Tokens.
ISO A.8.3SOC 2 CC6.1Im Quellcode prüfen
- platform/apps/cloud/app/lib/capability.server.ts
- platform/packages/lifecycle/src/stages/deliver.ts
Zugriff des ZeugnyAI-Personals
UmgesetztStaff-Konten werden nur auf Einladung angelegt und benötigen eine Administratorrolle, und jede Aktion in der Control Plane erfordert eine eigene Berechtigung. Jede Staff-Sitzung muss einen zweiten Faktor bestehen (Authenticator-Code oder Backup-Code), bevor sie die Control Plane nutzen kann, und ohne ihn wird keine Engine-Operator-Anmeldung ausgestellt. Staff-Konten können sich nicht als andere Benutzer ausgeben: Die Admin-Endpunkte für Impersonation sind deaktiviert. Änderungen an Unternehmen, Engine-Schlüsseln und Staff-Konten werden protokolliert.
ISO A.8.2, A.5.18SOC 2 CC6.2, CC6.3Im Quellcode prüfen
- platform/apps/control/app/lib/staff-mfa.server.ts
Anwendungssicherheit
Wie sich die Anwendung an ihren Schnittstellen schützt.
Schutz vor Cross-Site-Request-Forgery
UmgesetztAnmeldungen und Formularübermittlungen werden gegen den Ursprung der Anfrage geprüft, und Sitzungs-Cookies sind SameSite=Lax.
ISO A.8.26SOC 2 CC6.6Sicherheits-Header des Browsers
UmgesetztDie vier Web-Apps (App, Control, Chat und die Website) senden HSTS, eine Content-Security-Policy mit einer Nonce pro Antwort, Frame-Schutz (X-Frame-Options DENY und frame-ancestors none), X-Content-Type-Options nosniff und eine Referrer-Policy. Sensible Seiten senden zusätzlich no-store- und no-referrer-Header.
ISO A.8.26SOC 2 CC6.6Im Quellcode prüfen
- platform/packages/ports/src/security-headers.ts
Ratenbegrenzung bei Anmeldung, öffentlichen Links und SCIM
UmgesetztDie Anmeldung ist pro IP-Adresse ratenbegrenzt. Jede öffentliche Link-Seite, einschliesslich der Verifizierungsseiten hinter dem QR-Code, erlaubt 60 Anfragen pro Minute und Client, und die SCIM-Endpunkte erlauben 600 Anfragen pro Minute und Unternehmen und Client.
ISO A.8.26SOC 2 CC6.6Im Quellcode prüfen
- platform/apps/cloud/app/lib/public-rate-limit.server.ts
- platform/apps/cloud/app/routes/_public.tsx
Engine-API-Schlüssel
UmgesetztJedes Unternehmen hat einen eigenen Engine-Schlüssel mit einer Begrenzung der Anfragerate; er kann rotiert und widerrufen werden. Die Engine speichert nur einen SHA-256-Hash davon, und die Plattform speichert ihn mit AES-256-GCM verschlüsselt. Ergebnisse sind nur für den Schlüssel oder das Unternehmen lesbar, die sie erstellt haben.
ISO A.8.5, A.8.24SOC 2 CC6.1Im Quellcode prüfen
- platform/packages/lifecycle/src/engine-config.ts
Umgang mit Dateien
UmgesetztHochgeladene Scans unterschriebener Papierzeugnisse müssen PDF, PNG oder JPEG sein, bis 10 MB, und der Dateiinhalt muss dem angegebenen Typ entsprechen.
ISO A.8.26SOC 2 CC6.8Im Quellcode prüfen
- platform/apps/cloud/app/lib/paper-completion.server.ts
- platform/packages/lifecycle/src/branding.ts
Secrets-Verwaltung
UmgesetztProduktions-Secrets liegen im Azure Key Vault mit rollenbasiertem Zugriff und Soft Delete und gelangen als Key-Vault-Referenzen zu den Apps. Keines ist im Quellcode gespeichert, und die Produktion verweigert den Start ohne ihre Schlüssel.
ISO A.5.17, A.8.24SOC 2 CC6.1
Infrastruktur und Netzwerk
Wo der Dienst läuft und wie er abgesichert ist.
Verwaltete Plattformdienste
UmgesetztDie Produktion läuft auf verwalteten Diensten: Azure-App-Service-Containern und Azure Database for PostgreSQL für die Plattform, Cloudflare Workers für die Engine. Wir betreiben keine eigenen virtuellen Maschinen.
ISO A.5.23, A.8.8SOC 2 CC7.1Netzwerkisolation
TeilweiseDie Apps erreichen die Datenbank über einen privaten Endpunkt. Die Datenbank hat zusätzlich einen öffentlichen Endpunkt. Seine Firewall-Zulassungsliste enthält die Adressbereiche von Cloudflare, damit sich Cloudflare Workers, darunter die Engine, über Hyperdrive verbinden können. Bei Migrationen, Deployments und Backups lässt eine temporäre Regel den ausführenden CI-Runner zu und wird entfernt, sobald der Job endet. TLS und Passwörter schützen jede Verbindung.
ISO A.8.20, A.8.22SOC 2 CC6.6Infrastruktur als Code
UmgesetztAzure-Ressourcen sind in versionierten Vorlagen definiert, und App-Einstellungen stammen aus versionierten Dateien, die auf Key Vault verweisen.
ISO A.8.9SOC 2 CC8.1E-Mail-Sicherheit
UmgesetztBenachrichtigungen werden von notifications.zeugny.com gesendet, das eine DMARC-Richtlinie «reject» veröffentlicht; auch die Hauptdomain zeugny.com veröffentlicht eine DMARC-Richtlinie «quarantine». Die Benachrichtigungen enthalten die Empfängeradresse, Namen und einen Link. security@, privacy@ und hello@zeugny.com sind überwachte Postfächer.
ISO A.5.14SOC 2 CC6.7
Protokollierung, Überwachung und Vorfälle
Was aufgezeichnet wird, was überwacht wird und was geschieht, wenn etwas ausfällt.
Audit-Trail mit Manipulationserkennung
UmgesetztJeder Lebenszyklus-Schritt und jede Änderung wird in ein Audit-Protokoll geschrieben, in dem jeder Eintrag den Hash des vorherigen trägt, sodass ein veränderter Eintrag die Kette bricht. Die Kette wird geprüft, wenn ein Dossier oder eine Verifizierungsseite geöffnet wird, und das Dossier jedes Zeugnisses lässt sich mit seinen Audit-Einträgen herunterladen.
FADP Art. 8GDPR Art. 5(2)ISO A.8.15SOC 2 CC7.2AI Act Art. 12Im Quellcode prüfen
- platform/packages/lifecycle/src/audit.ts
- platform/packages/lifecycle/test/audit-race.test.ts
Synthetisches Monitoring
UmgesetztAlle fünf Minuten prüft ein separater Monitor den Zustand von Plattform, Worker und Control Plane. Einmal täglich führt er über die Engine eine vollständige Analyse eines fiktiven Zeugnisses durch. Azure-Verfügbarkeitstests überwachen den Monitor selbst von drei europäischen Standorten aus, sodass der Ausfall einer der beiden Seiten einen Alarm auslöst.
ISO A.8.16SOC 2 CC7.2, A1.2Zentrale Protokollierung
UmgesetztAnwendungs-, HTTP- und Datenbank-Logs gehen an Azure Log Analytics in Switzerland North und werden 30 Tage aufbewahrt. Engine-Anfrage-Logs enthalten nur Metadaten; die Laufzeit-Logs der Engine bei Cloudflare können Fragmente von pseudonymisiertem Text enthalten.
ISO A.8.15SOC 2 CC7.2Reaktion auf Vorfälle und Benachrichtigung
TeilweiseBetrifft ein Vorfall Ihre Daten, informieren wir Ihre benannte Kontaktperson unverzüglich, nachdem wir ihn bestätigt haben, darüber, was geschehen ist, welche Daten betroffen sind und was wir dagegen unternehmen. Ein schriftlicher Plan zur Reaktion auf Vorfälle liegt im Entwurf vor und wird nach rechtlicher Prüfung veröffentlicht; regelmässige Übungen sind geplant.
FADP Art. 24GDPR Art. 33ISO A.5.24, A.5.26SOC 2 CC7.3, CC7.4
Backup und Kontinuität
Wie Daten gesichert und wie Releases geschützt werden.
Backups
UmgesetztDie Datenbank kann auf jeden Zeitpunkt der letzten 35 Tage wiederhergestellt werden. Zusätzlich sichert ein geplanter Job alle Datenbanken jede Nacht als Dump. Er läuft auf einem von ZeugnyAI betriebenen CI-Runner, der sich per TLS verbindet, jeden Dump in eine temporäre Datei schreibt, ihn in Azure Storage in Switzerland North hochlädt und die Datei löscht. Die letzten 30 Dumps jeder Datenbank werden aufbewahrt, und gelöschte Dumps bleiben 30 weitere Tage wiederherstellbar. Die gespeicherten Backups, Point-in-Time und Dumps, liegen in Switzerland North und werden in eine zweite Schweizer Region, Switzerland West, repliziert.
FADP Art. 8GDPR Art. 32ISO A.8.13SOC 2 A1.2Wiederherstellungstests
TeilweiseDas Wiederherstellungsverfahren ist dokumentiert. Wiederherstellung getestet am 9. November 2026: Eine Point-in-Time-Wiederherstellung der Produktionsdatenbank auf einen temporären Server war in 7 Minuten abgeschlossen, und ihr Inhalt wurde geprüft. Weitere Wiederherstellungstests in regelmässigen Abständen sind geplant.
ISO A.8.13, A.5.30SOC 2 A1.3Redundanz
TeilweiseDie Managed Cloud läuft in Azure Switzerland North. Datenbank-Backups und Dateispeicher werden in eine zweite Schweizer Region, Switzerland West, repliziert. Eine Wiederherstellung des Datenbank-Backups in Switzerland West wurde am 10. November 2026 getestet. Eine Standby-Datenbank mit automatischem Failover ist geplant.
ISO A.8.14SOC 2 A1.2Im Quellcode prüfen
- platform/infra/azure/main.bicep
Gestaffelte Releases
UmgesetztJede Änderung im Hauptzweig, die die Prüfungen besteht, wird in einer separaten Staging-Umgebung bereitgestellt. Ein Produktions-Release setzt einen bestandenen Smoke-Test auf Staging für denselben Commit voraus. Die Engine gelangt nur aus Commits in die Produktion, die die Prüfungen bestanden haben: Ein CI-Job setzt den Release-Branch auf den getesteten Commit, und Cloudflare stellt aus diesem Branch bereit.
ISO A.8.32SOC 2 CC8.1
Sichere Entwicklung
Wie Änderungen gebaut, getestet und ausgeliefert werden.
Automatisierte Prüfungen bei jeder Änderung
UmgesetztTypprüfungen, Unit- und Integrationstests und Produktions-Builds laufen bei jeder Änderung, und End-to-End-Tests laufen bei Änderungen, die sie betreffen. Abhängigkeiten werden aus einem eingefrorenen Lockfile installiert.
ISO A.8.25, A.8.29SOC 2 CC8.1Getrennte Umgebungen
UmgesetztEntwicklung, Staging und Produktion verwenden getrennte Datenbanken, Schlüssel und Key Vaults. Tests verwenden nie Produktionsdaten oder Produktions-Zugangsdaten.
ISO A.8.31, A.8.33SOC 2 CC8.1Änderungsprüfung und Freigabekontrollen
TeilweiseReleases in die Produktion durchlaufen automatisierte Kontrollen. Die Produktionspipeline der Engine deployt ausschliesslich von einem Release-Branch, den die CI erst auf einen Commit setzt, nachdem die Tests für diesen Commit auf main bestanden haben. Die Produktionspipeline der Plattform läuft ausschliesslich für Commits auf main mit erfolgreichem CI-Lauf und erst nach einem Abnahmelauf in der Staging-Umgebung. Self-Hosted-Kunden können jede Änderung in ihrem Repository prüfen. Eine erzwungene unabhängige Prüfung jeder Änderung ist geplant.
ISO A.8.25, A.8.32SOC 2 CC8.1Scans von Abhängigkeiten und Secrets
TeilweiseQuellcode-Snapshots für Kunden werden vor der Freigabe auf Zeichenfolgen, die wie Secrets aussehen, und auf verbotene Pfade geprüft. Warnungen zu Sicherheitslücken in Abhängigkeiten (Dependabot) sind für die Repositorys der Plattform und der Engine aktiviert. Code-Scanning und Secret-Scanning des Repositorys sind geplant.
ISO A.8.8SOC 2 CC7.1Quellcode-Lieferung für Self-Hosted
UmgesetztSelf-Hosted-Kunden erhalten einen Snapshot der Plattform, der nur Dateien einer Allowlist enthält, als privates Repository und bauen die Container selbst. Interne Werkzeuge sind ausgeschlossen, und ein Release wird gestoppt, wenn verbotene Pfade oder Zeichenfolgen, die wie Secrets aussehen, gefunden werden.
ISO A.8.4SOC 2 CC8.1Im Quellcode prüfen
- platform/scripts/bootstrap.mjs
- platform/docker-compose.selfhost.yml
Organisation und Anbieter
Personen, Richtlinien und die Dritten, auf die wir uns stützen.
Produktionszugriff
TeilweiseDer Produktionszugriff ist nach dem Need-to-have-Prinzip auf benannte Administratoren beschränkt. Eine formale Funktionstrennung zwischen Entwicklung und Betrieb ist geplant.
ISO A.5.2, A.5.3SOC 2 CC1.3Liste der Unterauftragsbearbeiter
UmgesetztJeder Anbieter, der für die Cloud Daten bearbeitet, ist auf dieser Seite mit Zweck, erhaltenen Daten und Standort aufgeführt.
FADP Art. 9GDPR Art. 28ISO A.5.19, A.5.21SOC 2 CC9.2Auftragsbearbeitungsvertrag
GeplantEin Standard-Auftragsbearbeitungsvertrag nach dem Schweizer DSG und der DSGVO liegt im Entwurf vor und wird nach rechtlicher Prüfung veröffentlicht. Bis dahin prüfen und unterzeichnen wir Ihren Vertrag.
FADP Art. 9GDPR Art. 28ISO A.5.20Schriftliche Sicherheitsrichtlinien
GeplantFormelle schriftliche Richtlinien für Informationssicherheit, Zugriffskontrolle, Reaktion auf Vorfälle und Anbieter liegen im Entwurf vor und werden nach rechtlicher Prüfung veröffentlicht. Diese Seite beschreibt die aktuelle Praxis.
ISO A.5.1, A.5.37SOC 2 CC2.1, CC5.3Unabhängiger Penetrationstest
GeplantEin externer Penetrationstest ist geplant. Self-Hosted-Kunden dürfen ihre eigene Installation jederzeit testen; für die Managed Cloud vereinbaren wir Umfang und Zeitpunkt mit Ihnen.
ISO A.8.8SOC 2 CC4.1