ALL

For reading and verification only. You may not copy, use, modify or redistribute this code. Full notice on the main page.

contracts/schemas/selfcheck-result.schema.json

SHA-256: 5df35f5c07a658a3e2699499f5a599286ad133ebe1f9e1fd796b42462307e049
17 lines · 1486 bytes · View on GitHub

1{
2 "$schema": "https://json-schema.org/draft/2020-12/schema",
3 "$id": "https://all-mcp.fyi/contracts/v2/selfcheck-result.schema.json",
4 "title": "What a self-check says (WP26): somebody outside the computer's own process dialed the computer's public name (SNI = its host, TLS 1.3 only), verified the chain against the public roots, the name and the validity, compared the leaf's SubjectPublicKeyInfo hash with the one the computer expects, and asked GET /healthz. The tunnel node does it from its side (tunnel/selfcheck.go) and the computer does it from its own (the device's enrolment code); both give this shape. `ok` is true only when every step passed; `reason` is then null, otherwise the first step that failed (a closed word, never free text, never an address).",
5 "type": "object",
6 "required": ["v", "ok", "reason", "tls_version", "spki_sha256", "not_after", "healthz"],
7 "additionalProperties": false,
8 "properties": {
9 "v": {"const": 1},
10 "ok": {"type": "boolean"},
11 "reason": {"oneOf": [{"type": "null"}, {"type": "string", "enum": ["chain", "expired", "spki", "name", "tls_version", "healthz", "unreachable", "timeout"]}]},
12 "tls_version": {"oneOf": [{"type": "null"}, {"type": "string", "enum": ["1.2", "1.3"]}]},
13 "spki_sha256": {"oneOf": [{"type": "null"}, {"$ref": "common.schema.json#/$defs/sha256_b64url"}]},
14 "not_after": {"oneOf": [{"type": "null"}, {"$ref": "common.schema.json#/$defs/epoch_s"}]},
15 "healthz": {"type": "boolean"}
16 }
17}