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
| 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 | } |