The SIROS Credential Type Registry — a public catalogue of credential type metadata implementing ETSI TS11.
This project builds and deploys the static site at https://registry.siros.org. The site is built by registry-cli, a Go tool that:
- Discovers credential repositories via
sources.yaml(GitHub topic search and explicit git URLs) - Clones each repository and detects credential definitions (
.vctm.json,.mdoc.json,.vc.json,schema-meta.yaml) - Converts Markdown credential definitions to metadata using the built-in credential conversion library
- Validates credentials against the TS11 JSON Schema
- Generates a static HTML site, TS11-compliant API (
/api/v1/schemas.json), and DCAT-AP catalogue - Signs API responses with JWS (PKCS#11) when configured
sources.yamldeclares which repositories to include — either by GitHub topic autodiscovery or explicit git URLsregistry-cli buildclones the repos, discovers credentials, and builds the site- GitHub Actions runs the build every 6 hours and deploys to GitHub Pages
Repositories tagged with the vctm topic on GitHub are automatically discovered. The sources.yaml file can also list explicit git URLs for repos that don't use topics or aren't on GitHub.
For each repository, registry-cli looks for:
schema-meta.yamlfiles — TS11 SchemaMeta envelopes declaring attestation level of security, binding type, and rulebook.vctm.json/.mdoc.json/.vc.jsonfiles — credential metadata in SD-JWT VC, mso_mdoc, and W3C VC formats- Markdown credential files with
vct:front matter — automatically converted to metadata by registry-cli (no external tool needed). Supports nested object/array claims via sub-lists and per-credential format override viaformats:front matter.
Credential metadata is accessible at:
https://registry.siros.org/<org>/<slug>.vctm.json
https://registry.siros.org/<org>/<slug>.mdoc.json
https://registry.siros.org/<org>/<slug>.vc.json
The TS11 API is at:
https://registry.siros.org/api/v1/schemas.json # All TS11-compliant schemas
https://registry.siros.org/api/v1/schemas/<id>.json # Individual schema
Source repositories are declared in sources.yaml:
defaults:
branch: vctm
sources:
# Autodiscover repos tagged "vctm" in an org
- "github:topic/vctm?org=sirosfoundation"
# Explicit git repository
- "git:https://github.com/example/credentials.git"
# With organization label
- url: "git:https://github.com/example/creds.git"
organization: "Example Org"
# Restrict to a subfolder (monorepo support)
- url: "git:https://github.com/example/monorepo.git"
path: "credentials/production"See the sources configuration reference for details on subfolder path targeting.
# Install registry-cli (requires Go 1.22+)
make install
# Build locally
make build
# Preview at http://localhost:8000
make servesources.yaml # Source repository declarations
templates-go/ # HTML templates (Go html/template)
static/ # CSS, images, favicon
Makefile # Build targets
.github/workflows/ # CI: build + deploy to GitHub Pages
Apache-2.0