Security you can check, not just trust.
Employment certificates hold some of the most sensitive data a company keeps. This page shows how ZeugnyAI handles it, which controls are in place, which are planned, and where your team can verify each one.
Scope: ZeugnyAI Cloud (app.zeugny.com), the Self-Hosted edition and the Zeugny Engine. ZeugnyAI Chat and the free Certificate Checker are consumer products with their own privacy notices.
Every control, with its status
Each control states whether it is in place, partial or planned. Where it lives in the platform code, the source path is listed so Self-Hosted customers can check it.
Data protection & privacy
How personal data is pseudonymised, encrypted, kept and deleted.
Pseudonymisation before the engine
In placeInside the platform, the PII boundary replaces the names of employees, managers and signatories, employer and company names, dates, work e-mail addresses and employee IDs with consistent pseudonyms before a request reaches the engine, and restores them in the answer. It wraps the engine calls of the HR platform, the lifecycle worker, ZeugnyAI Chat (which reaches the engine only through the platform) and the Word gateway.
FADP Art. 7GDPR Art. 25ISO A.8.11SOC 2 C1.1Verify in source
- platform/packages/ports/src/pii-boundary.ts
- platform/packages/lifecycle/src/pii/wiring.ts
- platform/packages/ports/test/pii-boundary.test.ts
The boundary refuses rather than leaks
In placeA request is refused, not sent, when the encryption key or document scope is missing, a known person or employer has no pseudonym, a name part is ambiguous between two people, or the audit entry cannot be written.
FADP Art. 7GDPR Art. 25ISO A.8.11Verify in source
- platform/packages/ports/src/registry.ts
- platform/packages/ports/test/pii-boundary.test.ts
Free text and other details
PartialPlace of birth, nationality, job titles, departments, the company description and task text are sent as written; the text needs most of them. Names typed into free text are replaced only when they match a known person or employer. A stricter mode that holds unrecognised free text for human review is built; enabling it in the managed Cloud is planned.
FADP Art. 7GDPR Art. 25ISO A.8.11Verify in source
- platform/packages/lifecycle/src/collected-assembly.ts
Data stored in Switzerland
In placeThe database, backups, file storage, key vault, logs and application servers of the managed Cloud run in Microsoft Azure Switzerland North (Zürich). Backups and file storage are replicated to a second Swiss region, Switzerland West. app.zeugny.com resolves directly to Zürich, with no content-delivery network in between. A signer's IP address is kept as signing evidence and is not sent to any third-party geolocation service; the country is read from a header set at the network edge.
FADP Art. 16GDPR Art. 44–45ISO A.5.34Encryption in transit
In placeAll apps accept HTTPS only, with TLS 1.2 as the minimum; TLS 1.3 is negotiated in practice. The database server accepts TLS connections only, with TLS 1.2 as the minimum, and the platform's database connections request TLS.
FADP Art. 8GDPR Art. 32ISO A.8.24SOC 2 CC6.7Encryption at rest
In placeAzure encrypts the database, backups and file storage at rest. On top of that, the platform encrypts pseudonym mappings and engine API keys with AES-256-GCM under master keys held in Azure Key Vault. Other records rely on Azure's encryption.
FADP Art. 8GDPR Art. 32ISO A.8.24SOC 2 CC6.1Verify in source
- platform/packages/lifecycle/src/crypto/gcm.ts
- platform/packages/lifecycle/src/pii/store.ts
- platform/packages/lifecycle/src/engine-config.ts
Retention and automatic deletion
PartialOnce the retention period has passed (10 years after the end of employment by default), an hourly job redacts a former employee's name, e-mail address, date and place of birth and nationality, erases drafts and deletes the pseudonym mappings. Job assignments, the audit trail and issued certificates are kept; issued certificates still contain the name. We set a different period for your company on request; self-service configuration is planned.
FADP Art. 6(4)GDPR Art. 5(1)(e)ISO A.8.10SOC 2 C1.2Verify in source
- platform/apps/cloud/app/lib/retention.server.ts
- platform/apps/worker/src/main.ts
Employee data requests
PartialEmployees file access and deletion requests themselves under My privacy, and HR tracks each one against a 30-day deadline. Erasure redacts the employee's records, removes vault entries and shares, and issues a receipt. An access request produces a summary; a downloadable copy of the data is planned.
FADP Art. 25GDPR Art. 15, 17ISO A.5.34SOC 2 P5.1Verify in source
- platform/apps/cloud/app/lib/dsar.server.ts
- platform/apps/cloud/app/routes/me.privacy.tsx
Legal holds and disputes
In placeHR partners can place a legal hold on an employment and all its certificates, which pauses deletion. Employees can dispute a certificate; an accepted dispute produces a new version, and the history stays in the audit trail.
FADP Art. 32GDPR Art. 16, 18ISO A.5.33Verify in source
- platform/apps/cloud/app/lib/retention.server.ts
- platform/apps/cloud/app/lib/disputes.server.ts
AI governance
How the AI is constrained, supervised and kept away from identities.
People set the ratings
In placeManagers, or HR, rate each aspect of performance and conduct. The AI writes text that matches those ratings and cannot change them. The overall level is calculated from the ratings, not chosen by the model.
FADP Art. 21GDPR Art. 22AI Act Art. 14Verify in source
- platform/packages/lifecycle/src/stages/manager-eval.ts
- platform/packages/lifecycle/src/collected-assembly.ts
HR finalises every certificate
In placeNo certificate reaches an employee without review and finalisation by an HR partner or administrator. Automations can start requests but never finalise them.
FADP Art. 21GDPR Art. 22AI Act Art. 14Verify in source
- platform/packages/lifecycle/src/workflow.ts
- platform/apps/cloud/app/lib/automation.server.ts
No training on your data
In placeWe do not use customer data to train, fine-tune or evaluate models, and customer requests never enter our reference corpus.
FADP Art. 6(3)GDPR Art. 5(1)(b)AI Act Art. 10Model provider controls
PartialCertificate text is written by models on Microsoft Azure AI Foundry, on a resource in Switzerland North with an EU Data Zone Standard deployment, so requests are processed within the EU data zone. Decision, extraction and retrieval steps also use Microsoft Decision-1 (an Azure AI Foundry resource in Sweden Central with an EU Data Zone Standard deployment), OpenRouter and Voyage AI, and the platform uses OpenRouter directly to suggest job titles and tasks. Providers receive pseudonymised text only. Every request the engine sends to OpenRouter requires providers that do not collect user data, with no setting to switch this off. Zero-data-retention routing is planned.
FADP Art. 9, 16GDPR Art. 28, 44–46ISO A.5.19, A.5.23SOC 2 CC9.2
Identity & access
Who can sign in, and what each role can see and do.
Sign-in protection
In placePasswords are hashed with scrypt and need at least 8 characters. E-mail addresses are verified before the first password sign-in, and passwordless magic links expire after 5 minutes. Sign-in attempts are rate-limited per IP address.
FADP Art. 8GDPR Art. 32ISO A.8.5SOC 2 CC6.1Verify in source
- platform/packages/auth/src/better-auth/instance.server.ts
Multi-factor authentication
PartialWith single sign-on, your identity provider's MFA applies to every sign-in. Staff accounts in our control plane need a second factor (an authenticator code or a backup code) for every session, and no engine operator login is issued without it. A built-in second factor for customer password sign-in is planned.
FADP Art. 8GDPR Art. 32ISO A.8.5SOC 2 CC6.1Verify in source
- platform/apps/control/app/lib/staff-mfa.server.ts
Roles and separation of duties
In placeEvery route checks relationship-based permissions. HR coordinators can draft but cannot finalise, override a finding, sign or download the official document. Works councils see aggregate figures only; managers see their own direct reports.
FADP Art. 8GDPR Art. 32ISO A.5.3, A.5.15, A.8.3SOC 2 CC6.3Verify in source
- platform/packages/authz/src/schema.ts
- platform/packages/authz/test/authz.test.ts
Company isolation
PartialIn the managed Cloud, companies share one Swiss database. The application confines every request to one company and checks permissions on each object. Self-Hosted gives each customer its own database. Row-level enforcement in the database is planned as a second layer.
FADP Art. 8GDPR Art. 32ISO A.8.3SOC 2 CC6.1Verify in source
- platform/apps/cloud/app/lib/tenant.server.ts
- platform/apps/cloud/app/lib/tenant.server.test.ts
Logging, monitoring & incidents
What is recorded, what is watched, and what happens when something breaks.
Tamper-evident audit trail
In placeEvery lifecycle step and change is written to an audit log in which each entry carries the hash of the previous one, so an edited entry breaks the chain. The chain is checked when a dossier or verification page is opened, and each certificate's dossier can be downloaded with its audit entries.
FADP Art. 8GDPR Art. 5(2)ISO A.8.15SOC 2 CC7.2AI Act Art. 12Verify in source
- platform/packages/lifecycle/src/audit.ts
- platform/packages/lifecycle/test/audit-race.test.ts
Incident response and notification
PartialIf an incident affects your data, we inform your named contact without undue delay after we confirm it, with what happened, which data is affected and what we are doing about it. A written incident response plan is drafted and is published after legal review; regular exercises are planned.
FADP Art. 24GDPR Art. 33ISO A.5.24, A.5.26SOC 2 CC7.3, CC7.4
Backup & continuity
How data is backed up and how releases are protected.
Backups
In placeThe database can be restored to any point in the last 35 days. In addition, a scheduled job dumps all databases every night. It runs on a ZeugnyAI-operated CI runner, which connects over TLS, writes each dump to a temporary file, uploads it to Azure Storage in Switzerland North and deletes the file. The last 30 dumps of each database are kept, and deleted dumps stay recoverable for 30 more days. The stored backups, point-in-time and dumps, are kept in Switzerland North and replicated to Switzerland West, a second Swiss region.
FADP Art. 8GDPR Art. 32ISO A.8.13SOC 2 A1.2
Organisation & vendors
People, policies and the third parties we rely on.
Subprocessor list
In placeEvery provider that processes data for the Cloud is listed on this page with its purpose, the data it receives and its location.
FADP Art. 9GDPR Art. 28ISO A.5.19, A.5.21SOC 2 CC9.2Data processing agreement
PlannedA standard data processing agreement under the Swiss FADP and the GDPR is drafted and is published after legal review. Until then, we review and sign yours.
FADP Art. 9GDPR Art. 28ISO A.5.20