├── .github └── workflows │ ├── auto-publish.yml │ └── vocabulary.yml ├── .gitignore ├── .pr-preview.json ├── CODEOWNERS ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── EXPLAINER.md ├── LICENSE.md ├── README.md ├── common.js ├── diagrams ├── diagram-did-document-entries.drawio ├── diagram-did-document-entries.svg ├── diagram-production-consumption.odg ├── diagram-production-consumption.svg ├── diagram-resolve-resolverepresentation.odg ├── diagram-resolve-resolverepresentation.svg ├── did_brief_architecture_overview.drawio ├── did_brief_architecture_overview.svg ├── did_detailed_architecture_overview.drawio ├── did_detailed_architecture_overview.svg ├── did_url_dereference_overview.drawio ├── did_url_dereference_overview.svg ├── figure-a.1-did-and-did-document-graph.svg ├── figure-a.2-also-known-as-graph.svg ├── figure-b.1-controller-and-subject-equivalence.svg ├── figure-c.1-independent-did-controllers.svg ├── figure-c.2-group-did-controllers.svg └── parts-of-a-did.svg ├── errata.html ├── ietf-registration.txt ├── index.html ├── transitions ├── 2019 │ ├── CGFR │ │ └── index.html │ └── FPWD │ │ ├── contexts │ │ ├── did-v0.11.jsonld │ │ └── did-v1.jsonld │ │ └── index.html ├── 2021 │ ├── CR1 │ │ ├── diagrams │ │ │ ├── diagram-did-document-entries.svg │ │ │ ├── diagram-production-consumption.png │ │ │ ├── diagram-resolve-resolverepresentation.png │ │ │ ├── did_brief_architecture_overview.svg │ │ │ ├── did_detailed_architecture_overview.svg │ │ │ ├── did_url_dereference_overview.svg │ │ │ ├── figure-a.1-did-and-did-document-graph.png │ │ │ ├── figure-a.2-also-known-as-graph.png │ │ │ ├── figure-b.1-controller-and-subject-equivalence.png │ │ │ ├── figure-c.1-independent-did-controllers.png │ │ │ ├── figure-c.2-group-did-controllers.png │ │ │ └── parts-of-a-did.svg │ │ └── index.html │ ├── CR2 │ │ ├── diagrams │ │ │ ├── diagram-did-document-entries.png │ │ │ ├── diagram-did-document-entries.svg │ │ │ ├── diagram-production-consumption.png │ │ │ ├── diagram-resolve-resolverepresentation.png │ │ │ ├── did_brief_architecture_overview.svg │ │ │ ├── did_detailed_architecture_overview.svg │ │ │ ├── did_url_dereference_overview.svg │ │ │ ├── figure-a.1-did-and-did-document-graph.png │ │ │ ├── figure-a.2-also-known-as-graph.png │ │ │ ├── figure-b.1-controller-and-subject-equivalence.png │ │ │ ├── figure-c.1-independent-did-controllers.png │ │ │ ├── figure-c.2-group-did-controllers.png │ │ │ └── parts-of-a-did.svg │ │ └── index.html │ └── PR │ │ ├── diagrams │ │ ├── diagram-did-document-entries.svg │ │ ├── diagram-production-consumption.svg │ │ ├── diagram-resolve-resolverepresentation.svg │ │ ├── did_brief_architecture_overview.svg │ │ ├── did_detailed_architecture_overview.svg │ │ ├── did_url_dereference_overview.svg │ │ ├── figure-a.1-did-and-did-document-graph.svg │ │ ├── figure-a.2-also-known-as-graph.svg │ │ ├── figure-b.1-controller-and-subject-equivalence.svg │ │ ├── figure-c.1-independent-did-controllers.svg │ │ ├── figure-c.2-group-did-controllers.svg │ │ └── parts-of-a-did.svg │ │ └── index.html ├── 2022 │ └── REC │ │ ├── diagrams │ │ ├── diagram-did-document-entries.svg │ │ ├── diagram-production-consumption.svg │ │ ├── diagram-resolve-resolverepresentation.svg │ │ ├── did_brief_architecture_overview.svg │ │ ├── did_detailed_architecture_overview.svg │ │ ├── did_url_dereference_overview.svg │ │ ├── figure-a.1-did-and-did-document-graph.svg │ │ ├── figure-a.2-also-known-as-graph.svg │ │ ├── figure-b.1-controller-and-subject-equivalence.svg │ │ ├── figure-c.1-independent-did-controllers.svg │ │ ├── figure-c.2-group-did-controllers.svg │ │ └── parts-of-a-did.svg │ │ └── index.html └── 2025 │ └── FPWD │ ├── diagrams │ ├── diagram-did-document-entries.svg │ ├── diagram-production-consumption.svg │ ├── diagram-resolve-resolverepresentation.svg │ ├── did_brief_architecture_overview.svg │ ├── did_detailed_architecture_overview.svg │ ├── did_url_dereference_overview.svg │ ├── figure-a.1-did-and-did-document-graph.svg │ ├── figure-a.2-also-known-as-graph.svg │ ├── figure-b.1-controller-and-subject-equivalence.svg │ ├── figure-c.1-independent-did-controllers.svg │ ├── figure-c.2-group-did-controllers.svg │ └── parts-of-a-did.svg │ └── index.html ├── vocab ├── template.html └── vocabulary.yml └── w3c.json /.github/workflows/auto-publish.yml: -------------------------------------------------------------------------------- 1 | # .github/workflows/pr-push.yml 2 | name: Publish to W3C 3 | on: 4 | pull_request: {} 5 | push: 6 | branches: [main] 7 | jobs: 8 | main: 9 | name: Build, Validate and Deploy 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v3 13 | - uses: w3c/spec-prod@v2 14 | with: 15 | W3C_ECHIDNA_TOKEN: ${{ secrets.W3C_TR_TOKEN }} 16 | W3C_WG_DECISION_URL: https://www.w3.org/2024/09/24-did-minutes.html#r02 17 | W3C_BUILD_OVERRIDE: | 18 | shortName: did-1.1 19 | specStatus: WD 20 | -------------------------------------------------------------------------------- /.github/workflows/vocabulary.yml: -------------------------------------------------------------------------------- 1 | # Relies on the standard GitHub action setup to deploy to GitHub Pages 2 | # The really specific details are in the steps that generates the vocabulary files 3 | # (and the deployment of deno as an underling tool). 4 | # See https://github.com/w3c/yml2vocab for more details 5 | # 6 | # Note that for this script to work, the repository setting for GitHub pages must be changed! 7 | name: Publish to Github Pages 8 | on: 9 | push: 10 | branches: [main] 11 | paths: ['vocab/**'] 12 | # Allows workflow to be triggered manually from the Actions tab 13 | workflow_dispatch: 14 | 15 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages 16 | permissions: 17 | contents: read 18 | pages: write 19 | id-token: write 20 | 21 | # Allow one concurrent deployment 22 | concurrency: 23 | group: "pages" 24 | cancel-in-progress: true 25 | 26 | jobs: 27 | deploy: 28 | environment: 29 | name: github-pages 30 | url: ${{ steps.deployment.outputs.page_url }} 31 | runs-on: ubuntu-latest 32 | steps: 33 | - name: Checkout the repository 34 | uses: actions/checkout/@v4 35 | - name: Setup Deno 36 | uses: denoland/setup-deno@v2 37 | with: 38 | deno-version: v2.x 39 | - name: Generate the vocabulary files 40 | # Run the yml2vocab script 41 | # As a result, the following files will be available on w3c.github.io/vocab/ 42 | # - vocabulary.{html,ttl,jsonld}: Vocab in HTML/RDFa, Turtle, and JSON-LD, respectively 43 | # - vocabulary.context.jsonld: JSON-LD context file for the full vocabulary, including external terms 44 | run: | 45 | (cd vocab; deno run -A jsr:@iherman/yml2vocab/cli -t template.html -v vocabulary.yml -c) 46 | mkdir contexts 47 | mv vocab/vocabulary.html vocab/index.html 48 | mv vocab/vocabulary.context.jsonld contexts/v1.1rc1 49 | - name: Setup Github Pages 50 | uses: actions/configure-pages@v5 51 | - name: Upload artifact 52 | uses: actions/upload-pages-artifact@v3 53 | with: 54 | # Upload entire repository 55 | path: '.' 56 | - name: Deploy to GitHub Pages 57 | id: deployment 58 | uses: actions/deploy-pages@v4 59 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.vscode 2 | .idea 3 | -------------------------------------------------------------------------------- /.pr-preview.json: -------------------------------------------------------------------------------- 1 | { 2 | "src_file": "index.html", 3 | "type": "respec" 4 | } 5 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @msporny @dmitrizagidulin @mccown @christophera @danpape 2 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Code of Conduct 2 | 3 | All documentation, code and communication under this repository are covered by the [W3C Code of Ethics and Professional Conduct](https://www.w3.org/Consortium/cepc/). 4 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Decentralized Identifier Working Group 2 | 3 | Contributions to this repository are intended to become part of Recommendation-track documents governed by the 4 | [W3C Patent Policy](https://www.w3.org/Consortium/Patent-Policy-20040205/) and 5 | [Software and Document License](https://www.w3.org/Consortium/Legal/copyright-software). To make substantive contributions to specifications, you must either participate 6 | in the relevant W3C Working Group or make a non-member patent licensing commitment. 7 | 8 | If you are not the sole contributor to a contribution (pull request), please identify all 9 | contributors in the pull request comment. 10 | 11 | To add a contributor (other than yourself, that's automatic), mark them one per line as follows: 12 | 13 | ``` 14 | +@github_username 15 | ``` 16 | 17 | If you added a contributor by mistake, you can remove them in a comment with: 18 | 19 | ``` 20 | -@github_username 21 | ``` 22 | 23 | If you are making a pull request on behalf of someone else but you had no part in designing the 24 | feature, you can remove yourself with the above syntax. 25 | -------------------------------------------------------------------------------- /EXPLAINER.md: -------------------------------------------------------------------------------- 1 | # Decentralized Identifiers (DIDs) 1.1 – Explainer 2 | 3 | ## Discussion Venues 4 | 5 | The Decentralized Identifiers (DIDs) 1.1 specification is developed openly by 6 | the W3C Decentralized Identifier Working Group. Anyone interested can join the 7 | conversation. The working group maintains a public GitHub repository where 8 | issues and pull requests are used for discussion and development. There is also 9 | an open mailing list for broader conversation: public-did-wg@w3.org, with 10 | archives available online. As the spec itself notes, feedback is welcomed via 11 | the GitHub issue tracker or the mailing list. (For more details on use cases and 12 | requirements, see the W3C DID Use Cases and Requirements document.) 13 | 14 | ## User-Facing Problem 15 | 16 | Today’s digital identity is often controlled by large centralized authorities. 17 | For example, email addresses, social media accounts, and even government IDs 18 | (passports, driver’s licenses) are issued by external organizations. These 19 | identifiers are “not under our control” and depend on a central issuer. They may 20 | work only in certain systems (e.g. your employer’s network or a particular 21 | website) and can fail if the issuing body changes its rules or goes offline. 22 | Moreover, many such identifiers unnecessarily reveal personal data when they are 23 | used, and stolen or replicated copies can lead to fraud and identity theft. From 24 | the user’s perspective, this means relying on others to manage our online 25 | identities. If your email provider were hacked or your login service went down, 26 | you could suddenly lose access to many accounts. Every time you “Sign in with X” 27 | or hand over your driver’s license to a service, you trust a third party with 28 | your identity and data. These centralized systems create single points of 29 | failure and privacy risks. Users have little control over how their identifiers 30 | are issued or revoked, and they often end up sharing more personal information 31 | than necessary. The DID specification is motivated by solving exactly these 32 | problems – giving end users control, continuity, and privacy for their 33 | identifiers without a central gatekeeper. 34 | 35 | ## Proposed Approach 36 | 37 | A Decentralized Identifier (DID) is essentially a new kind of identifier that a 38 | user or entity fully controls. 39 | 40 | DIDs have the form `did::`. For example, in the DID 41 | did:example:123456, `did:` is the scheme, `example` is the method name, and 42 | `123456` is the method-specific identifier. This syntax is standardized by the 43 | DID spec. 44 | 45 | There can be many different DID methods (each with its own rules) – for 46 | instance, `did:ethr` might indicate a DID on the Ethereum blockchain, while 47 | `did:web` might use DNS and web hosting. Each method specification defines how 48 | DIDs using that method are created, updated, and resolved. Each DID resolves to 49 | a corresponding DID Document. 50 | 51 | A DID Document is a simple machine-readable JSON document that describes how to 52 | interact with the entity identified by the DID. In practice, a DID Document 53 | usually contains public cryptographic keys and optional service endpoints. These 54 | public keys are the means by which the DID controller (the person or 55 | organization controlling the DID) can prove ownership of the identifier. For 56 | example, if Alice controls a DID, she holds the private keys matching the public 57 | keys in the DID Document. When she wants to authenticate or sign something, 58 | others check against the public key in her DID Document. In the spec’s words, a 59 | DID Document is “a set of data describing the DID subject, including mechanisms, 60 | such as cryptographic public keys, that the DID subject … can use to 61 | authenticate itself and prove its association with the DID”. A DID Document may 62 | also list services (e.g. URLs for messaging or data access) associated with that 63 | identity. Resolvers and verifiable data registries complete the picture. 64 | 65 | A DID resolver is software (or a service) that takes a DID as input and returns 66 | its DID Document. How it does this depends on the method: for example, a 67 | blockchain-based method might look up a transaction on a ledger, whereas a 68 | web-based method might fetch data from a specific URL. These underlying storage 69 | systems are often called verifiable data registries. The spec defines a 70 | verifiable data registry as any system (like a distributed ledger or database) 71 | that lets DIDs and DID Documents be created, updated, and deactivated. 72 | Importantly, the DID Core spec does not mandate any particular technology for 73 | this. It explicitly states that implementers can use blockchains, peer-to-peer 74 | networks, centralized registries – whatever suits the application. The goal is 75 | flexibility: almost any identity system can adopt DIDs by defining an 76 | appropriate method. 77 | 78 | Here is a very simple example of a DID Document for illustration (using a 79 | made-up did:example method): 80 | 81 | ```json 82 | { 83 | "@context": "https://www.w3.org/ns/did/v1.1", 84 | "id": "did:example:123456789abcdefghi", 85 | "authentication": [{ 86 | "id": "did:example:123456789abcdefghi#keys-1", 87 | "type": "Multikey", 88 | "controller": "did:example:123456789abcdefghi", 89 | "publicKeyMultibase": "z6MkmM42vxfqZQsv4ehtTjFFxQ4sQKS2w6WR7emozFAn5cxu" 90 | }] 91 | } 92 | ``` 93 | 94 | This document says that the DID `did:example:123456789abcdefghi` has a public 95 | key (in multibase format) that can be used to authenticate its controller. A 96 | user or system can retrieve this document (via the resolver for the example 97 | method) and trust anything signed by that key. In practice, a DID Document can 98 | be richer – it might include multiple keys (for key rotation or different 99 | purposes) and service endpoints – but this shows the core idea. 100 | 101 | ## Practical Use Cases 102 | 103 | DIDs have many practical uses for everyday people, devices, and services. For 104 | instance, a person could use a DID to log into websites or apps. Instead of 105 | creating a username and password for each service, Alice could present proof of 106 | control over her DID when needed (for example, signing a challenge). Because the 107 | public key was fetched from her DID Document, the website can verify her 108 | identity without a password. If Alice wants extra privacy, she can use different 109 | DIDs for different contexts (work vs. personal) and reveal only the information 110 | she chooses. 111 | 112 | In the Internet of Things, each device can have a DID and corresponding keys. 113 | For example, a smart home thermostat might have `did:home:thermostat123`. Its 114 | DID Document could list the thermostat’s public key for authentication, and even 115 | a service endpoint where the device accepts configuration commands. When the 116 | homeowner’s app wants to talk to the thermostat, it fetches 117 | `did:home:thermostat123`, verifies the device’s signature, and then communicates 118 | securely with the trusted endpoint. Because the device’s identity is not tied to 119 | any central manufacturer’s login service, the homeowner retains control over it. 120 | Websites and online services themselves can also use DIDs. 121 | 122 | A company could publish a DID to represent a service or organization, embedding 123 | in its DID Document a public key for API signing or a URL for service discovery. 124 | Clients trusting that DID can then interact with the service without relying on 125 | traditional SSL certificate authorities. In supply chains, products can be 126 | assigned DIDs so that each item’s origin and ownership history are verifiable. 127 | 128 | In each case, the DID acts as a portable identifier that can move across 129 | systems: for example, you could take your identity DID from one social media 130 | platform to another, or control your device’s DID even if you replace your home 131 | router. 132 | 133 | ## Alternatives Considered 134 | 135 | Before DIDs, there were other identity solutions, each with trade-offs. 136 | Federated login systems (OAuth 2.0/OpenID Connect) let you sign in using a 137 | Google, Facebook, or corporate account. While convenient, these still rely on a 138 | central provider who can track or revoke your identity at will. They also 139 | typically require revealing personal data (like your email or profile info) to 140 | multiple sites. By contrast, DID does not assume any fixed authority: you can 141 | choose which service (or none) to trust. As the DID spec puts it, DIDs are 142 | “designed so that they may be decoupled from centralized registries, identity 143 | providers, and certificate authorities”, whereas OAuth/OpenID services are 144 | exactly centralized identity providers. 145 | 146 | Another approach is using blockchain addresses or public key certificates 147 | directly as identities. For example, your cryptocurrency wallet address is a 148 | kind of identifier on one blockchain, but it is not easily portable or 149 | human-readable across systems. Classic PKI (certificate authority) systems (like 150 | SSL certificates) also provide verifiable identities, but they require trusting 151 | CAs that issue and manage certificates. DIDs generalize these ideas: many DID 152 | methods do use blockchains or other ledgers under the hood, but the DID 153 | abstraction allows multiple methods. 154 | 155 | In other words, a DID can be backed by Ethereum (did:ethr), by a private ledger, 156 | by DNS (did:web), or even by your own custom database – all following the same 157 | DID model. This flexibility is why the W3C spec emphasizes that DIDs should be 158 | portable and “system- and network-independent”. In summary, unlike single-vendor 159 | or single-technology schemes, DIDs offer a unified, extensible framework where 160 | many different underlying systems can interoperate securely. 161 | 162 | ## Accessibility, Security, and Privacy Considerations 163 | 164 | The DID specification has been developed with attention to inclusivity, 165 | security, and privacy. Because DIDs and DID Documents are simply text-based 166 | standards (JSON), they can be used with any technology that handles web 167 | identifiers or JSON data. The spec enables DID Documents to be interpreted as 168 | JSON-LD, which can help with internationalization (e.g. including language tags) 169 | and use in different environments. 170 | 171 | The W3C working group follows open processes, and the draft spec is publicly 172 | available and will be translated and reviewed to ensure broad accessibility. 173 | Security is built in by design. A key DID design goal is to “enable sufficient 174 | security for requesting parties to depend on DID documents for their required 175 | level of assurance”. In practice, this means the DID Controller must prove 176 | possession of private keys to authenticate. For example, to prove control of a 177 | DID, an entity typically produces a digital signature with the private key, 178 | which others verify against the public key in the DID Document. This 179 | cryptographic proof is stronger and more flexible than passwords or centralized 180 | tokens. Because DIDs are decentralized, there is no single server whose 181 | compromise would break the scheme; even if one registry is attacked, other 182 | methods or registries can still operate independently. The spec also requires 183 | DID methods to document their security requirements, such as how to resist 184 | common attacks and how to handle key loss or recovery. 185 | 186 | Privacy is another core concern. The DID architecture explicitly supports user 187 | privacy. For instance, the spec’s goals include “minimal, selective, and 188 | progressive disclosure” of information. A DID by itself does not reveal your 189 | name or personal details – it’s just an opaque identifier tied to a public key. 190 | You can also create multiple DIDs for different contexts, so your activities in 191 | each context are unlinkable unless you choose otherwise. As the spec explains, 192 | each entity can have “as many DIDs as necessary to maintain their desired 193 | separation of identities, personas, and interactions”. Only the data you (or 194 | your DID controller) choose to publish goes into a DID Document. Any additional 195 | profile or attribute information can be kept separate or shared via specialized 196 | credentials (e.g. verifiable claims) only with the parties you trust. In short, 197 | DIDs give users control to share the minimum data needed: the public keys for 198 | verification are public, but other personal data can remain private or managed 199 | outside of the DID system. 200 | 201 | Further Reading: See the official W3C DID Core spec (v1.1) for full details, and 202 | the W3C Use Cases and Requirements document for more examples and motivations. 203 | 204 | This document was generated using ChatGPT's "Research Mode" to read the W3C TAG's Explainer authoring guidelines, read the W3C DID v1.1 specification, 205 | and then write an explainer that conforms to the TAG's guidelines. The entire 206 | content was then lightly edited by an Editor of the DID v1.1 specification. 207 | This is an experiment to see if we can replace hours of Editor labor with 208 | a few minutes of LLM time. -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | All documents in this Repository are licensed by contributors 2 | under the 3 | [W3C Software and Document License](https://www.w3.org/Consortium/Legal/copyright-software). 4 | 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ![W3C Logo](https://www.w3.org/Icons/w3c_home) 3 | 4 | # Decentralized Identifier Specification v1.0 5 | 6 | This is the repository of the W3C’s specification on Decentralized Identifier Specification v1.0, developed by the [DID Working Group](https://www.w3.org/2019/did-wg/). The editors’ draft of the specification can also be [read directly](https://w3c.github.io/did/). 7 | 8 | ## Contributing to the Repository 9 | 10 | Use the standard fork, branch, and pull request workflow to propose changes to the specification. Please make branch names informative—by including the issue or bug number for example. 11 | 12 | Editorial changes that improve the readability of the spec or correct spelling or grammatical mistakes are welcome. 13 | 14 | Please read [CONTRIBUTING.md](CONTRIBUTING.md), about licensing contributions. 15 | 16 | ## Code of Conduct 17 | 18 | W3C functions under a [code of conduct](https://www.w3.org/Consortium/cepc/). 19 | 20 | ## DID Working Group Repositories 21 | 22 | * [W3C Decentralized Identifier Specification v1.0](https://github.com/w3c/did-core) 23 | * [Home page of the Decentralized Identifier Working Group](https://github.com/w3c/did-wg) 24 | * [Specs and documentation for all DID-related /.well-known resources](https://github.com/decentralized-identity/.well-known) 25 | * [W3C Decentralized Characteristics Rubric v1.0](https://github.com/w3c/did-rubric) 26 | * [Decentralized Identifier Use Cases v1.0](https://github.com/w3c/did-use-cases) 27 | * [W3C DID Test Suite and Implementation Report](https://github.com/w3c/did-test-suite) 28 | 29 | ## Notes on Diagram related workflow and the tool 30 | 31 | * Some of the diagrams were created by diagram drawing tool [diagrams.net](https://www.diagrams.net) (formerly `draw.io`), then exported to SVG format. The file extension of diagrams.net file is `.drawio`. When export to SVG, please use the following options: 32 | * Zoom at 100% 33 | * Border Width to 10 34 | * Size to `Diagram` 35 | * Uncheck all of the following options: "Transparent Background," "Shadow," "Embed Images," "Include a copy of my diagram." 36 | -------------------------------------------------------------------------------- /common.js: -------------------------------------------------------------------------------- 1 | /* globals omitTerms, respecConfig, $, require */ 2 | /* DID WG common Javascript ReSpec functions */ 3 | /* ... stolen from Gregg Kellogg of the JSON-LD 1.1 Working Group */ 4 | /* ... who stole it from Manu Sporny of the JSON-LD 1.0 Working Group */ 5 | /* ... who stole it from Shane McCarron, that beautiful, beautiful man. */ 6 | var ccg = { 7 | // Add as the respecConfig localBiblio variable 8 | // Extend or override global respec references 9 | localBiblio: { 10 | "CID": { 11 | title: "Controlled Identifiers v1.0", 12 | href: "https://www.w3.org/TR/cid/", 13 | authors: ["Manu Sporny", "Dave Longley", "Markus Sabadello", "Drummond Reed", "Orie Steele", "Christopher Allen", "Michael B. Jones"], 14 | status: "CR", 15 | publisher: "W3C Verifiable Credentials Working Group" 16 | }, 17 | "REST": { 18 | title: "Architectural Styles and the Design of Network-based Software Architectures", 19 | date: "2000", 20 | href: "http://www.ics.uci.edu/~fielding/pubs/dissertation/", 21 | authors: [ 22 | "Fielding, Roy Thomas" 23 | ], 24 | publisher: "University of California, Irvine." 25 | }, 26 | "VC-USECASES": { 27 | title: "Verifiable Claims Use Cases", 28 | href: "https://www.w3.org/TR/verifiable-claims-use-cases/", 29 | authors: [ 30 | "Shane McCarron", 31 | "Daniel Burnett", 32 | "Gregg Kellogg", 33 | "Brian Sletten", 34 | "Manu Sporny" 35 | ], 36 | status: "FPWD", 37 | publisher: "Verifiable Claims Working Group" 38 | }, 39 | // aliases to known references 40 | "HTTP-SIGNATURES": { 41 | aliasOf: "http-signatures" 42 | }, 43 | "MACAROONS": { 44 | title: 'Macaroons', 45 | // TODO: create spec 46 | href: 'http://macaroons.io/', 47 | authors: ['Arnar Birgisson', 'Joe Gibbs Politz', 'Úlfar Erlingsson', 48 | 'Ankur Taly', 'Michael Vrable', 'Mark Lentczner'], 49 | status: 'unofficial', 50 | publisher: 'Credentials Community Group' 51 | }, 52 | 'OPEN-BADGES': { 53 | title: 'Open Badges', 54 | href: 'https://github.com/openbadges/openbadges-specification', 55 | authors: ['Brian Brennan', 'Mike Larsson', 'Chris McAvoy', 56 | 'Nate Otto', 'Kerri Lemoie'], 57 | status: 'BA-DRAFT', 58 | publisher: 'Badge Alliance Standard Working Group' 59 | }, 60 | 'RDF-NORMALIZATION': { 61 | title: 'RDF Dataset Normalization', 62 | href: 'http://json-ld.github.io/normalization/spec/', 63 | authors: ['Dave Longley', 'Manu Sporny'], 64 | status: 'CG-DRAFT', 65 | publisher: 'Credentials W3C Community Group' 66 | }, 67 | "LD-PROOFS": { 68 | title: "Linked Data Proofs", 69 | href: "https://w3c-dvcg.github.io/ld-proofs/", 70 | authors: [ 71 | "Manu Sporny", 72 | "Dave Longley" 73 | ], 74 | status: "CG-DRAFT", 75 | publisher: "Digital Verification Community Group" 76 | }, 77 | "LD-SIGNATURES": { 78 | title: "Linked Data Signatures", 79 | href: "https://w3c-dvcg.github.io/ld-signatures/", 80 | authors: [ 81 | "Manu Sporny", 82 | "Dave Longley" 83 | ], 84 | status: "CG-DRAFT", 85 | publisher: "Digital Verification Community Group" 86 | }, 87 | "MATRIX-URIS": { 88 | title: "Matrix URIs - Ideas about Web Architecture", 89 | date: "December 1996", 90 | href: "https://www.w3.org/DesignIssues/MatrixURIs.html", 91 | authors: [ 92 | "Tim Berners-Lee" 93 | ], 94 | status: "Personal View" 95 | }, 96 | "HASHLINK": { 97 | title: "Cryptographic Hyperlinks", 98 | date: "December 2018", 99 | href: "https://tools.ietf.org/html/draft-sporny-hashlink-05", 100 | authors: [ 101 | "Manu Sporny" 102 | ], 103 | status: "Internet-Draft", 104 | publisher: "IETF" 105 | }, 106 | "BASE58": { 107 | title: "The Base58 Encoding Scheme", 108 | date: "October 2020", 109 | href: "https://tools.ietf.org/html/draft-msporny-base58", 110 | authors: [ 111 | "Manu Sporny" 112 | ], 113 | status: "Internet-Draft", 114 | publisher: "IETF" 115 | }, 116 | "DNS-DID": { 117 | title: "The Decentralized Identifier (DID) in the DNS", 118 | date: "February 2019", 119 | href: "https://datatracker.ietf.org/doc/draft-mayrhofer-did-dns/", 120 | authors: [ 121 | "Alexander Mayrhofer", 122 | "Dimitrij Klesev", 123 | "Markus Sabadello" 124 | ], 125 | status: "Internet-Draft" 126 | }, 127 | "DID-RESOLUTION": { 128 | title: "Decentralized Identifier Resolution", 129 | href: "https://w3c.github.io/did-resolution/", 130 | authors: [ 131 | "Markus Sabadello", 132 | "Dmitri Zagidulin" 133 | ], 134 | status: "Draft Community Group Report", 135 | publisher: "Credentials Community Group" 136 | }, 137 | "DID-RUBRIC": { 138 | title: "Decentralized Characteristics Rubric v1.0", 139 | href: "https://w3c.github.io/did-rubric/", 140 | authors: [ 141 | "Joe Andrieu" 142 | ], 143 | status: "Draft Community Group Report", 144 | publisher: "Credentials Community Group" 145 | }, 146 | "PRIVACY-BY-DESIGN": { 147 | title: "Privacy by Design", 148 | href: "https://iapp.org/media/pdf/resource_center/pbd_implement_7found_principles.pdf", 149 | authors: [ 150 | "Ann Cavoukian" 151 | ], 152 | date: "2011", 153 | publisher: "Information and Privacy Commissioner" 154 | }, 155 | "MULTIBASE": { 156 | title: "The Multibase Encoding Scheme", 157 | date: "February 2021", 158 | href: "https://datatracker.ietf.org/doc/html/draft-multiformats-multibase-03", 159 | authors: [ 160 | "Juan Benet", 161 | "Manu Sporny" 162 | ], 163 | status: "Internet-Draft", 164 | publisher: "IETF" 165 | } 166 | } 167 | }; 168 | 169 | 170 | require(["core/pubsubhub"], (respecEvents) => { 171 | "use strict"; 172 | 173 | console.log("RESPEC EVENTS", respecEvents); 174 | 175 | respecEvents.sub('end-all', (message) => { 176 | console.log("END EVENT", message); 177 | // remove data-cite on where the citation is to ourselves. 178 | const selfDfns = document.querySelectorAll("dfn[data-cite^='" + respecConfig.shortName.toUpperCase() + "#']"); 179 | for (const dfn of selfDfns) { 180 | delete dfn.dataset.cite; 181 | } 182 | 183 | // Update data-cite references to ourselves. 184 | const selfRefs = document.querySelectorAll("a[data-cite^='" + respecConfig.shortName.toUpperCase() + "#']"); 185 | for (const anchor of selfRefs) { 186 | anchor.href= anchor.dataset.cite.replace(/^.*#/,"#"); 187 | delete anchor.dataset.cite; 188 | } 189 | 190 | }); 191 | 192 | }); 193 | 194 | // Removes dfns that aren't referenced anywhere in the spec. 195 | // To ensure a definition appears in the Terminology section, use 196 | // and link to it! 197 | // This is triggered by postProcess in the respec config. 198 | function restrictRefs(config, document){ 199 | 200 | // Get set of ids internal dfns referenced in the spec body 201 | const internalDfnLinks = document.querySelectorAll("a.internalDFN"); 202 | let internalDfnIds = new Set(); 203 | for (const dfnLink of internalDfnLinks) { 204 | const dfnHref = dfnLink.href.split("#")[1]; 205 | internalDfnIds.add(dfnHref); 206 | } 207 | 208 | // Remove unused dfns from the termlist 209 | const termlist = document.querySelector(".termlist"); 210 | const linkIdsInDfns = []; 211 | for (const child of termlist.querySelectorAll("dfn")){ 212 | if (!internalDfnIds.has(child.id)){ 213 | let dt = child.closest("dt"); 214 | let dd = dt.nextElementSibling; 215 | 216 | // Get internal links from dfns we're going to remove 217 | // because these show up in the dfn-panels later and then 218 | // trigger the local-refs-exist linter (see below) 219 | const linksInDfn = dd.querySelectorAll("a.internalDFN"); 220 | for (link of linksInDfn) { 221 | linkIdsInDfns.push(link.id); 222 | } 223 | 224 | termlist.removeChild(dt); 225 | termlist.removeChild(dd); 226 | } 227 | } 228 | 229 | // Remove unused dfns from the dfn-panels 230 | // (these are hidden, but still trigger the local-refs-exist linter) 231 | // (this seems like a hack, there's probably a better way to hook into respec 232 | // before it gets to this point) 233 | const dfnPanels = document.querySelectorAll(".dfn-panel"); 234 | for (const panel of dfnPanels) { 235 | if (!internalDfnIds.has(panel.querySelector(".self-link").href.split("#")[1])){ 236 | panel.parentNode.removeChild(panel); 237 | } 238 | 239 | // Remove references to dfns we removed which link to other dfns 240 | const panelLinks = panel.querySelectorAll("li a"); 241 | for (const link of panelLinks) { 242 | if (linkIdsInDfns.includes(link.href.split("#")[1])) { 243 | link.parentNode.removeChild(link); 244 | } 245 | } 246 | } 247 | 248 | } 249 | 250 | function _esc(s) { 251 | return s.replace(/&/g,'&') 252 | .replace(/>/g,'>') 253 | .replace(/"/g,'"') 254 | .replace(/ s.trim()).map(s => s.search(/[^\s]/)); 264 | const leastIndent = Math.min(...indents); 265 | return lines.map(s => s.slice(leastIndent)).join("\n"); 266 | } 267 | 268 | function updateExample(doc, content) { 269 | // perform transformations to make it render and prettier 270 | return _esc(reindent(unComment(doc, content))); 271 | } 272 | 273 | function unComment(doc, content) { 274 | // perform transformations to make it render and prettier 275 | return content 276 | .replace(//, '') 278 | .replace(/< !\s*-\s*-/g, '') 280 | .replace(/-\s*-\s*>/g, '-->'); 281 | } 282 | -------------------------------------------------------------------------------- /diagrams/diagram-did-document-entries.drawio: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /diagrams/diagram-did-document-entries.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 |
Core Properties
Core Properties
id, alsoKnownAs, controller, authentication, verificationMethod, service, serviceEndpoint, …
id, alsoKnownAs, controller, authentication, verificatio...
Property Extensions
Property Extensions
ethereumAddress
ethereumAddress
Unregistered Property Extensions
Unregistered Property Extensions
foo
foo
Properties
Properties
Representation-specific entries
Representation-specific entr...
In DID Specification Registries
In DID Specification Registries
Entries in the DID Document map
Entries in the DID Document map
Representation-specific Entry Extensions
Representation-specific Entry Extensions
Core Representation-specific Entries
Core Representation-specific Entries
@context
@context
Unregistered Representation-specific Entry Extensions
Unregistered Representation-specific Entry Extensions
%YAML, xmlns
%YAML, xmlns
Viewer does not support full SVG 1.1
-------------------------------------------------------------------------------- /diagrams/diagram-production-consumption.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/diagrams/diagram-production-consumption.odg -------------------------------------------------------------------------------- /diagrams/diagram-resolve-resolverepresentation.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/diagrams/diagram-resolve-resolverepresentation.odg -------------------------------------------------------------------------------- /diagrams/did_brief_architecture_overview.drawio: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /diagrams/did_brief_architecture_overview.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 |


