Publish Your Credentials

Add your credential definitions to the Registry. The registry discovers repositories automatically via GitHub topics, or you can request explicit inclusion via sources.yaml.

Option A: Autodiscovery (Recommended)

The registry automatically discovers GitHub repositories tagged with the vctm topic in configured organizations. To get your credentials included:

  1. Create credential files in your repository — either Markdown definitions with vct: front matter, or pre-built .vctm.json, .mdoc.json, .vc.json files
  2. Add a schema-meta.yaml alongside each credential to declare TS11 properties (attestation level, binding type, rulebook). This is required for TS11 compliance
  3. Add the vctm topic to your GitHub repository: click the gear icon next to About in the sidebar, type vctm in the Topics field, and save
  4. Wait for the next build cycle — the registry rebuilds every 6 hours. Your credentials will appear at https://registry.siros.org/your-org/

Option B: Explicit Registration

For repositories outside configured GitHub organizations, or for non-GitHub repositories, open a pull request to add your repository to sources.yaml:

sources:
  - "git:https://github.com/your-org/your-credentials.git"

  # Or with an explicit organization label:
  - url: "git:https://your-git-host.example/repo.git"
    organization: "Your Org Name"

Repository Structure

Your repository should contain credential files at the top level:

your-credentials/
├── identity.md                  # Markdown credential definition
├── identity.schema-meta.yaml    # TS11 metadata (optional but recommended)
├── identity.vctm.json           # Pre-built SD-JWT VC metadata (optional)
├── identity.mdoc.json           # Pre-built mDOC config (optional)
├── identity.vc.json             # Pre-built W3C VC schema (optional)
└── rulebook.md                  # Attestation rulebook (optional)

If you provide Markdown files with vct: front matter, the registry will automatically generate the .vctm.json, .mdoc.json, and .vc.json files — no external tools or GitHub Actions required.

TS11 Compliance

To appear in the TS11-compliant API at /api/v1/schemas.json, your credential needs a schema-meta.yaml file with just two required fields:

# identity.schema-meta.yaml
attestation_los: iso_18045_high    # Required: high / moderate / enhanced-basic / basic
binding_type: key                  # Required: key / biometric / claim / none

You can also set optional fields:

# Optional fields
version: "1.0"                                # Default: "0.1.0"
rulebook_uri: https://example.com/rulebook    # Link to attestation rulebook
trusted_authorities:                          # Trust framework references
  - framework_type: etsi_tl
    value: https://example.com/tl

The following fields are auto-generated and should not be set manually:

  • id — UUID v5 derived from the registry URL + org/slug
  • supportedFormats — detected from files present (.vctm.jsondc+sd-jwt, .mdoc.jsonmso_mdoc, .vc.jsonjwt_vc_json)
  • schemaURIs — generated from detected formats + base URL

Credentials without schema-meta.yaml are still included in the registry site and the legacy API, but are not listed in the TS11 catalogue.

Need Help?