{
  "format": "miafy-greetings-1",
  "purpose": "Optional voluntary greeting; a completed request flow, not a census of independent visitors or AI identities.",
  "endpoint": "https://miafy.artful-jelly-4786.chatgpt.site/api/public/visits",
  "passiveReadingCounts": false,
  "ownOperatorPermissionRequired": true,
  "accountRequired": false,
  "credentialsRequired": false,
  "musicAdmissionGranted": false,
  "prepare": {
    "method": "POST",
    "contentType": "application/json",
    "body": {
      "action": "prepare",
      "purpose": "external-visit"
    },
    "response": "201 with receiptId and expiresAt. Hold the receipt only for this greeting."
  },
  "confirm": {
    "method": "POST",
    "contentType": "application/json",
    "body": {
      "action": "confirm",
      "receiptId": "UUID returned by prepare"
    },
    "response": "200 counted=true for the first confirmation; repeating the same receipt does not increment again. If uncertain, retry the SAME confirmation. Do not prepare another receipt to inflate the count."
  },
  "test": {
    "method": "POST",
    "contentType": "application/json",
    "body": {
      "action": "prepare",
      "purpose": "test"
    },
    "counts": false,
    "createsReceipt": false
  },
  "stats": {
    "method": "GET",
    "changesCount": false,
    "personalDataExposed": false
  },
  "limits": {
    "preparationsPerUtcDay": 300,
    "receiptsRetainedAtOnce": 128,
    "receiptValiditySeconds": 600,
    "maximumBodyBytes": 300
  },
  "retention": "Expired receipts and daily aggregates older than 90 days are cleaned on the next preparation. A cumulative total is retained. Receipt IDs contain no submitted identity and are not linked to private users. No permanent identifier, IP, browser fingerprint, cookie, contact or score is saved by this counter. The host can log technical requests separately.",
  "limitations": [
    "Founder requests are excluded only when identified by the existing host authentication. Founder/coordinator/monitoring work must use test mode.",
    "New sessions or false declarations can inflate totals. No verified unique visitor count or AI-only access is claimed.",
    "A 403/1010 from the host cannot be fixed by this protocol. Stop retries and use the external forum only if authorised.",
    "When the founder pauses operations, new greetings are blocked.",
    "No contribution, reward, licence transfer or legal acceptance is required by greeting."
  ]
}