resolves to

resolves to

DID
subject

DID...

DID
controller

DID...


refers, and
dereferences, to

refers, and...

DID document

DID document


contains

contains

recorded on

recorded on

recorded on

recorded on

refers to

refers to

controls

controls
Verifiable
Data
Registry
Verifiable...
DID URL
DID URL
DID
DID
did:example:123/path/to/rsrc
did:example:123/path/to/rsrc
did:example:123
did:example:123
Viewer does not support full SVG 1.1
-------------------------------------------------------------------------------- /diagrams/did_detailed_architecture_overview.drawio: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /diagrams/did_url_dereference_overview.drawio: -------------------------------------------------------------------------------- 1 | 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 -------------------------------------------------------------------------------- /errata.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | 9 | Open Errata for the Decentralized Identifier Working Group 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 22 | 23 | 24 |
25 | 26 |
27 |

Open Errata for the Decentralized Identifier Working Group

28 |
29 |
Latest errata update:
30 |
31 |
Number of recorded errata:
32 |
33 |
Link to all errata:
34 |
35 |
36 | 37 |
38 |

How to Submit an Erratum?

39 |

Errata are introduced and stored in the issue list of the group‘s GitHub repository. The workflow to add a new erratum is as follows:

40 |
    41 |
  • An issue is raised for a possible erratum. The label of the issue SHOULD be set to “PossibleErratum”. One erratum might have several labels.
  • 42 |
  • The community discusses the issue. If it is accepted as a genuine erratum, the label “Errata” is added to the entry and the “PossibleErratum” label should be removed. Additionally, a new comment on the issue MAY be added, beginning with the word "Summary:" (if such a summary is useful based on the discussion).
  • 43 |
  • Issues labeled as “Errata” are displayed below.
  • 44 |
  • If the community rejects the issue as an erratum, the issue should be closed (but they will not be removed from the listing below, to ensure a historical record).
  • 45 |
  • Each errata may also be labelled as “Editorial”; editorial errata are listed separately from the substantive ones.
  • 46 |
  • ALL substantive errata are generally expected to have corresponding test(s) (such as a pull request in web-platform-tests), either in the form of new tests or modifications to existing tests, or must include the rationale for why test updates are not required for the erratum.
  • 47 |
