Skip to main content

Issuer Concepts & Architecture

This document provides a conceptual introduction to the SIROS ID Issuer, explaining key concepts, components, and deployment models. For hands-on configuration, see Issuing Credentials.

What is a Credential Issuer?

A credential issuer is a service that creates digitally signed credentials and delivers them to user wallets. The issuer acts as a bridge between your existing identity infrastructure and the emerging world of verifiable credentials.

The issuer:

  • Authenticates users via existing identity providers (SAML, OIDC)
  • Collects claims from your authoritative sources
  • Constructs credentials following standardized schemas
  • Signs credentials using cryptographic keys
  • Delivers credentials to user wallets via OID4VCI protocol

Core Concepts

Verifiable Credentials

A verifiable credential is a tamper-evident digital document that makes claims about a subject (typically a person). Like a physical credential (passport, ID card, diploma), it contains:

ComponentDescriptionExample
IssuerWho issued the credentialhttps://issuer.example.org
SubjectWho the credential is aboutThe holder's identifier
ClaimsStatements about the subjectName, birth date, etc.
ProofCryptographic signatureDigital signature + public key
ValidityWhen the credential is validIssue date, expiration

Credential Formats

The SIROS ID Issuer supports multiple credential formats to meet different use cases:

FormatStandardBest ForSelective Disclosure
SD-JWT VCIETF SD-JWT VCEU Digital Identity, general use✅ Yes
mDL/mDocISO 18013-5Mobile driving licenses✅ Yes
JWT VCW3C VC Data ModelLegacy systems❌ No
Recommended Format

SD-JWT VC is the recommended format for new deployments. It provides selective disclosure (users can share only necessary claims) and is the format specified by the EU Digital Identity Wallet Architecture Reference Framework (ARF).

Credential Types

A credential type defines the schema and semantics of a credential. Each type specifies:

  • VCT (Verifiable Credential Type): A unique identifier (URN or URL)
  • Claims: What information the credential contains
  • Display: How to present the credential in wallets
  • Trust framework: Which authorities can issue it

VCTM (Verifiable Credential Type Metadata)

Each credential type is defined by a VCTM file that specifies:

{
"vct": "urn:eudi:pid:arf-1.8:1",
"name": "Person Identification Data",
"description": "EU Person Identification Data credential (ARF 1.8)",
"display": [
{
"lang": "en-US",
"name": "PID",
"rendering": {
"svg_templates": [...]
}
}
],
"claims": [
{
"path": ["given_name"],
"mandatory": true,
"sd": "always",
"display": [{"lang": "en-US", "label": "First name"}]
}
]
}

Built-in Credential Types

SIROS ID includes pre-configured types based on EU standards:

TypeVCTDescription
PID (ARF 1.5)urn:eudi:pid:arf-1.5:1Person Identification Data (ARF 1.5)
PID (ARF 1.8)urn:eudi:pid:arf-1.8:1Person Identification Data (ARF 1.8+)
EHICurn:eudi:ehic:1European Health Insurance Card
PDA1urn:eudi:pda1:1Portable Document A1
Diplomaurn:eudi:diploma:1Educational credentials
ELMurn:eudi:elm:1European Learning Model
Microcredentialurn:eudi:micro_credential:1Short learning achievements
OpenBadgeurn:eudi:openbadge_complete:1Open Badges 3.0
ARF Version Selection

SIROS ID supports both ARF 1.5 and ARF 1.8 PID schemas. The configuration credential_constructor key determines which schema is used. The generic VCT urn:eudi:pid:1 is accepted for compatibility but maps to a configured ARF version.

Credential Constructor

The credential constructor is the component that transforms user identity data into credential claims. It:

  1. Receives authenticated user attributes (from SAML/OIDC)
  2. Maps external attributes to credential claims
  3. Applies transformations and defaults
  4. Validates against the VCTM schema
  5. Produces the claim set for signing
