Skip to content

Multi-tenant

EUDIStack is a multi-tenant platform: each customer organization operates as an isolated tenant with its own configuration, branding, cryptographic credentials and dedicated resources.

Multi-tenant isolation allows multiple organizations to share the same EUDIStack infrastructure without mixing data, identities or configurations.


Multi-tenant architecture

EUDIStack frontend and backend components automatically identify the tenant from the domain used in each request.

flowchart LR
    A[Wallet / Client Application]

    A --> B[sandbox-stg.eudistack.net]
    A --> C[dome-stg.eudistack.net]

    B --> D[Shared Issuer Backend]
    C --> D

    D --> E[(Tenant: sandbox)]
    D --> F[(Tenant: dome)]

Tenant identification

The tenant is automatically resolved from the request subdomain. Your integration does not need to explicitly send the tenant in headers or parameters.

Tenant resolution examples
URL Resolved tenant
sandbox-stg.eudistack.net sandbox
dome-stg.eudistack.net dome
kpmg-stg.eudistack.net kpmg

Resource isolation

Isolation table
Resource Isolation
Database Dedicated PostgreSQL schema (schema-per-tenant).
Frontends (Wallet, Portal) Dedicated deployment/distribution with tenant-specific branding.
Backends (Issuer, Verifier, EBW) Shared, tenant identified through the Host header.
Cryptographic keys Independent per tenant.
Status Lists Tenant-specific URLs.

Implications for integrators

What you need to keep in mind
  • Cross-tenant access is not possible: a credential issued in tenant A cannot be received or managed by a wallet from tenant B (same-origin isolation applies).
  • One integration per tenant: if you work with multiple tenants, configure a separate client for each one.
  • Branding: each tenant has its own logo, color palette and naming across wallets, portals and emails. Branding is transparent to the technical integration.
  • Security: shared backends never mix tenant data, and all operations are executed within the tenant context resolved from the incoming domain.