You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This server enables controllers to deposit their DID documents, DID logs, and attested resources (including AnonCreds objects) in a secure, policy-driven environment.
10
-
11
-
By separating the storage of verification material from the signing operations, the architecture provides:
12
-
-**Security**: Signing material isolation
13
-
-**Governance**: Configurable policies for witness requirements, endorsement, portability, and more
14
-
-**Verifiability**: Cryptographic proofs and append-only history
15
-
-**Interoperability**: Support for AnonCreds, W3C Verifiable Credentials, and DID Attested Resources
16
-
17
-
## How It Works
18
-
19
-
The DID WebVH Server follows a policy-driven approach where controllers request DID paths, receive policy parameters, and submit signed log entries for verification and publication.
20
-
21
-
### Key Workflow
22
-
23
-
1.**Controller requests a DID path** from the server
24
-
2.**Server returns policy-driven parameters** that must be used
25
-
3.**Controller creates and signs** the initial log entry
26
-
4.**Controller obtains witness signatures** (if required by policy)
27
-
5.**Controller submits** the log entry with witness proofs
28
-
6.**Server verifies and publishes** the DID document and history
29
-
30
-
### Registering a New DID
31
-
32
-
```mermaid
33
-
sequenceDiagram
34
-
participant WebVH Server
35
-
participant Controller
36
-
participant Witness
37
-
Controller->>WebVH Server: Request a did path.
38
-
WebVH Server->>Controller: Provide log input document with policy.
39
-
Controller->>Controller: Create and sign initial log entry.
40
-
Controller->>Witness: Request witness signature if required.
41
-
Controller->>WebVH Server: Send initial log entry and did witness signature.
42
-
WebVH Server->>WebVH Server: Verify and publish DID.
43
-
```
44
-
45
-
## Features
46
-
47
-
-**DID Management**: Create, resolve, and manage DIDs with WebVH method
48
-
-**Attested Resources**: Upload and manage AnonCreds objects, schemas, credential definitions
49
-
-**Witness Registry**: Manage known witness services and their invitation URLs
50
-
-**Policy Enforcement**: Configurable policies for witness, endorsement, portability, prerotation
51
-
-**Web Explorer**: Interactive UI for browsing DIDs, resources, and witness network
52
-
-**Multiple Storage**: SQLite (default) or PostgreSQL backends
53
-
54
7
## Quick Start
55
8
56
-
See [`server/README.md`](server/README.md) for detailed setup instructions.
57
-
58
9
```bash
59
10
# Install dependencies
60
11
cd server
@@ -68,41 +19,31 @@ cp env.example .env
68
19
uv run python main.py
69
20
```
70
21
22
+
The server will be available at `http://localhost:8000` with:
The DID WebVH Server is a FastAPI-based server for managing Decentralized Identifiers (DIDs) using the WebVH (Web Verifiable History) method. It provides endpoints for creating, updating, and resolving DIDs, as well as managing witness services and server policies.
4
+
5
+
## What is DID WebVH?
6
+
7
+
**DID WebVH** (Decentralized Identifier Web Verifiable History) is a DID method specification that provides a secure, policy-driven approach to managing Decentralized Identifiers on the web.
8
+
9
+
This server implementation enables controllers to deposit their DID documents, DID logs, and attested resources (including AnonCreds objects) in a secure, policy-driven environment.
10
+
11
+
## Key Benefits
12
+
13
+
### 🔒 Security
14
+
15
+
By separating the storage of verification material from the signing operations, the architecture provides:
16
+
17
+
-**Signing Material Isolation**: Signing keys remain with controllers and witnesses, not on the server
18
+
-**Cryptographic Proofs**: All operations are cryptographically verified
19
+
-**Append-Only History**: Immutable log entries ensure verifiable history
20
+
21
+
### ⚖️ Governance
22
+
23
+
Configurable policies allow you to control:
24
+
25
+
-**Witness Requirements**: Require witness signatures for DID operations
26
+
-**Endorsement Policies**: Control which resources and credentials need endorsement
27
+
-**Portability**: Enable or disable DID portability features
28
+
-**Prerotation**: Configure key rotation policies
29
+
30
+
### 📜 Verifiability
31
+
32
+
-**Cryptographic Verification**: All log entries are cryptographically signed
33
+
-**Append-Only Logs**: Immutable history ensures auditability
34
+
-**Version Control**: Track all changes to DID documents over time
35
+
36
+
### 🔗 Interoperability
37
+
38
+
Full support for:
39
+
40
+
-**AnonCreds**: Publish and resolve AnonCreds schemas and credential definitions
41
+
-**W3C Verifiable Credentials**: Support for standard VC formats
42
+
-**DID Attested Resources**: Manage any type of attested resource
43
+
44
+
## Architecture
45
+
46
+
The DID WebVH Server follows a policy-driven workflow:
47
+
48
+
```mermaid
49
+
sequenceDiagram
50
+
participant Controller
51
+
participant Server
52
+
participant Witness
53
+
54
+
Controller->>Server: Request DID path
55
+
Server->>Controller: Return policy parameters
56
+
Controller->>Controller: Create and sign log entry
Ready to get started? Check out our [Getting Started Guide](getting-started.md) or explore the [User Guide](user-manual.md) for comprehensive documentation.
0 commit comments