48 | 49 |

This report contains a reference to all open issues with the label Errata.

50 | 51 |

If you have problems following this process, but you want nevertheless to report an error, you can also contact the staff contact of the Working Group, ivan.

52 |
53 |
54 | 55 |
56 | 57 |
58 | 59 |
60 |

Open Errata on the “Decentralized Identifiers (DIDs) v1.0” Recommendation

61 |
62 |
Latest Published Version:
63 |
https://www.w3.org/TR/did-core/
64 |
Editor’s draft:
65 |
https://w3c.github.io/did-core/
66 |
Latest Publication Date:
67 |
23 September 2021
68 |
69 |
70 |

Substantive Issues

71 |
72 |
73 |

Editorial Issues

74 |
75 |
76 |
77 | 78 | 82 | 83 | 84 | -------------------------------------------------------------------------------- /ietf-registration.txt: -------------------------------------------------------------------------------- 1 | Scheme name: did 2 | Status: Provisional 3 | 4 | Applications/protocols that use this scheme name: 5 | 6 | A "did" URI is used to express an identifier that is conformant to the 7 | Decentralized Identifier[1] specification. The specification details how 8 | identifiers conformant to the "did" URI Scheme can be implemented using 9 | decentralized ledgers, decentralized hashtables, and other types of 10 | decentralized networks. 11 | 12 | This specification is currently under development by the W3C Decentralized 13 | Identifiers Working Group and is expected to transition to the W3C standards 14 | track at the end of 2018 or early 2019 calendar year. 15 | 16 | Contact: 17 | 18 | Manu Sporny 19 | 20 | Change controller: 21 | 22 | Manu Sporny 23 | W3C Decentralized Identifiers Working Group 24 | 25 | References: 26 | 27 | [1] https://w3c.github.io/did-spec/ 28 | -------------------------------------------------------------------------------- /transitions/2019/FPWD/contexts/did-v0.11.jsonld: -------------------------------------------------------------------------------- 1 | { 2 | "@context": { 3 | "@version": 1.1, 4 | "id": "@id", 5 | "type": "@type", 6 | 7 | "dc": "http://purl.org/dc/terms/", 8 | "schema": "http://schema.org/", 9 | "sec": "https://w3id.org/security#", 10 | "didv": "https://w3id.org/did#", 11 | "xsd": "http://www.w3.org/2001/XMLSchema#", 12 | 13 | "EcdsaSecp256k1Signature2019": "sec:EcdsaSecp256k1Signature2019", 14 | "EcdsaSecp256k1VerificationKey2019": "sec:EcdsaSecp256k1VerificationKey2019", 15 | "Ed25519Signature2018": "sec:Ed25519Signature2018", 16 | "Ed25519VerificationKey2018": "sec:Ed25519VerificationKey2018", 17 | "RsaSignature2018": "sec:RsaSignature2018", 18 | "RsaVerificationKey2018": "sec:RsaVerificationKey2018", 19 | "SchnorrSecp256k1Signature2019": "sec:SchnorrSecp256k1Signature2019", 20 | "SchnorrSecp256k1VerificationKey2019": "sec:SchnorrSecp256k1VerificationKey2019", 21 | "ServiceEndpointProxyService": "didv:ServiceEndpointProxyService", 22 | 23 | "allowedAction": "sec:allowedAction", 24 | "assertionMethod": {"@id": "sec:assertionMethod", "@type": "@id", "@container": "@set"}, 25 | "authentication": {"@id": "sec:authenticationMethod", "@type": "@id", "@container": "@set"}, 26 | "capability": {"@id": "sec:capability", "@type": "@id"}, 27 | "capabilityAction": "sec:capabilityAction", 28 | "capabilityChain": {"@id": "sec:capabilityChain", "@type": "@id", "@container": "@list"}, 29 | "capabilityDelegation": {"@id": "sec:capabilityDelegationMethod", "@type": "@id", "@container": "@set"}, 30 | "capabilityInvocation": {"@id": "sec:capabilityInvocationMethod", "@type": "@id", "@container": "@set"}, 31 | "capabilityStatusList": {"@id": "sec:capabilityStatusList", "@type": "@id"}, 32 | "canonicalizationAlgorithm": "sec:canonicalizationAlgorithm", 33 | "caveat": {"@id": "sec:caveat", "@type": "@id", "@container": "@set"}, 34 | "challenge": "sec:challenge", 35 | "controller": {"@id": "sec:controller", "@type": "@id"}, 36 | "created": {"@id": "dc:created", "@type": "xsd:dateTime"}, 37 | "creator": {"@id": "dc:creator", "@type": "@id"}, 38 | "delegator": {"@id": "sec:delegator", "@type": "@id"}, 39 | "domain": "sec:domain", 40 | "expirationDate": {"@id": "sec:expiration", "@type": "xsd:dateTime"}, 41 | "invocationTarget": {"@id": "sec:invocationTarget", "@type": "@id"}, 42 | "invoker": {"@id": "sec:invoker", "@type": "@id"}, 43 | "jws": "sec:jws", 44 | "keyAgreement": {"@id": "sec:keyAgreementMethod", "@type": "@id", "@container": "@set"}, 45 | "nonce": "sec:nonce", 46 | "owner": {"@id": "sec:owner", "@type": "@id"}, 47 | "proof": {"@id": "sec:proof", "@type": "@id", "@container": "@graph"}, 48 | "proofPurpose": {"@id": "sec:proofPurpose", "@type": "@vocab"}, 49 | "proofValue": "sec:proofValue", 50 | "publicKey": {"@id": "sec:publicKey", "@type": "@id", "@container": "@set"}, 51 | "publicKeyBase58": "sec:publicKeyBase58", 52 | "publicKeyPem": "sec:publicKeyPem", 53 | "revoked": {"@id": "sec:revoked", "@type": "xsd:dateTime"}, 54 | "service": {"@id": "didv:service", "@type": "@id", "@container": "@set"}, 55 | "serviceEndpoint": {"@id": "didv:serviceEndpoint", "@type": "@id"}, 56 | "verificationMethod": {"@id": "sec:verificationMethod", "@type": "@id"} 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /transitions/2019/FPWD/contexts/did-v1.jsonld: -------------------------------------------------------------------------------- 1 | { 2 | "@context": { 3 | "@version": 1.1, 4 | "id": "@id", 5 | "type": "@type", 6 | 7 | "dc": "http://purl.org/dc/terms/", 8 | "schema": "http://schema.org/", 9 | "sec": "https://w3id.org/security#", 10 | "didv": "https://w3id.org/did#", 11 | "xsd": "http://www.w3.org/2001/XMLSchema#", 12 | 13 | "EcdsaSecp256k1Signature2019": "sec:EcdsaSecp256k1Signature2019", 14 | "EcdsaSecp256k1VerificationKey2019": "sec:EcdsaSecp256k1VerificationKey2019", 15 | "Ed25519Signature2018": "sec:Ed25519Signature2018", 16 | "Ed25519VerificationKey2018": "sec:Ed25519VerificationKey2018", 17 | "RsaSignature2018": "sec:RsaSignature2018", 18 | "RsaVerificationKey2018": "sec:RsaVerificationKey2018", 19 | "SchnorrSecp256k1Signature2019": "sec:SchnorrSecp256k1Signature2019", 20 | "SchnorrSecp256k1VerificationKey2019": "sec:SchnorrSecp256k1VerificationKey2019", 21 | "ServiceEndpointProxyService": "didv:ServiceEndpointProxyService", 22 | 23 | "allowedAction": "sec:allowedAction", 24 | "assertionMethod": {"@id": "sec:assertionMethod", "@type": "@id", "@container": "@set"}, 25 | "authentication": {"@id": "sec:authenticationMethod", "@type": "@id", "@container": "@set"}, 26 | "capability": {"@id": "sec:capability", "@type": "@id"}, 27 | "capabilityAction": "sec:capabilityAction", 28 | "capabilityChain": {"@id": "sec:capabilityChain", "@type": "@id", "@container": "@list"}, 29 | "capabilityDelegation": {"@id": "sec:capabilityDelegationMethod", "@type": "@id", "@container": "@set"}, 30 | "capabilityInvocation": {"@id": "sec:capabilityInvocationMethod", "@type": "@id", "@container": "@set"}, 31 | "capabilityStatusList": {"@id": "sec:capabilityStatusList", "@type": "@id"}, 32 | "canonicalizationAlgorithm": "sec:canonicalizationAlgorithm", 33 | "caveat": {"@id": "sec:caveat", "@type": "@id", "@container": "@set"}, 34 | "challenge": "sec:challenge", 35 | "controller": {"@id": "sec:controller", "@type": "@id"}, 36 | "created": {"@id": "dc:created", "@type": "xsd:dateTime"}, 37 | "creator": {"@id": "dc:creator", "@type": "@id"}, 38 | "delegator": {"@id": "sec:delegator", "@type": "@id"}, 39 | "domain": "sec:domain", 40 | "expirationDate": {"@id": "sec:expiration", "@type": "xsd:dateTime"}, 41 | "invocationTarget": {"@id": "sec:invocationTarget", "@type": "@id"}, 42 | "invoker": {"@id": "sec:invoker", "@type": "@id"}, 43 | "jws": "sec:jws", 44 | "keyAgreement": {"@id": "sec:keyAgreementMethod", "@type": "@id", "@container": "@set"}, 45 | "nonce": "sec:nonce", 46 | "owner": {"@id": "sec:owner", "@type": "@id"}, 47 | "proof": {"@id": "sec:proof", "@type": "@id", "@container": "@graph"}, 48 | "proofPurpose": {"@id": "sec:proofPurpose", "@type": "@vocab"}, 49 | "proofValue": "sec:proofValue", 50 | "publicKey": {"@id": "sec:publicKey", "@type": "@id", "@container": "@set"}, 51 | "publicKeyBase58": "sec:publicKeyBase58", 52 | "publicKeyPem": "sec:publicKeyPem", 53 | "revoked": {"@id": "sec:revoked", "@type": "xsd:dateTime"}, 54 | "service": {"@id": "didv:service", "@type": "@id", "@container": "@set"}, 55 | "serviceEndpoint": {"@id": "didv:serviceEndpoint", "@type": "@id"}, 56 | "verificationMethod": {"@id": "sec:verificationMethod", "@type": "@id"} 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /transitions/2021/CR1/diagrams/diagram-did-document-entries.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 |
Core Properties
Core Properties
id, alsoKnownAs, controller, authentication, verificationMethod, service, serviceEndpoint, …
id, alsoKnownAs, controller, authentication, verificatio...
Property Extensions
Property Extensions
ethereumAddress
ethereumAddress
Unregistered Property Extensions
Unregistered Property Extensions
foo
foo
Properties
Properties
Representation-specific entries
Representation-specific entr...
In DID Specification Registries
In DID Specification Registries
Entries in the DID Document map
Entries in the DID Document map
Representation-specific Entry Extensions
Representation-specific Entry Extensions
Core Representation-specific Entries
Core Representation-specific Entries
@context
@context
Unregistered Representation-specific Entry Extensions
Unregistered Representation-specific Entry Extensions
%YAML, xmlns
%YAML, xmlns
Viewer does not support full SVG 1.1
-------------------------------------------------------------------------------- /transitions/2021/CR1/diagrams/diagram-production-consumption.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR1/diagrams/diagram-production-consumption.png -------------------------------------------------------------------------------- /transitions/2021/CR1/diagrams/diagram-resolve-resolverepresentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR1/diagrams/diagram-resolve-resolverepresentation.png -------------------------------------------------------------------------------- /transitions/2021/CR1/diagrams/did_brief_architecture_overview.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 |


