ZeugnyAI
ZeugnyAI Trust Center

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.

Security controls

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.

14In place7Partial1Planned

Data protection & privacy

How personal data is pseudonymised, encrypted, kept and deleted.

  • Pseudonymisation before the engine

    In place

    Inside 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.1
    Verify 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 place

    A 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.11
    Verify in source
    • platform/packages/ports/src/registry.ts
    • platform/packages/ports/test/pii-boundary.test.ts
  • Free text and other details

    Partial

    Place 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.11
    Verify in source
    • platform/packages/lifecycle/src/collected-assembly.ts
  • Data stored in Switzerland

    In place

    The 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.34
  • Encryption in transit

    In place

    All 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.7
  • Encryption at rest

    In place

    Azure 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.1
    Verify 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

    Partial

    Once 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.2
    Verify in source
    • platform/apps/cloud/app/lib/retention.server.ts
    • platform/apps/worker/src/main.ts
  • Employee data requests

    Partial

    Employees 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.1
    Verify in source
    • platform/apps/cloud/app/lib/dsar.server.ts
    • platform/apps/cloud/app/routes/me.privacy.tsx
  • Legal holds and disputes

    In place

    HR 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.33
    Verify 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 place

    Managers, 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. 14
    Verify in source
    • platform/packages/lifecycle/src/stages/manager-eval.ts
    • platform/packages/lifecycle/src/collected-assembly.ts
  • HR finalises every certificate

    In place

    No 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. 14
    Verify in source
    • platform/packages/lifecycle/src/workflow.ts
    • platform/apps/cloud/app/lib/automation.server.ts
  • No training on your data

    In place

    We 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. 10
  • Model provider controls

    Partial

    Certificate 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 place

    Passwords 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.1
    Verify in source
    • platform/packages/auth/src/better-auth/instance.server.ts
  • Multi-factor authentication

    Partial

    With 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.1
    Verify in source
    • platform/apps/control/app/lib/staff-mfa.server.ts
  • Roles and separation of duties

    In place

    Every 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.3
    Verify in source
    • platform/packages/authz/src/schema.ts
    • platform/packages/authz/test/authz.test.ts
  • Company isolation

    Partial

    In 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.1
    Verify 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 place

    Every 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. 12
    Verify in source
    • platform/packages/lifecycle/src/audit.ts
    • platform/packages/lifecycle/test/audit-race.test.ts
  • Incident response and notification

    Partial

    If 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 place

    The 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 place

    Every 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.2
  • Data processing agreement

    Planned

    A 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