Skip to content

Rulebook extension #280

Description

@flo0x

Proposed Rulebook Extension

In order to achieve a faster integration of wallet providers in the different MVPs from different partners, I propose an extension of actual rulebooks.

Each Rulebook should publish its assets using a version-controlled and standardized directory structure, including:

  • Versioned attestation schemas

  • Versioned format-specific schemas

  • Standard and business-specific DCQL queries

  • support of many sample data for different business scenarios

      │   ├── <attestation_name>.schema.json     <-- W3C core business definitions
      │   └── <attestation_name>.schema.meta.json <-- Localization translation catalog
      │
      ├── 02_format_schemas/
      │   ├── <attestation_name>.dc-sdjwt.schema.json      <-- SD-JWT W3C validation wrapper
      │   ├── <attestation_name>.dc-sdjwt.schema.meta.json <-- IETF VCTM UI display metadata
      │   ├── <attestation_name>.mdoc.schema.json          <-- ISO/IEC mdoc binary profile
      │   └── <attestation_name>.json-ld.schema.json       <-- JSON-LD validation wrapper
      │
      ├── 03_dcql_queries/
      │   ├── <attestation_name>.dcql.standard.json        <-- Default query (Balanced data)
      │   ├── <attestation_name>.dcql.bu1.minimum.json     <-- Minimal ID check (Faster processing)
      │   └── <attestation_name>.dcql.pa3.maximum.json     <-- Full audit / EDD compliance check
      │
      └── 04_samples/
          └── <attestation_name>.sample.json               <-- Synthesized mock payloa
    

For example:

rulebook-schemas/
└── <attestation_name>/
    └── <version>/                         # e.g. v1.0/
        ├── 01_schema/
        │   ├── <attestation_name>.schema.json <-- W3C core business definitions
        │   └── <attestation_name>.schema.meta.json<-- Localization translation catalog
        
        ├── 02_format_schemas/
        │   ├── <attestation_name>.dc-sdjwt.schema.json<-- SD-JWT W3C validation wrapper
        │   ├── <attestation_name>.dc-sdjwt.schema.meta.json<-- IETF VCTM UI display metadata
        │   ├── <attestation_name>.mdoc.schema.json
        │   └── <attestation_name>.json-ld.schema.json
        
        ├── 03_dcql_queries/
        │   ├── <attestation_name>.dcql.standard.json<-- Default query (Balanced data)
        │   ├── <attestation_name>.dcql.bu1..json<-- BU1 (minimum)
        │   └── <attestation_name>.dcql.pa3..json<-- Full audit / EDD compliance check(maximum)
        
        └── 04_samples/
            ├── <attestation_name>.sample1.json<-- Synthesized mock payload
            ├── <attestation_name>.sample2.json
            └── <attestation_name>.sample3.json

Benefits
This approach would allow us to scale much more easily:

  • Clear version control for schemas and queries
  • Support for the same attestation across different formats/flavours (SD-JWT, mdoc, JSON-LD, and potentially others later)
  • Localization and country-specific extensions
  • format flexibility
  • Standardized DCQL queries that can be directly reused across MVPs
  • Easy extension of DCQL queries based on specific business requirements
  • Simple cross-partner sharing and reuse
  • Different sample datasets for different business scenarios
  • and most importantly, once a company has selected its Business Wallet provider, it should be able to integrate the required schemas and DCQL queries into its existing business processes quickly and easily, and directly starts to pilot the use case ( implementation if is required)

The main benefit is that companies participating in multiple MVPs would not need to reinvent the same schemas and queries for every use case.

The Company Information Rulebook extension is already prepared.
Please check it here
https://github.com/flo0x/webuild-attestations/tree/main/rulebooks/rb-company-info

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions