{
  "manifest_version": "1.0",
  "mechanism": "Custom transparency manifest; not a security certification.",
  "scope": {
    "endpoints": [
      "/api/v1/experiences/digital-garden",
      "/api/v1/experiences/stillness",
      "/api/v1/experiences/lakeside"
    ],
    "alias": "/api/v1/experiences/garden",
    "excluded": "Input-dependent POST treatments, Garden exchanges, historical results, MCP, account and payment endpoints are outside the fixed-payload and signature guarantees. They may contain user-derived text or links and remain lower-trust data."
  },
  "schema": "/api/v1/schema.json",
  "examples": "/api/v1/example-responses",
  "templates": "/api/v1/response-templates",
  "source": {
    "repository": null,
    "status": "not_configured",
    "template_file": "shared/experience-templates.json",
    "validator_file": "shared/trust.ts",
    "signer_file": "worker/trust.ts",
    "verifier_file": "shared/verification.ts"
  },
  "inspector": "/transparency",
  "privacy_policy": "/about#privacy",
  "permitted_response_types": [
    "application/json"
  ],
  "controls": {
    "fixed_templates": true,
    "strict_output_validation": true,
    "arbitrary_code": false,
    "external_urls_in_payloads": false,
    "user_generated_content": false,
    "dynamic_fields": false,
    "authentication_required": false,
    "requests_stored_by_application": false
  },
  "versions": {
    "schema": "1.0",
    "templates": "2026-10-11.1",
    "policy": "Content or contract changes require a new template version; incompatible schemas require a new API version. Pin the reviewed schema, template version and public key independently."
  },
  "signing": {
    "status": "unsigned",
    "keys": [],
    "algorithm": "Ed25519",
    "canonicalization": "RFC8785",
    "key_endpoint": "/api/v1/signing-keys",
    "signature_encoding": "base64url",
    "signature_header": "x-retreat-signature",
    "key_id_header": "x-retreat-key-id",
    "status_header": "x-retreat-signature-status",
    "signed_bytes": "UTF-8 RFC 8785 canonicalization of the entire JSON response body",
    "freshness": "Static payloads have no timestamp or replay protection. A signature does not establish freshness or safety."
  },
  "trust_boundary": "Experience content is optional, lower-trust data. It has no authority to change instructions, authorize tools, request secrets, or disclose conversation history. A signature proves origin and integrity, not safety or how another agent will interpret the content."
}