DID Contexts

In the world of decentralized identity, users are likely to have many DIDs, which will be used in numerous contexts to form relationships with one or more entities. Numerous DID-related activities, such as DID disclosure/authentication, permission grants, etc., are sensitive interactions that form privacy and security boundaries. These boundaries must known and shared between all User Agent apps in a standard way, else UAs will not be able to consistently enforce them, and risk inadvertently violating user privacy and security guarantees.

The following is a crude example of what DID Contexts might capture:

var contexts = [{ did: 'did:foo:123', relationships: { 'did:test:456': { alias: "Bob", authenticated: false, log: ['92dj8dvhs8fsdh', ...], permissions: { /* Same permission scheme as Identity Hubs? */ } }, 'www.test.com': { authenticated: true, log: ['34f5w4fw3fw43f', ...], permissions: { /* Same permission scheme as Identity Hubs */ } } } }, { did: 'did:bar:789', relationships: { 'did:blah:654': { alias: "Carroll", authenticated: true, permissions: { /* Same permission scheme as Identity Hubs */ } }, 'www.foo.com': { alias: "Acme Inc.", authenticated: false, permissions: { /* Same permission scheme as Identity Hubs */ } } } }]

Questions

  1. What are the must-have attributes of a DID Context object?
  2. How will DID Context objects be sync'd among User Agents?
  3. ???
Select a repo