SVX 2.0.0 Release Notes
Software Release Date: 06 January 2025
Summary:
In this release, our biggest yet, we’ve focused on evolving the SVX platform to provide the best possible support for organisations looking to issue and verify, and provide wallets for digital credentials in an interoperable, secure and privacy preserving way. We are excited to announce the release of two new components as well as a complete revision of the SVX API to align with the latest global and industry standards, ensuring we maintain a high level of compliance, security, and interoperability.
Here’s what’s new in a nutshell:
Release of Organisation Wallet and Holder Wallet
SVX has evolved to include two new components: Organisation Wallet and Holder Wallet services. Managing the functionalities associated with Issuers, Verifiers and Wallet Providers via separate APIs helps our customers streamline credential issuance, management, and presentation workflows. Built on open standards, these APIs currently support two of the leading credential formats: W3C Verifiable Credentials (JWT) and IETF SD-JWT VCs.
These new components enhance efficiency, ensure security, and enable seamless integration with global credential ecosystems, empowering users to adopt advanced digital identity solutions with confidence and trust.
Revised Digital Credentials APIs
This release features a complete revision of all APIs related to digital credential management, aligning them with the latest changes in global standards in the same domain. These changes include support for:
OpenID for Verifiable Credential Issuance (OpenID4VCI) draft 13 (ID-1)
OpenID for Verifiable Presentations (OpenID4VP) protocols draft 18 (ID-2)
W3C Bitstring Status List
Based on our experience gained and the feedback we have gathered in the past couple of years, we have implemented the following revisions in our APIs:
The consistent application of credential schemas across various credential formats.
The enablement of credential types to be format-specific to provide greater control over format-specific configuration.
The management of how presentation requests and responses are handled.
Consistent issuer and holder key binding for JWT based credential formats.
The APIs have been refactored for consistency and efficiency, including route updates (e.g., replacing /oidc/
with /openid/
) and payload restructuring to simplify integration. The HCW API now handles multi-credential submissions more effectively, and the OCW API introduces configurable protocol versions for issuance and presentation workflows.
These improvements streamline credential issuance, presentation, and verification processes while ensuring robust security and adherence to global standards. By embracing cutting-edge specifications and modern credential formats, the SVX platform positions itself as a leader in scalable, interoperable, and future-ready digital identity solutions.
Organisation and Holder Wallet
As digital identity management, age verification, and other verification-driven use cases continue to grow, organisations - including identity providers and businesses relying on personal data - along with end-users, need a secure and trusted solution for efficient credential management. SVX is excited to introduce our Organisation Wallet and Holder Wallet services, designed to simplify and enhance these complex interactions. They are built on top of the existing SVX API and Portal and leverage credential and secure storage capabilities.
Both components offer the necessary tools for customers looking to participate in the Issuer-Holder-Verifier model using digital credentials as a mechanism to exchange Issuer asserted claims about the Holder.
Organisation Wallet Services
Composed of the following tools to bootstrap issuance and verification of credentials:
Organisation Cloud Wallet (OCW) service for streamlining issuance and verification of credentials for organisations.
Issuer / Verifier websites integrated with OCW for jumpstarting use cases.
Holder Cloud Wallet Services
Composed of the following tools:
Holder Cloud Wallet (HCW) service for streamlining key management, DID management, and the issuance and presentation of credentials.
White-label Holder Wallet Front End; a multi-platform mobile app, integrated with the HCW service.
Out-of-the box integration with OAuth 2.0 & OpenID Connect compatible IdPs for user authentication.
Benefits of Organisation and Holder Cloud Wallet Services
1. Comprehensive Credential Management:
Organisation Wallet: Enables seamless issuance, storage, and presentation of digital credentials for efficient identity operations.
Holder Wallet: Allows end-users to receive, claim, and present Verifiable Credentials with ease.
2. Interoperability Across Ecosystems:
Both wallets are built on widely accepted standards, including but not limited to OpenID for Verifiable Credential Issuance (OpenID4VCI), OpenID for Verifiable Presentations (OpenID4VP) and IETF SD-JWT VC.
They enable interoperability across various credential ecosystems unlocking valuable use cases.
3. Enhanced Security and Trust:
Organisation Wallet: Protects sensitive identity data and ensures the authenticity and integrity of issued credentials.
Holder Wallet: Safeguards individual user data while ensuring the validity of presented credentials.
4. Scalable Integration:
Both services offer APIs that enable organisations, companies, and individuals to integrate seamlessly into existing credential ecosystems, ensuring broad scalability and ease of adoption.
5. Support for Various Credential Formats:
The APIs enable the issuance, presentation, and verification of multiple credential formats, including:
W3C Verifiable Credential Data Model (VCDM) JWT
IETF SD-JWT VC
6. Future-Ready Digital Identity Solutions:
Both wallets provide a strong foundation for adopting advanced technologies like Verifiable Credentials and decentralised identity frameworks, supporting a wide range of use cases and future innovations.
7. Streamlined Data and Workflow Management:
Organisation Wallet: Simplifies the administration of credential types and linked records, reducing complexity.
Holder Wallet: Offers a user-friendly mechanism for managing credentials, ensuring smooth workflows for end-users.
8. Backend Services Designed for Efficiency, Privacy, and Security:
Both the Organisation and Holder Wallets are backend services, purposefully designed to prioritise efficiency, privacy, and security in managing credentials.
The APIs empower SVX customers to develop customised, robust front-end solutions while leveraging global frameworks to ensure seamless interoperability across ecosystems.
Both services integrate with existing OpenID & OAuth 2.0 compatible IDPs for identity and access management.
Revised Digital Credentials APIs
To recap, the revision of our Digital Credentials API has led to the following outcomes:
The consistent application of credential schemas across various credential formats.
The enablement of credential types to be format-specific to provide greater control over format-specific configuration.
The management of how presentation requests and responses are handled.
Consistent issuer and holder key binding for JWT based credential formats.
Improved Credential and Verification Templates
When creating Credential Templates, Organisation Administrators can now choose from either
jwt_vc_json
orvc+sd-jwt
credential formats. This results in format-specific templates that allow customisation of format specific features. For example, when creating avc+sd-jwt
credential template, it is now possible to specify disclosure frames associated with selectively disclosable credentials.Organisation Administrators have more control when creating verification templates. They can add multiple verifiable credentials of both types (
jwt_vc_json
andvc+sd-jwt
) to a single verification request and can define the associated options as specified in DIF Presentation Exchange per required credential. See video below for reference.
Credential and Verification Templates:
Added the option to select either
jwt_vc_json
orvc+sd-jwt
credential format when creating a credential template to increase specificity and to enable more use cases.Added a field for specifying disclosure frames when creating
vc+sd-jwt
credential templates to increase control overvc+sd-jwt
credential issuance.Added a Format column to the credential templates view screen for improved organisation.
Added new
credential name
andformat
fields (per required credential) when creating verification templates for enhanced customisation and usability.Made
format algorithm
andConstraints
required fields when creating verification templates to extend customisation over each required credential.
Request Responses:
Added the date a request response was archived (when viewing its details) to enable more accurate record keeping. The associated attribute is
archived on
.
Consistent Key Binding for Issuer and Holder
Below is an example of an unprotected payload of a JSON Web Token demonstrating how key binding works when using the JWK member to reference the public key part of an asymmetric keypair.
Below is an example of an unprotected payload of a JSON Web Token demonstrating how key binding works when using the JWK member referencing a DID URL using the kid
of the JWK member as well as including the public key of an asymmetric keypair controlling the DID.
Note that in the latter case the id
property of the credentialSubject
claim remains undefined to not cause clashes.
Similarly to the point above, an Issuer can be both a HTTPS URL or a DID for all JWT based credential formats (
jwt_vc_json
,vc+sd-jwt
).
Support for X.509 Certificate Chains
Credentials and Presentation Requests can now be secured using X.509 Certificate Chains. These use the
x5c
header claim, which is a list of X.509 Certificates, that enables verification of the JWT's digital signature. This mechanism ensures the authenticity and integrity of the JWT, helping to prevent token abuse and foster trust between parties. While this component validates the correctness of the signature, it is at the discretion of the SVX consumer to configure and implement trust checks.
Updated JSON Schema Support
Backward Compatibility: The verification process continues to support older formats based on the credentialSchema.type attribute. Supported types include:
JsonSchemaValidator2018 (current implementation)
JsonSchema2023, JsonSchema, and FullJsonSchemaValidator2021 (latest spec versions)
Unknown formats will result in errors
Schema Usage:
Credential generation no longer includes
credentialSchema
, as it is rarely used in the VC ecosystem.Schemas are used internally to validate if provided data matches the schema during credential generation.
Schemas may include reserved attributes (e.g., exp, issuanceDate), though it is recommended to focus on user claims. Reserved claims are respected and customisable if included.
Credential Formats: Different credential formats may require distinct schemas.
This update ensures compliance with the latest specifications and maintains compatibility with legacy formats.
Various
UX enhancements
Added copy buttons to the
Organisation ID
field in Organisation Account Settings, andApplication Domain
field when viewing Applications' details for improved user convenience.
Corrected the spelling of
Documentations
toDocumentation
on Tenant and Organisation navigation menus.
The View Verification Request and View Response pages now display either
Wallet DID
orIssuer URL
as a way to identify either the wallet or issuing organisation. This change was implemented due tosd+vc-jwt
s not containing aDID
resulting in an empty field in the Portal.
SDK Update
Upgraded
meeco/sdk
to version7.8.0-beta
for access to the latest features including those offered by the VC API V2 update.Updated
meeco/sdk
to include missing filter properties when creating a verification template. Previously, filter properties includingnumber
andarrays
were not included resulting in verification templates to error.
In summary
Credential Types/Templates: Format configuration introduced to the credential type entity. As credential formats have different requirements and configurations, keeping the credential type entity isolated makes its management easier.
New API Features: Introduced endpoints and attributes for improved credential generation, presentation requests, and payload validation.
Streamlined Responses: Simplified payloads and response structures for better clarity and alignment with updated standards.
Interoperability Updates:
New Functionality
Portal
Portal users can now experience the UI in Japanese.
The library of credential schema examples available when creating new credential schemas has been updated to align with VC API V2 changes. These updates offer users enhanced schema capabilities.
Bug Fixes
Portal
Fixed route on the “Issue / Revoke credentials” page's table when clicking on the
VC ID
cell. The user was previously taken to a 404-error page but is now taken to the “View credential” page.Fixed an issue where an empty error message would appear after creating a new verification template. An appropriate error message now appears.
Fixed breadcrumb routing on the “View Tenants” page. Previously, a 404-error page was presented when clicking on the “Tenants” link, now, the user is taken to the list of Tenants.
Fixed an issue where, when viewing an issued credential’s details, the credential attributes were displayed out of order compared to their arrangement in the associated credential schema. Attributes are now displayed across the platform in the same order as specified by the credential schema.
Fixed the search functionality to ensure the component would not break when a user entered a search query too quickly. This has made the search component more robust when accepting search queries.
Fixed default
limit signature algorithm
for verification requests. The algorithm has been changed from RS256 to ES256 as this is the algorithm SVX currently uses.Corrected error handling that resulted in a crash for
Validate Schema
when parsing a credential schema. This ensures that users no longer experience a software crash when editing a credential schema.Fixed the response status on both
View Verification Request
andView Request Response
pages as some responses were showingfailed
even if the credential(s) had successfully been verified. The correct response now appears.Fixed
Create Credential Schema
to allow emptyArrays
andNumber
types. These additional schema properties extend the user’s schema capabilities. Prior to this fix, emptyArrays
andNumber
types would result in an error when creating a new credential schema.Fixed errors on
View credential
page when viewing a credential that had been issued using V2 of the VC API. Users can now view all issued credentials without errors occurring.
SVX API
Implemented comprehensive monitoring of AMQP configuration and connections to RabbitMQ across the platform. This enhancement enables early detection of unhealthy RabbitMQ states, addressing a critical issue where incomplete propagation of changes (e.g., tenants, orgs, apps) caused disruptions and required complex fixes.
Performance Improvements
SVX API
Horizontal scaling enabled for Authorisation, Tenant, and Organisation Manager (ATOM) used to authorise incoming requests.
Security Updates
Portal
Disabled gzip (except for css) to address web security vulnerabilities.
SVX API
KrakenD EE upgraded to version 2.7.6
Node in Identity Network upgraded to version 20.13.1
Node in VC upgraded to version 20.16
Node in IDP upgraded to version 20.16
Erlang upgraded from version 26.2.5.5
Ruby upgraded to 3.3.6
API Changes
Added
New revocable credentials will be issued with
BitstringStatusList
status list. Previously issued credentials will remain usingStatusList2021
.Added support for verifying credential revocation status for credentials issued with
BitstringStatusList
.Added
format
attribute to the response ofPOST /credentials/generate
.Added Credential schema verification check for
vc+sd-jwt
credential verification. Now, ifCredentialVerificationCheck.SCHEMA
is included in the checks to perform, the schema will be verified against the credential.Added Optional properties
$defs
,name
,required
, andadditionalProperties
toCredentialJSONSchemaPayloadDto
for enhanced schema definition flexibility.Added
format
andconfig
attributes toPOST /credential_types
endpoints. Updated payload requirements forPUT /credential_types/:id
.Added
GET /credential_types
query paramformat
filter withvc+sd-jwt
andjwt_vc_json
options.Added support for generating Presentation Request based on
OpenID4VP-draft18
atPOST /openid/presentations/requests
.Added
credential.disclosure_frame
payload param to thePOST /credentials/generate
endpoint.Added
parameters.presentation_definition
into response param to thePOST /openid/presentations/requests
endpoint.Added a new required property
disclosure_frame
to theconfig
payload of create credential types when the format isvc+sd-jwt
.Added
POST /generate/validate_payload
endpoint to validate credential payloads without generating the credential.
Removed
Removed
organizations
attribute from theGET /credential_types
endpoint response.Removed functionality to capture and store
organization
andtenant
data in the database onTenantCreated
andOrgCreated
RabbitMQ events.Removed
organizations
andtenants
tables.Removed
Accept
header use to determineformat
of the credential to generate viaPOST /credentials/generate
.Removed
credentialSchema
from the generated credential token viaPOST /credentials/generate
.GET /schemas/:id/:version/schema.json
returns unwrapped schema forJsonSchema2023
type schemas and response is unchanged for schemas of typeJsonSchema2018
.Removed support for generating Presentation Request based on
oidvp-draft10
atPOST /openid/presentations/requests
.Removed
POST /openid/presentations/token
due to the removal ofdraft-10
support. Theid_token
now refers to the simplifiedSIOPv2
specification.Removed Verification Request Submissions endpoints:
POST /openid/presentations/requests/:id/submissions
GET /openid/presentations/requests/:id/submissions
PATCH /openid/presentations/requests/:id/submissions/:subId
DELETE /openid/presentations/requests/:id/submissions/:subId
Removed
POST /openid/presentations/request/verify
endpoint. The separate verification of the presentation request is no longer supported.Removed
GET /openid/presentations/request/:id/jwt
endpoint. VC API no longer stores a signer copy of the request. Client is responsible of hosting it if needed.Removed
PATCH /openid/presentations/requests/:id
endpoint. VC API no longer stores a signed copy of the request.Removed
tokens
from the Presentation Request response structure.Removed
status
from the Presentation Request response structure.Removed the
id
andcnf
validation within claims during credential generation.
Changed
When a presentation definition is deleted, all presentation requests linked to it are deleted.
When a credential type is deleted, all credential records linked to it are deleted.
When a credential is deleted, all credential revocation status records linked to it are deleted.
When a revocation list is deleted, all credential revocation status records linked to it are deleted.
POST /credentials/generate
payload attributecnf
moved fromcredential.claims.cnf
tocredential.cnf
.POST /credentials/generate
response attributecredential.unsigned_vc_jwt
renamed tocredential.credential
.POST /credentials/verify
payload attributecredential.signed_credential_jwt
renamed tocredential.credential
.POST /presentations/generate
response attributepresentation.unsigned_vp_jwt
renamed topresentation.presentation
.POST /presentations/verify
payload attributepresentation.signed_presentation_jwt
renamed topresentation.presentation
.Changed the
POST /schemas
endpoint to accept the newJsonSchema
format for schema definitions.Enhanced schema validation and set
JsonSchema
as the default schema format for schema creation.Changed presentation definition creation from using credential schema to
input_descriptors
provided in payload.Changed
POST /presentation_definitions
payload attributes:Removed
format
Renamed
required_credentials
toinput_descriptors
Changed
POST /presentation_definitions/
response attributes:Removed
format
Removed
presentation_definition_to_schema
Added
input_descriptors
Renamed routes to replace
/oidc/
prefix with/openid/
for clarity.Renamed
token_properties
toparameters
in the presentation request response structure.POST /openid/presentations/response/verify
changes:request_uri
payload param replaced with thepresentation_defintion
vp_token
payload param can be passed as a string or an array of stringsvp_token
response param is an array
Fixed
Fixed an issue where Tenant or Organisation data was not removed when receiving
TenantDeleted
orOrgDeleted
event.
Deprecations and EOL
It is no longer possible to issue credentials from the SVX Portal. The actions to
Issue Credential
andBulk Issue
have been removed from theIssue / Revoke Credential
page. The removal of credential issuance functionality from the Portal is aligned with the product roadmap whereby the Portal provides organisations with a business dashboard rather than an application that offers transactional functionality. This functionality has been moved to the Organisation Wallet. It remains possible to view issued and revoked credentials via the Portal.It is no longer possible to create verification requests in the SVX Portal and API. This functionality has been moved to the Organisation Wallet. It remains possible to monitor requests via the Portal.
It is no longer possible for the last remaining Administrator in a Tenant or Organisation to remove themselves as a user of SVX. This is to ensure access to the Tenant or Organisation remains available to the associated enterprise or business.
Decentralised Meeco Wallet app available in Apple App Store and Google Play Store is superseded by the Holder Wallet.
Dropped support for OpenID4VP draft 10.
Generated W3C VCDM JWT (
jwt_vc_json
) credentials no longer include thecredentialSchema
property.Credentials can no longer be issued via the Portal. This functionality used item shares from an Organisation’s Vault to a Holder’s Vault. These connections and associated shares are no longer visible via the Portal. This functionality has been replaced by the Organisation Wallet and can be carried out in the following ways:
Utilise a tool such as Postman to make direct calls to the OCW API. Users will be able to simulate issuance and verification workflows without needing to integrate into a full application, or
Users can use test issuance (
GET /test/issue
) and presentation (GET /test/present
) web pages in their OCW deployment. These pages display a simplified UI for quick and easy testing.
Last updated