{
  "$id": "https://lettron.eu/transparency/manifest.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "Self-attested release metadata. The detached Ed25519 signature covers exact manifest.json bytes. No audit or availability assertion.",
  "properties": {
    "bundles": {
      "items": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "enum": [
              "host-packages.cdx.json",
              "website.cdx.json",
              "public-files.json",
              "manifest.schema.json"
            ],
            "type": "string"
          },
          "sha256": {
            "pattern": "[a-f0-9]{64}",
            "type": "string"
          },
          "size": {
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "name",
          "sha256",
          "size"
        ],
        "type": "object"
      },
      "maxItems": 4,
      "type": "array",
      "uniqueItems": true
    },
    "evidence": {
      "additionalProperties": false,
      "properties": {
        "independent_audit": {
          "const": false,
          "type": "boolean"
        },
        "live_uptime_proof": {
          "const": false,
          "type": "boolean"
        },
        "note": {
          "type": "string"
        },
        "scope": {
          "const": "self_attested_release_snapshot",
          "type": "string"
        },
        "source": {
          "const": "production_host_and_release_files",
          "type": "string"
        }
      },
      "required": [
        "scope",
        "source",
        "independent_audit",
        "live_uptime_proof",
        "note"
      ],
      "type": "object"
    },
    "generated_at": {
      "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z",
      "type": "string"
    },
    "privacy": {
      "additionalProperties": false,
      "properties": {
        "access_logging": {
          "const": false,
          "type": "boolean"
        },
        "cookies": {
          "const": false,
          "type": "boolean"
        },
        "javascript": {
          "const": false,
          "type": "boolean"
        },
        "statistics": {
          "const": false,
          "type": "boolean"
        },
        "third_party_resources": {
          "const": false,
          "type": "boolean"
        }
      },
      "required": [
        "javascript",
        "cookies",
        "third_party_resources",
        "access_logging",
        "statistics"
      ],
      "type": "object"
    },
    "release": {
      "additionalProperties": false,
      "properties": {
        "id": {
          "pattern": "[A-Za-z0-9][A-Za-z0-9._-]*",
          "type": "string"
        }
      },
      "required": [
        "id"
      ],
      "type": "object"
    },
    "runtime": {
      "additionalProperties": false,
      "properties": {
        "caddy": {
          "additionalProperties": false,
          "properties": {
            "version": {
              "type": "string"
            }
          },
          "required": [
            "version"
          ],
          "type": "object"
        },
        "openssl": {
          "additionalProperties": false,
          "properties": {
            "version": {
              "type": "string"
            }
          },
          "required": [
            "version"
          ],
          "type": "object"
        },
        "os": {
          "additionalProperties": false,
          "properties": {
            "codename": {
              "type": [
                "string",
                "null"
              ]
            },
            "name": {
              "type": "string"
            },
            "version": {
              "type": "string"
            }
          },
          "required": [
            "name",
            "version",
            "codename"
          ],
          "type": "object"
        },
        "zola": {
          "additionalProperties": false,
          "properties": {
            "version": {
              "type": "string"
            }
          },
          "required": [
            "version"
          ],
          "type": "object"
        }
      },
      "required": [
        "os",
        "caddy",
        "zola",
        "openssl"
      ],
      "type": "object"
    },
    "schema_version": {
      "const": "1.0",
      "type": "string"
    },
    "services": {
      "additionalProperties": false,
      "properties": {
        "backups": {
          "const": "not_configured",
          "type": "string"
        },
        "independent_status": {
          "const": "not_configured",
          "type": "string"
        },
        "mail": {
          "const": "not_deployed",
          "type": "string"
        }
      },
      "required": [
        "mail",
        "backups",
        "independent_status"
      ],
      "type": "object"
    },
    "signing": {
      "additionalProperties": false,
      "properties": {
        "algorithm": {
          "const": "Ed25519",
          "type": "string"
        },
        "public_key_file": {
          "const": "manifest-public-key.pem",
          "type": "string"
        },
        "public_key_sha256": {
          "pattern": "[a-f0-9]{64}",
          "type": "string"
        },
        "signature_file": {
          "const": "manifest.sig",
          "type": "string"
        },
        "signed_bytes": {
          "type": "string"
        }
      },
      "required": [
        "algorithm",
        "public_key_sha256",
        "public_key_file",
        "signature_file",
        "signed_bytes"
      ],
      "type": "object"
    },
    "tls": {
      "additionalProperties": false,
      "properties": {
        "acme_directory": {
          "const": "https://acme-api.actalis.com/acme/directory",
          "type": "string"
        },
        "provider": {
          "const": "Actalis",
          "type": "string"
        }
      },
      "required": [
        "provider",
        "acme_directory"
      ],
      "type": "object"
    },
    "unknowns": {
      "items": {
        "additionalProperties": false,
        "properties": {
          "field": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          }
        },
        "required": [
          "field",
          "reason"
        ],
        "type": "object"
      },
      "minItems": 1,
      "type": "array"
    },
    "website": {
      "additionalProperties": false,
      "properties": {
        "dns_operator": {
          "type": [
            "string",
            "null"
          ]
        },
        "hosting": {
          "additionalProperties": false,
          "properties": {
            "country": {
              "type": [
                "string",
                "null"
              ]
            },
            "data_center": {
              "type": [
                "string",
                "null"
              ]
            },
            "ownership": {
              "type": [
                "string",
                "null"
              ]
            },
            "provider": {
              "type": [
                "string",
                "null"
              ]
            },
            "subprocessors": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "provider",
            "data_center",
            "country",
            "ownership",
            "subprocessors"
          ],
          "type": "object"
        },
        "interface_ips": {
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array",
          "uniqueItems": true
        },
        "operator": {
          "additionalProperties": false,
          "properties": {
            "address": {
              "additionalProperties": false,
              "properties": {
                "city": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "country": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "postal_code": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "street": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "street",
                "postal_code",
                "city",
                "country"
              ],
              "type": "object"
            },
            "company": {
              "type": "string"
            },
            "contact": {
              "additionalProperties": false,
              "properties": {
                "email": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "legal_email": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "phone": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "email",
                "phone",
                "legal_email"
              ],
              "type": "object"
            },
            "register": {
              "additionalProperties": false,
              "properties": {
                "court": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "number": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "court",
                "number"
              ],
              "type": "object"
            },
            "representative": {
              "type": [
                "string",
                "null"
              ]
            },
            "source": {
              "additionalProperties": false,
              "properties": {
                "basis": {
                  "const": "user_confirmed_reference",
                  "type": "string"
                },
                "confirmed_at": {
                  "pattern": "[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z",
                  "type": "string"
                },
                "url": {
                  "type": "string"
                }
              },
              "required": [
                "url",
                "basis",
                "confirmed_at"
              ],
              "type": "object"
            }
          },
          "required": [
            "company",
            "address",
            "representative",
            "contact",
            "register",
            "source"
          ],
          "type": "object"
        },
        "public_ips": {
          "items": {
            "type": "string"
          },
          "minItems": 1,
          "type": "array",
          "uniqueItems": true
        },
        "url": {
          "const": "https://lettron.eu",
          "type": "string"
        }
      },
      "required": [
        "url",
        "public_ips",
        "interface_ips",
        "hosting",
        "operator",
        "dns_operator"
      ],
      "type": "object"
    }
  },
  "required": [
    "schema_version",
    "generated_at",
    "release",
    "website",
    "runtime",
    "tls",
    "privacy",
    "services",
    "unknowns",
    "signing",
    "evidence",
    "bundles"
  ],
  "title": "lettron.eu static website release snapshot",
  "type": "object"
}