# Example: Map SAML attributes to PID claims
credential_constructor:
pid_1_8:
vct: "urn:eudi:pid:arf-1.8:1"
vctm_file_path: "/metadata/vctm_pid_arf_1_8.json"
attributes:
given_name:
source: ["$.claims.given_name", "$.saml.urn:oid:2.5.4.42"]
family_name:
source: ["$.claims.family_name", "$.saml.urn:oid:2.5.4.4"]
birthdate:
source: ["$.claims.birthdate"]
transform: "date_iso8601"

Issuer Components

The SIROS ID Issuer is built as a modular system with distinct components:

Component Descriptions

ComponentPurposeProtocol/Standard
HTTP ServerExposes OID4VCI endpointsOpenID4VCI
SAML SPService Provider for SAML federationsSAML 2.0
OIDC RPRelying Party for OIDC providersOpenID Connect
Session ManagerOAuth2 session and state managementOAuth 2.0
Issuer APICore credential operationsgRPC + REST
Credential ConstructorBuilds credentials from claimsInternal
Signing ServiceCryptographic signing (SW or HSM)JWS, COSE
Status ListsRevocation status trackingToken Status List
Audit LogCompliance and monitoringInternal

Service Architecture

The issuer can run as a single process or as separate microservices:

Single Process Mode

All components in one binary—simplest deployment for development and small-scale production.

Microservices Mode

Separate services for independent scaling and high availability.

Deployment Models

Choose a deployment model based on your requirements:

Model 1: SIROS ID Hosted (SaaS)

Use the SIROS ID cloud platform with minimal configuration.

AspectDetails
SetupMinutes – configure via SIROS ID portal
MaintenanceFully managed by SIROS
Data locationSIROS ID cloud infrastructure
CustomizationCredential types, branding
Best forQuick deployment, SaaS model

Model 2: Self-Hosted (On-Premise)

Deploy the full issuer stack in your own infrastructure.

AspectDetails
SetupHours to days – deploy containers/VMs
MaintenanceYour operations team
Data locationYour infrastructure
CustomizationFull control over all components
Best forData sovereignty, compliance, custom integrations

Model 3: Hybrid

Combine hosted and self-hosted components.

AspectDetails
SetupVariable
MaintenanceShared responsibility
Data locationCredentials on-premise, trust in cloud
CustomizationSelective control
Best forRegulated environments with external trust requirements

Model 4: Standalone Issuer

Minimal deployment for testing or air-gapped environments.

AspectDetails
SetupMinutes – single Docker container
MaintenanceMinimal
Data locationLocal
CustomizationDevelopment/testing
Best forDevelopment, demos, isolated testing

Deployment Decision Matrix

RequirementHostedSelf-HostedHybridStandalone
Quick setup⚠️
Data sovereignty
HSM key storage
Custom trust
High availability⚠️⚠️
Zero maintenance⚠️
GDPR compliance
EU/EES Hosting

All SIROS ID hosted services are operated from EU/EES infrastructure, ensuring data sovereignty and GDPR compliance for European customers.

Legend: ✅ Excellent | ⚠️ Possible with effort | ❌ Not recommended

Security Considerations

Key Management

The issuer's signing keys are the most critical security asset. Choose the appropriate key storage based on your security requirements:

Key StorageInterfaceSecurity LevelUse Case
Software KeysEncrypted fileDevelopmentLocal testing, demos
HSMPKCS#11ProductionStandard production deployments
Certified HSMPKCS#11 (QSCD)High AssuranceeIDAS qualified signatures, government issuers

Trust Chain

Credentials are only valuable if verifiers can trust them:

See Trust Services for configuring trust frameworks.

Next Steps

Now that you understand the concepts:

  1. Issuing Credentials – Configure and deploy your issuer
  2. SAML IdP Integration – Connect SAML federations
  3. OIDC Provider Integration – Connect OIDC providers
  4. Trust Services – Configure trust frameworks