Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
202 changes: 182 additions & 20 deletions docs/agenda.md

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions docs/companion_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -415,13 +415,13 @@ billion transactions per second (tps).
| Peergos | https://https://peergos.org/ |
| -------------- | ---------------------------------------------------------- |
| Description | Peergos is a decentralised protocol and open-source platform for storage, social media and applications |
| Specification | Proprietary specification |
| Deployment | Offered as a SaaS solution. Can be self hosted. |
| Identity | [PKI](https://book.peergos.org/security/pki.html) + [Centralized password management, with password based keypairs(password + username + public salt)](https://book.peergos.org/security/login.html) |
| Authentication | Self-authenticated & [S3 V4 Signatures](https://book.peergos.org/security/bats.html)|
| Specification | Open source [specification and implementations](https://book.peergos.org/architecture/spec.html) |
| Deployment | Self Hosted or as a SaaS Multi-Tenant Service |
| Identity | [PKI](https://book.peergos.org/security/pki.html) + [random keypairs](https://book.peergos.org/security/login.html) |
| Authentication | Self-authenticated (signed and content addressed) & [S3 V4 Signatures for block level access control](https://book.peergos.org/security/bats.html)|
| Authorization | [Cryptree](https://book.peergos.org/security/cryptree.html) based encryption and [Block access controls](https://book.peergos.org/security/bats.html) |
| Transport | [HTTP RESTful APIs](https://book.peergos.org/features/apps.html) |
| Schema / Data Representation | [DAG CBOR Encoded IPLD Objects and Raw Objects](https://book.peergos.org/security/bats.html). JSON Schema for configuration. |
| Transport | Transport agnostic. Apps have a local [HTTP RESTful API](https://book.peergos.org/features/apps.html) served from a ServiceWorker|
| Schema / Data Representation | [DAG CBOR Encoded IPLD Objects and Raw Objects](https://book.peergos.org/security/bats.html). JSON Schema for app configuration. |
| Query Capabilities | Peergos offers a RESTFul API with various capabilities described [here](https://book.peergos.org/features/apps.html). A few endpoints are directly specified. |


Expand Down
36 changes: 18 additions & 18 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://identity.foundation/dwn/json-schemas/authorization-payloads/base-authorization-payload.json",
"type": "object",
"additionalProperties": false,
"required": [
"descriptorCid"
],
"properties": {
"descriptorCid": {
"type": "string"
},
"permissionsGrantId": {
"type": "string"
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://identity.foundation/dwn/json-schemas/authorization-payloads/records-write-authorization-payload.json",
"type": "object",
"additionalProperties": false,
"required": [
"descriptorCid",
"recordId"
],
"properties": {
"descriptorCid": {
"type": "string"
},
"recordId": {
"type": "string"
},
"contextId": {
"type": "string"
},
"attestationCid": {
"type": "string"
},
"encryptionCid": {
"type": "string"
}
}
}
6 changes: 5 additions & 1 deletion schemas/json-schemas/events/events-get.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@
"additionalProperties": false,
"required": [
"interface",
"method"
"method",
"messageTimestamp"
],
"properties": {
"interface": {
Expand All @@ -31,6 +32,9 @@
],
"type": "string"
},
"messageTimestamp": {
"type": "string"
},
"watermark": {
"type": "string"
}
Expand Down
4 changes: 2 additions & 2 deletions schemas/json-schemas/hooks/hooks-write.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
"required": [
"interface",
"method",
"dateCreated",
"messageTimestamp",
"uri",
"filter"
],
Expand All @@ -34,7 +34,7 @@
],
"type": "string"
},
"dateCreated": {
"messageTimestamp": {
"$ref": "https://identity.foundation/dwn/json-schemas/defs.json#/definitions/date-time"
},
"schema": {
Expand Down
48 changes: 48 additions & 0 deletions schemas/json-schemas/interface-methods/messages-get.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://identity.foundation/dwn/json-schemas/messages-get.json",
"type": "object",
"additionalProperties": false,
"required": [
"authorization",
"descriptor"
],
"properties": {
"authorization": {
"$ref": "https://identity.foundation/dwn/json-schemas/general-jws.json"
},
"descriptor": {
"type": "object",
"additionalProperties": false,
"required": [
"interface",
"method",
"messageTimestamp"
],
"properties": {
"interface": {
"enum": [
"Messages"
],
"type": "string"
},
"method": {
"enum": [
"Get"
],
"type": "string"
},
"messageTimestamp": {
"type": "string"
},
"messageCids": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://identity.foundation/dwn/json-schemas/permissions/defs.json",
"type": "object",
"definitions": {
"grantedTo": {
"$ref": "https://identity.foundation/dwn/json-schemas/defs.json#/definitions/did"
},
"grantedBy": {
"$ref": "https://identity.foundation/dwn/json-schemas/defs.json#/definitions/did"
},
"grantedFor": {
"$ref": "https://identity.foundation/dwn/json-schemas/defs.json#/definitions/did"
},
"scope": {
"type": "object",
"additionalProperties": false,
"required": [
"interface",
"method"
],
"properties": {
"interface": {
"type": "string"
},
"method": {
"type": "string"
}
}
},
"conditions": {
"type": "object",
"additionalProperties": false,
"properties": {
"publication": {
"type": "boolean"
}
}
}
}
}
74 changes: 74 additions & 0 deletions schemas/json-schemas/interface-methods/permissions-grant.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://identity.foundation/dwn/json-schemas/permissions-grant.json",
"type": "object",
"required": [
"authorization",
"descriptor"
],
"additionalProperties": false,
"properties": {
"authorization": {
"$ref": "https://identity.foundation/dwn/json-schemas/general-jws.json"
},
"delegationChain": {
"description": "the parent grant",
"$ref": "#"
},
"descriptor": {
"type": "object",
"additionalProperties": false,
"required": [
"interface",
"method",
"messageTimestamp",
"dateExpires"
],
"properties": {
"messageTimestamp": {
"$ref": "https://identity.foundation/dwn/json-schemas/defs.json#/definitions/date-time"
},
"dateExpires": {
"$ref": "https://identity.foundation/dwn/json-schemas/defs.json#/definitions/date-time"
},
"description": {
"type": "string"
},
"grantedTo": {
"description": "DID of the grantee",
"$ref": "https://identity.foundation/dwn/json-schemas/permissions/defs.json#/definitions/grantedTo"
},
"grantedBy": {
"description": "DID of the grantor",
"$ref": "https://identity.foundation/dwn/json-schemas/permissions/defs.json#/definitions/grantedBy"
},
"grantedFor": {
"description": "DID of the DWN to which the grantee is given access",
"$ref": "https://identity.foundation/dwn/json-schemas/permissions/defs.json#/definitions/grantedFor"
},
"permissionsRequestId": {
"description": "CID of an associated PermissionsRequest message",
"type": "string"
},
"interface": {
"enum": [
"Permissions"
],
"type": "string"
},
"method": {
"enum": [
"Grant"
],
"type": "string"
},
"scope": {
"$ref": "https://identity.foundation/dwn/json-schemas/permissions/defs.json#/definitions/scope"
},
"conditions": {
"$ref": "https://identity.foundation/dwn/json-schemas/permissions/defs.json#/definitions/conditions"
}
}
}
}
}
Loading