Skip to content

VDR Structure

GitHub Repository Structure

verifiable-credentials/
├── credentials/
│   ├── schemas/                    # JSON Schemas
│   │   ├── cornerstone-id.json
│   │   └── home-credential.json
│   │
│   ├── contexts/                   # JSON-LD Vocabulary (RESO + Cornerstone)
│   │   └── cornerstone-vocab.jsonld
│   │
│   ├── vct/                        # Verifiable Credential Types
│   │   ├── cornerstone-id.json
│   │   └── home-credential.json
│   │
│   ├── entities/                   # Entity metadata & assets
│   │   ├── entity-a.json
│   │   ├── entity-b.json
│   │   └── logos/
│   │       ├── entity-a.png
│   │       └── entity-b.png
│   │
│   ├── harmonization/              # Data mappings
│   │   └── mappings.json
│   │
│   └── governance-docs/            # Human-readable governance frameworks
│       ├── cornerstone-id.md
│       └── home-credential.md
│
└── README.md

URL Patterns

Artifact URL Pattern
Schema https://openpropertyassociation.ca/credentials/schemas/{type}.json
VCT https://openpropertyassociation.ca/credentials/vct/{type}.json
Vocab https://openpropertyassociation.ca/credentials/contexts/cornerstone-vocab.jsonld
Entity https://openpropertyassociation.ca/credentials/entities/{id}.json
Logo https://openpropertyassociation.ca/credentials/entities/logos/{id}.png
Governance https://openpropertyassociation.ca/credentials/governance-docs/{type}.md

Identifier Conventions

Artifact Pattern Example
Entity ID {name} furnisher-a
Schema file {credential-type}.json home-credential.json
VCT file {credential-type}.json home-credential.json
RESO vocab term reso:{term} reso:AssessedValue
Cornerstone vocab term cornerstone:{term} cornerstone:givenName
Data source field {entity}:{field} furnisher:assessed_val

Binding Chain: From Data to Credential

┌─────────────────────────────────────────────────────────────────────────────┐
│                           GOVERNANCE LAYER (VDR)                             │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│  Data Furnisher          Harmonization           Vocabulary                  │
│  (Entity Manager)        (Data Harmonization)    (Data Dictionary)           │
│                                                                              │
│  furnisher:assessed_val ─────────┐                                           │
│                                  ├────────────► reso:AssessedValue           │
│  other:property_value ───────────┘                    │                      │
│                                                       │                      │
│                                                       ▼                      │
│                                               Schema Property                │
│                                               (Schema Builder)               │
│                                                       │                      │
│                                        "AssessedValue": { type: "number" }   │
│                                                       │                      │
│                                                       ▼                      │
│                                                  VCT Claim                   │
│                                                (VCT Builder)                 │
│                                                       │                      │
│                                        claims.AssessedValue {                │
│                                          vocab_binding: "reso:AssessedValue",│
│                                          acceptable_evidence: [...]          │
│                                        }                                     │
│                                                                              │
└─────────────────────────────────────────────────────────────────────────────┘
                                         │
                                         ▼
┌─────────────────────────────────────────────────────────────────────────────┐
│                          CREDENTIAL EXCHANGE LAYER                           │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│  Issuance Service                                                            │
│       │                                                                      │
│       ├── Fetches VCT from VDR (defines credential type)                     │
│       ├── Receives data from furnisher (assessed_val = 500000)               │
│       ├── Queries harmonization → resolves to reso:AssessedValue             │
│       ├── Validates against schema (from VCT.schema_uri)                     │
│       ├── Builds credential with evidence metadata                           │
│       └── Issues credential offer to wallet                                  │
│                                                                              │
│  Verifiable Credential                                                       │
│       │                                                                      │
│       ├── credentialSubject.AssessedValue = 500000                           │
│       └── evidence[0].sourceEntity = "furnisher-example"                     │
│                                                                              │
│  Wallet                                                                      │
│       │                                                                      │
│       ├── Fetches VCT for rendering                                          │
│       ├── Displays card with branding                                        │
│       └── Shows furnisher logo on back (from evidence)                       │
│                                                                              │
└─────────────────────────────────────────────────────────────────────────────┘