Skip to content

Data-driven attestation scopes + EU Business Wallet (EBW-OID, EUCC, EU PoA) data for the company users - #27

Merged
leifj merged 1 commit into
mainfrom
feat/eu-business-wallet-attestations
Sep 10, 2026
Merged

leifj merged 1 commit into
mainfrom
feat/eu-business-wallet-attestations

Conversation

@leifj

@leifj leifj commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

Adds an attestations: map to each user in users.yaml, keyed by OIDC scope. When a scope is requested, its map is released verbatim as top-level claims - the contract the ehic scope already implements by hand (vc's apigw requests the credential type as the scope and stores the returned claims unchanged as the credential's document data). From now on a new credential type is a users.yaml block plus a scopes_supported entry, no Go change.

Shipped synthetic data for the EU Business Wallet pilot, released under scopes ebw_oid, eucc, eu_poa (the credential type keys sirosid-dev uses):

user EBW-OID (ds001) EUCC (ds004) EU PoA (ds007)
erik-010 (Nordic Tech Solutions AB, SE, sole rep) yes yes
maria-011 (Grünberg Consulting GmbH, DE, joint rep) yes yes
jan-012 (Grünberg employee) yes attorney, principal Maria
sophie-013 (Transport Dubois SARL, FR) yes yes attorney, principal co-founder

Claim names follow the VCTMs published at registry.siros.org (webuild-consortium) and every claim the rulebooks' SD-JWT schemas mark required is present; TestShippedUsersHaveCompleteEUBusinessWalletAttestations pins that. Natural persons carry no attestations, so requesting one of these types for them fails for lack of data rather than minting an empty credential.

Pairs with the sirosid-dev change that declares the three credential types (values-base.yaml ebw_oid/eucc/eu_poa, assertion-sourced) and pins the next mini-oidc release.

🤖 Generated with Claude Code

…r the company users

users.yaml gains an `attestations:` map per user, keyed by OIDC scope; a
requested scope's map is released verbatim as top-level claims - the same
contract the ehic scope implements by hand, since vc's apigw requests the
credential type as the scope and stores the claims as the credential's
document data unchanged. A new credential type is now a users.yaml block
plus a scopes_supported entry, not a Go change.

Shipped data: EBW-OID (WE BUILD ds001, uri:eu.ebw.oid.1), EUCC (ds004,
urn:eudi:eucc:1) and EU PoA (ds007, uri:eu.eudi.eu-poa.1) for erik-010,
maria-011, jan-012 and sophie-013, with every claim the rulebooks' SD-JWT
schemas mark required; a test pins that. Natural persons carry none.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@leifj
leifj merged commit 5670a18 into main Sep 10, 2026
11 of 12 checks passed
@leifj
leifj deleted the feat/eu-business-wallet-attestations branch September 10, 2026 12:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant