{
  "act_log": {
    "entry_view": "/v1/free/acts/mine",
    "kind": "CHECKED"
  },
  "answer": "NOT_ALLOWED",
  "answer_meaning": "The record's matching rule does not allow this approach on this channel.",
  "approach": "COMMERCIAL_OFFER",
  "channel": "MCP",
  "checked_at_utc": "2026-10-11T13:38:47Z",
  "continuity": {
    "authority": "LINKAGE_ONLY_NO_AUTHENTICATION_NO_PERMISSION_NO_SPEND",
    "automated_caller": true,
    "bound": true,
    "continuity_id": "gaip-continuity:ef6d7919-f380-4fe8-84e2-4743fc320783",
    "did_this_help": {
      "arguments": {
        "useful": true
      },
      "rest": "POST /v1/free/feedback",
      "tool": "gaip_feedback"
    },
    "member_call_receipt_id": "d4e3838b-ced9-5515-9a0b-2e0f35dc1c16",
    "present_next_time": {
      "argument": "continuity_handle",
      "header": "X-GAIP-Continuity: <continuity_id>.<token>"
    },
    "since_last_call": {
      "rest": "GET /v1/free/member/digest",
      "tool": "gaip_since_last_call"
    },
    "state": "ISSUED"
  },
  "continuity_handle": {
    "continuity_id": "gaip-continuity:ef6d7919-f380-4fe8-84e2-4743fc320783",
    "token": "9Bym89PaWYXW0m_H9F6ke8iEd06ZED807mteLTQmCLM"
  },
  "continuity_handle_authority": "LINKAGE_ONLY_NO_AUTHENTICATION_NO_PERMISSION_NO_SPEND",
  "continuity_purpose": "Every completed answer carries a continuity handle; send it back and the answer is bound to your own history with GAIP.",
  "does_not_say": "GAIP does not say whether an approach is lawful or welcome; silence in a record is not permission, and the decision stays with the agent that approaches.",
  "meaning": "What the subject's published agent-preference record said for the approach and channel asked, as GAIP indexed it at the stated time.",
  "next_tool": {
    "arguments": {},
    "tool": "gaip_screen_caller",
    "why": "Who is calling me, and should I pick up?"
  },
  "not_consent": "ALLOWED means only that, when GAIP last read it, the person's own published preference record did not object to this kind of contact. NO_RECORD and UNKNOWN mean GAIP knows nothing either way. No answer is consent under PECR or UK GDPR, or a lawful basis for contact. You remain responsible for your own consent, opt-out and suppression checks.",
  "publish_your_own": {
    "example": "https://www.gaipagents.com/.well-known/agent-preferences.json",
    "gaip_reads_and_indexes_it": "GAIP reads every record published at /.well-known/agent-preferences.json on the hosts it watches (weekly) and indexes it: GAIP keeps the hashed subject keys, the rules and where the record lives (host and location), nothing else. A subject asked about in a check is hashed in memory and never stored or logged. Privacy notice: https://www.gaipagents.com/privacy#preferences",
    "hash": "SHA-256 of 'gaip.agent-preference.v1:<type>:<normalised value>'",
    "path": "/.well-known/agent-preferences.json"
  },
  "receipt": {
    "approach": "COMMERCIAL_OFFER",
    "channel": "MCP",
    "checked_at_utc": "2026-10-11T13:38:47Z",
    "checker": "GAIP Preferences",
    "event": "preference_checked",
    "not_consent": "ALLOWED means only that, when GAIP last read it, the person's own published preference record did not object to this kind of contact. NO_RECORD and UNKNOWN mean GAIP knows nothing either way. No answer is consent under PECR or UK GDPR, or a lawful basis for contact. You remain responsible for your own consent, opt-out and suppression checks.",
    "receipt_sha256": "36e21610a66f6c6555c616fbe85c8eb4d534d75a5c0263f93f9f141ad4111672",
    "record": {
      "host": "www.gaipagents.com",
      "location": "https://www.gaipagents.com/.well-known/agent-preferences.json",
      "recorded_by_gaip_utc": null,
      "signature_present": false,
      "valid_from": "2026-10-09",
      "valid_until": null,
      "version": "1",
      "withdrawn": false
    },
    "result": "NOT_ALLOWED",
    "retain": "The approaching party keeps this receipt as its evidence of having checked.",
    "rule": {
      "allow": false,
      "approach": "COMMERCIAL_OFFER",
      "channel": "ANY",
      "note": "GAIP's agents buy nothing and take no offers; a merchant who wants GAIP to watch a shop installs the app."
    },
    "schema_version": "gaip.preference-check-receipt.v1",
    "signature": {
      "alg": "Ed25519",
      "keys_url": "https://www.gaipagents.com/.well-known/gaip-receipt-keys.json",
      "kid": "70ae8f5c793b4f5a",
      "purpose": "gaip.preference_check.receipt_sha256.v1",
      "sig": "4gP3kY_YsCsPXe0CdMJ3CIrb9qvGXBNT_3FPd5CvH9AuPssP9qnhsXPSJDz3gFmAXdPHC4p-LAkmW_sw8Ii4AA",
      "signed_digest": "36e21610a66f6c6555c616fbe85c8eb4d534d75a5c0263f93f9f141ad4111672",
      "signed_message": "gaip.preference_check.receipt_sha256.v1:36e21610a66f6c6555c616fbe85c8eb4d534d75a5c0263f93f9f141ad4111672"
    },
    "signature_keys_url": "https://www.gaipagents.com/.well-known/gaip-receipt-keys.json",
    "signature_purpose": "gaip.preference_check.receipt_sha256.v1",
    "signature_unavailable_reason": null,
    "signature_valid": true,
    "subject_key": "79e6311699f5a19effe6d7a051a00149afe311d3d36ae4b1d0e3e359af2eebe9"
  },
  "record": {
    "host": "www.gaipagents.com",
    "location": "https://www.gaipagents.com/.well-known/agent-preferences.json",
    "recorded_by_gaip_utc": null,
    "signature_present": false,
    "valid_from": "2026-10-09",
    "valid_until": null,
    "version": "1",
    "withdrawn": false
  },
  "revoked_since": {
    "checked_from": "2026-09-11T13:38:47Z",
    "events": [],
    "events_count": 0,
    "feed": "https://www.gaipagents.com/v1/free/revocations/feed.json?since=2026-09-11T13%3A38%3A47Z",
    "statement": "GAIP publishes that a fact in its record stopped being true as indexed at the stated time; it says nothing about the effect of that on any party."
  },
  "rule": {
    "allow": false,
    "approach": "COMMERCIAL_OFFER",
    "channel": "ANY",
    "note": "GAIP's agents buy nothing and take no offers; a merchant who wants GAIP to watch a shop installs the app."
  },
  "schema_version": "gaip.preference-check.v1",
  "since_last_call": {
    "meaning": "This answer issued the handle: send its continuity_handle back next time and this lists what changed in GAIP's record about what you asked since this call.",
    "previous_call_utc": null,
    "state": "FIRST_CALL"
  },
  "statement": "A reading of the subject's published preference record as GAIP indexed it at the stated time; not legal advice, not consent, and not a licence to approach anyone.",
  "status": "COMPLETED_READ_ONLY",
  "subject_key": "79e6311699f5a19effe6d7a051a00149afe311d3d36ae4b1d0e3e359af2eebe9",
  "tool": "gaip_check_preferences"
}