resolves to

resolves to

DID
subject

DID...

DID
controller

DID...

DID URL

DID URL

refers, and
dereferences, to

refers, and...

DID document

DID document

DID

DID

contains

contains

recorded on

recorded on

recorded on

recorded on

refers to

refers to

controls

controls
Verifiable
Data
Registry
Verifiable...
Viewer does not support full SVG 1.1
-------------------------------------------------------------------------------- /transitions/2021/CR1/diagrams/figure-a.1-did-and-did-document-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR1/diagrams/figure-a.1-did-and-did-document-graph.png -------------------------------------------------------------------------------- /transitions/2021/CR1/diagrams/figure-a.2-also-known-as-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR1/diagrams/figure-a.2-also-known-as-graph.png -------------------------------------------------------------------------------- /transitions/2021/CR1/diagrams/figure-b.1-controller-and-subject-equivalence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR1/diagrams/figure-b.1-controller-and-subject-equivalence.png -------------------------------------------------------------------------------- /transitions/2021/CR1/diagrams/figure-c.1-independent-did-controllers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR1/diagrams/figure-c.1-independent-did-controllers.png -------------------------------------------------------------------------------- /transitions/2021/CR1/diagrams/figure-c.2-group-did-controllers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR1/diagrams/figure-c.2-group-did-controllers.png -------------------------------------------------------------------------------- /transitions/2021/CR2/diagrams/diagram-did-document-entries.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR2/diagrams/diagram-did-document-entries.png -------------------------------------------------------------------------------- /transitions/2021/CR2/diagrams/diagram-did-document-entries.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 |
Core Properties
Core Properties
id, alsoKnownAs, controller, authentication, verificationMethod, service, serviceEndpoint, …
id, alsoKnownAs, controller, authentication, verificatio...
Property Extensions
Property Extensions
ethereumAddress
ethereumAddress
Unregistered Property Extensions
Unregistered Property Extensions
foo
foo
Properties
Properties
Representation-specific entries
Representation-specific entr...
In DID Specification Registries
In DID Specification Registries
Entries in the DID Document map
Entries in the DID Document map
Representation-specific Entry Extensions
Representation-specific Entry Extensions
Core Representation-specific Entries
Core Representation-specific Entries
@context
@context
Unregistered Representation-specific Entry Extensions
Unregistered Representation-specific Entry Extensions
%YAML, xmlns
%YAML, xmlns
Viewer does not support full SVG 1.1
-------------------------------------------------------------------------------- /transitions/2021/CR2/diagrams/diagram-production-consumption.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR2/diagrams/diagram-production-consumption.png -------------------------------------------------------------------------------- /transitions/2021/CR2/diagrams/diagram-resolve-resolverepresentation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR2/diagrams/diagram-resolve-resolverepresentation.png -------------------------------------------------------------------------------- /transitions/2021/CR2/diagrams/figure-a.1-did-and-did-document-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR2/diagrams/figure-a.1-did-and-did-document-graph.png -------------------------------------------------------------------------------- /transitions/2021/CR2/diagrams/figure-a.2-also-known-as-graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR2/diagrams/figure-a.2-also-known-as-graph.png -------------------------------------------------------------------------------- /transitions/2021/CR2/diagrams/figure-b.1-controller-and-subject-equivalence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR2/diagrams/figure-b.1-controller-and-subject-equivalence.png -------------------------------------------------------------------------------- /transitions/2021/CR2/diagrams/figure-c.1-independent-did-controllers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR2/diagrams/figure-c.1-independent-did-controllers.png -------------------------------------------------------------------------------- /transitions/2021/CR2/diagrams/figure-c.2-group-did-controllers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/w3c/did/d0be1f3f231978cfbc75547dc3746f7312fe1e68/transitions/2021/CR2/diagrams/figure-c.2-group-did-controllers.png -------------------------------------------------------------------------------- /transitions/2021/PR/diagrams/diagram-did-document-entries.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 |
Core Properties
Core Properties
id, alsoKnownAs, controller, authentication, verificationMethod, service, serviceEndpoint, …
id, alsoKnownAs, controller, authentication, verificatio...
Property Extensions
Property Extensions
ethereumAddress
ethereumAddress
Unregistered Property Extensions
Unregistered Property Extensions
foo
foo
Properties
Properties
Representation-specific entries
Representation-specific entr...
In DID Specification Registries
In DID Specification Registries
Entries in the DID Document map
Entries in the DID Document map
Representation-specific Entry Extensions
Representation-specific Entry Extensions
Core Representation-specific Entries
Core Representation-specific Entries
@context
@context
Unregistered Representation-specific Entry Extensions
Unregistered Representation-specific Entry Extensions
%YAML, xmlns
%YAML, xmlns
Viewer does not support full SVG 1.1
-------------------------------------------------------------------------------- /transitions/2022/REC/diagrams/diagram-did-document-entries.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 |
Core Properties
Core Properties
id, alsoKnownAs, controller, authentication, verificationMethod, service, serviceEndpoint, …
id, alsoKnownAs, controller, authentication, verificatio...
Property Extensions
Property Extensions
ethereumAddress
ethereumAddress
Unregistered Property Extensions
Unregistered Property Extensions
foo
foo
Properties
Properties
Representation-specific entries
Representation-specific entr...
In DID Specification Registries
In DID Specification Registries
Entries in the DID Document map
Entries in the DID Document map
Representation-specific Entry Extensions
Representation-specific Entry Extensions
Core Representation-specific Entries
Core Representation-specific Entries
@context
@context
Unregistered Representation-specific Entry Extensions
Unregistered Representation-specific Entry Extensions
%YAML, xmlns
%YAML, xmlns
Viewer does not support full SVG 1.1
-------------------------------------------------------------------------------- /transitions/2025/FPWD/diagrams/diagram-did-document-entries.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 |
Core Properties
Core Properties
id, alsoKnownAs, controller, authentication, verificationMethod, service, serviceEndpoint, …
id, alsoKnownAs, controller, authentication, verificatio...
Property Extensions
Property Extensions
ethereumAddress
ethereumAddress
Unregistered Property Extensions
Unregistered Property Extensions
foo
foo
Properties
Properties
Representation-specific entries
Representation-specific entr...
In DID Specification Registries
In DID Specification Registries
Entries in the DID Document map
Entries in the DID Document map
Representation-specific Entry Extensions
Representation-specific Entry Extensions
Core Representation-specific Entries
Core Representation-specific Entries
@context
@context
Unregistered Representation-specific Entry Extensions
Unregistered Representation-specific Entry Extensions
%YAML, xmlns
%YAML, xmlns
Viewer does not support full SVG 1.1
-------------------------------------------------------------------------------- /vocab/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 21 | 54 | 103 | 104 | 105 |
106 |

