@transmute/transmute-id-schemas
v0.0.6
Published
This public npm package contains jsonschema models, factories and reducers for creating decentralized identity credentials with activity pub.
Downloads
9
Readme
Transmute ID Schemas
This public npm package contains jsonschema models, factories and reducers for creating decentralized identity credentials with activity pub.
These models are the basis for closed source credential and workflow implementations supported by Transmute ID.
Activities
Workflow Activities are JSON-LD documents created from factories or by hand, they represent things have have happened in relation to a identities, such as claim creation, attestation requests, acceptance or rejection. Activities have a published date, and each activity pub server should be careful not to create an activity that is logically invalid. Because of the published date, the concept of logical validation of an activity is as follows. The server will look at the entities related to the activity in their current state, and decide if the activity should be created. This means that a server should never create an AttestationRequest for a Claim that does not exist.
Binding Models
A BindingModel
is a data structure created on a client, and submitted to the server. It lacks properties, such as id and actor, which the server will provide once the client is authenticated.
Factories
Workflow Factories help create Activities. They are not repsonsible for validating an activity, only ensuring that the JSON-LD Document is constructed correctly.
Reducers
Workflow Reducers process activities that exist and a retrievable. In the context of a single activity server, a reducer can rely on the write protection to ensure that the activities are valid, and focus only on constructing a model from them. In the case of a federated model where a reducer is processing activites from many different servers, the reducer must ensure that privledge escalation does not occur.
Reducers should operate on exapanded objects, to ensure they have all information needed for validation.