This document describes the , i.e., 107 | the . 108 |

109 |

Alternate versions of the vocabulary definition exist in 110 | Turtle and 111 | JSON-LD. 112 |

113 |
114 |
Published:
115 |
Version Info:
116 |
1.1
117 |
See Also:
118 |
119 |
120 |
121 |

122 | Comments regarding this document are welcome. Please file issues 123 | directly on GitHub, or send them to 124 | mailto:public-did-wg@w3.org 125 | (subscribe, 126 | archives). 127 |

128 |
129 | 130 |
131 |

Namespaces

132 |

This specification makes use a number of external vocabulary namespaces.

133 |
134 | Click here for details. 135 |
136 |
137 |
138 |
139 | 140 |
141 |

@context files

142 |

Several @context files make use of the terms defined in this specification.

143 |
144 | Click here for details. 145 |
    146 |
147 |
148 |
149 | 150 |
151 |

Regular terms

152 | 153 |
154 |

Property definitions

155 |
156 | 157 |
158 |

Class definitions

159 |
160 | 161 |
162 |

Datatype definitions

163 |
164 | 165 |
166 |

Definitions for individuals

167 |
168 |
169 | 170 |
171 |

Reserved terms

172 | 173 |

All terms in this section are reserved. 174 | Implementers may use these properties, but should expect them and/or their meanings to change during the process to 175 | normatively specify them. 176 |

177 | 178 |
179 |

Reserved properties

180 |
181 | 182 |
183 |

Reserved classes

184 |
185 | 186 |
187 |

Reserved datatype definitions

188 |
189 | 190 |
191 |

Reserved individuals

192 |
193 |
194 | 195 |
196 |

Deprecated terms

197 | 198 |

All terms in this section are deprecated, and are only kept in this vocabulary for backward compatibility. 199 |

New applications should not use them. 200 |

201 | 202 |
203 |

Deprecated properties

204 |
205 | 206 |
207 |

Deprecated classes

208 |
209 | 210 |
211 |

Deprecated datatype definitions

212 |
213 | 214 |
215 |

Deprecated individuals

216 |
217 |
218 | 219 | 220 | -------------------------------------------------------------------------------- /vocab/vocabulary.yml: -------------------------------------------------------------------------------- 1 | vocab: 2 | id: dd 3 | value: https://www.w3.org/ns/did# 4 | context: https://www.w3.org/ns/did/v1.1 5 | 6 | prefix: 7 | - id: sec 8 | value: https://w3id.org/security# 9 | - id: act 10 | value: https://www.w3.org/ns/activitystreams# 11 | 12 | ontology: 13 | - property: dc:title 14 | value: DID Vocabulary 15 | 16 | - property: dc:description 17 | value: | 18 | vocabulary used to ensure the authenticity and integrity of W3C DID Documents, a profile of W3C Controlled Identifier Document. 19 | 20 | - property: rdfs:seeAlso 21 | value: https://www.w3.org/TR/did-1.1/ 22 | 23 | class: 24 | # - id: DecentralizedIdentifierDocument 25 | # label: Decentralized Identifier Document 26 | # defined_by: https://www.w3.org/TR/did-1.1/#data-model 27 | # upper_value: sec:ControlledIdentifierDocument 28 | # context: none 29 | 30 | - id: Service 31 | label: Service 32 | comment: A service is a set of properties that describe a service endpoint, and should be defined through subclasses to this class. In order to maximize interoperability, the service type and its associated properties should be registered in the [[[did-spec-registries]]] [[did-spec-registries]]. 33 | defined_by: https://www.w3.org/TR/did-1.1/#services 34 | context: none 35 | 36 | # - id: sec:ControlledIdentifierDocument 37 | # label: Controlled Identifier Document 38 | # defined_by: https://www.w3.org/TR/cid-1.0/#controlled-identifier-documents 39 | # context: none 40 | 41 | - id: sec:VerificationMethod 42 | label: Verification method 43 | comment: Instances of this class must be denoted by URLs, i.e., they cannot be blank nodes. 44 | defined_by: https://www.w3.org/TR/cid-1.0/#verification-methods 45 | context: none 46 | 47 | - id: sec:VerificationRelationship 48 | comment: Instances of this class are verification relationships like, for example, authentication or assertionMethod. 49 | defined_by: https://www.w3.org/TR/cid-1.0/#verification-relationships 50 | upper_value: rdf:Property 51 | context: none 52 | 53 | - id: sec:Multikey 54 | label: Multikey Verification Method 55 | upper_value: sec:VerificationMethod 56 | defined_by: https://www.w3.org/TR/cid-1.0/#multikey 57 | context: https://w3id.org/security/multikey/v1 58 | 59 | - id: sec:JsonWebKey 60 | label: JSON Web Key Verification Method 61 | upper_value: sec:VerificationMethod 62 | defined_by: https://www.w3.org/TR/cid-1.0/#jsonwebkey 63 | context: https://w3id.org/security/jwk/v1 64 | 65 | 66 | property: 67 | - id: sec:controller 68 | label: Controller 69 | range: IRI 70 | defined_by: [https://www.w3.org/TR/cid-1.0/#defn-controller] 71 | see_also: 72 | - label: DID 1.1 specification 73 | url: https://www.w3.org/TR/did-1.1/#did-controller 74 | context: [vocab, https://w3id.org/security/data-integrity/v2, https://www.w3.org/ns/cid/v1] 75 | 76 | - id: act:alsoKnownAs 77 | label: Also known as 78 | range: xsd:string 79 | defined_by: [https://www.w3.org/ns/activitystreams#] 80 | see_also: 81 | - label: DID 1.1 specification 82 | url: https://www.w3.org/TR/did-1.1/#core-properties 83 | context: vocab 84 | 85 | - id: sec:verificationMethod 86 | label: Verification method 87 | range: sec:VerificationMethod 88 | defined_by: [https://www.w3.org/TR/cid-1.0/#dfn-verificationmethod] 89 | see_also: 90 | - label: DID 1.1 specification 91 | url: https://www.w3.org/TR/did-1.1/#core-properties 92 | context: [vocab, https://w3id.org/security/data-integrity/v2] 93 | 94 | - id: sec:authentication 95 | label: Authentication method 96 | range: sec:VerificationMethod 97 | type: sec:VerificationRelationship 98 | defined_by: [hhttps://www.w3.org/TR/cid-1.0/#authentication] 99 | see_also: 100 | - label: DID 1.1 specification 101 | url: https://www.w3.org/TR/did-1.1/#core-properties 102 | context: [vocab, https://w3id.org/security/data-integrity/v2, https://www.w3.org/ns/cid/v1] 103 | 104 | - id: sec:assertionMethod 105 | label: Assertion method 106 | range: sec:VerificationMethod 107 | type: sec:VerificationRelationship 108 | defined_by: [https://www.w3.org/TR/cid-1.0/#assertion] 109 | see_also: 110 | - label: DID 1.1 specification 111 | url: https://www.w3.org/TR/did-1.1/#core-properties 112 | context: [vocab, https://w3id.org/security/data-integrity/v2, https://www.w3.org/ns/cid/v1] 113 | 114 | - id: sec:capabilityDelegationMethod 115 | label: Capability delegation method 116 | range: sec:VerificationMethod 117 | type: sec:VerificationRelationship 118 | comment: Historically, this property has often been expressed using `capabilityDelegation` as a shortened term in JSON-LD. Since this shortened term and its mapping to this property are in significant use in the ecosystem, the inconsistency between the short term name (`capabilityDelegation`) and the property identifier (`...#capabilityDelegationMethod`) is expected and should not trigger an error. 119 | defined_by: [https://www.w3.org/TR/cid-1.0/#capability-delegationd] 120 | see_also: 121 | - label: DID 1.1 specification 122 | url: https://www.w3.org/TR/did-1.1/#core-properties 123 | context: [vocab, https://w3id.org/security/data-integrity/v2, https://www.w3.org/ns/cid/v1] 124 | known_as: capabilityDelegation 125 | 126 | - id: sec:capabilityInvocationMethod 127 | label: Capability invocation method 128 | range: sec:VerificationMethod 129 | type: sec:VerificationRelationship 130 | comment: Historically, this property has often been expressed using `capabilityInvocation` as a shortened term in JSON-LD. Since this shortened term and its mapping to this property are in significant use in the ecosystem, the inconsistency between the short term name (`capabilityInvocation`) and the property identifier (`...#capabilityInvocationMethod`) is expected and should not trigger an error. 131 | defined_by: [https://www.w3.org/TR/cid-1.0/#capability-invocation] 132 | see_also: 133 | - label: DID 1.1 specification 134 | url: https://www.w3.org/TR/did-1.1/#core-properties 135 | context: [vocab, https://w3id.org/security/data-integrity/v2, https://www.w3.org/ns/cid/v1] 136 | known_as: capabilityInvocation 137 | 138 | - id: sec:keyAgreementMethod 139 | label: Key agreement protocols 140 | type: sec:VerificationRelationship 141 | range: sec:VerificationMethod 142 | comment: Historically, this property has often been expressed using `keyAgreement` as a shortened term in JSON-LD. Since this shortened term and its mapping to this property are in significant use in the ecosystem, the inconsistency between the short term name (`keyAgreement`) and the property identifier (`...#keyAgreementMethod`) is expected and should not trigger an error. 143 | defined_by: [https://www.w3.org/TR/cid-1.0/#key-agreementd] 144 | see_also: 145 | - label: DID 1.1 specification 146 | url: https://www.w3.org/TR/did-1.1/#core-properties 147 | context: [vocab, https://w3id.org/security/data-integrity/v2, https://www.w3.org/ns/cid/v1] 148 | known_as: keyAgreement 149 | 150 | - id: sec:publicKeyMultibase 151 | label: Public key multibase 152 | domain: sec:Multikey 153 | range: sec:multibase 154 | defined_by: https://www.w3.org/TR/cid-1.0/#dfn-publickeymultibase 155 | context: [vocab, https://w3id.org/security/multikey/v1] 156 | 157 | - id: sec:secretKeyMultibase 158 | label: Secret key multibase 159 | domain: sec:Multikey 160 | range: sec:multibase 161 | defined_by: https://www.w3.org/TR/cid-1.0/#dfn-secretkeymultibase 162 | context: [vocab, https://w3id.org/security/multikey/v1] 163 | 164 | - id: sec:publicKeyJwk 165 | label: Public key JWK 166 | range: rdf:JSON 167 | domain: sec:JsonWebKey 168 | defined_by: https://www.w3.org/TR/cid-1.0/#dfn-publickeyjwk 169 | context: [vocab, https://w3id.org/security/jwk/v1] 170 | 171 | - id: sec:secretKeyJwk 172 | label: Secret key JWK 173 | range: rdf:JSON 174 | domain: sec:JsonWebKey 175 | defined_by: https://www.w3.org/TR/cid-1.0/#dfn-secretkeyjwk 176 | context: [vocab, https://w3id.org/security/jwk/v1] 177 | 178 | - id: service 179 | label: Service 180 | # domain: dd:DecentralizedIdentifierDocument 181 | range: dd:Service 182 | comment: The associated value must be a set of services, where each service is described by a map. 183 | defined_by: https://www.w3.org/TR/did-1.1/#services 184 | context: vocab 185 | 186 | - id: serviceEndpoint 187 | label: Service endpoint 188 | comment: Refers to the service endpoint, which is a URL that can be used to access the service. 189 | domain: dd:Service 190 | range: IRI 191 | defined_by: https://www.w3.org/TR/did-1.1/#services 192 | context: vocab 193 | 194 | datatype: 195 | - id: sec:multibase 196 | label: Datatype for multibase values 197 | upper_value: xsd:string 198 | defined_by: https://www.w3.org/TR/cid-1.0/#multibase 199 | context: https://w3id.org/security/multikey/v1 200 | 201 | 202 | -------------------------------------------------------------------------------- /w3c.json: -------------------------------------------------------------------------------- 1 | { 2 | "group": [ 3 | 117488 4 | ], 5 | "contacts": [ 6 | "pchampin" 7 | ], 8 | "repo-type": "rec-track", 9 | "shortName": "did-core" 10 | } 11 | --------------------------------------------------------------------------------