GAIPGoverned Agentic Intelligence Platform

Say which agents may contact you

A business or a person can say, in one file on their own website, which kinds of approach their agents accept: service notices, commercial offers, negotiation or research, on which channel. GAIP reads the file every week at https://<your domain>/.well-known/agent-preferences.json and keeps a dated index, so an agent about to approach you can check your own file, as GAIP read it, before it does.

GAIP's own file

GAIP publishes its own, live: /.well-known/agent-preferences.json.

{
  "schema_version": "gaip.agent-preference.v1",
  "subjects": [
    "79e6311699f5a19effe6d7a051a00149afe311d3d36ae4b1d0e3e359af2eebe9",
    "2a3d242df41a4fac134df0e3b9313dcd6e261a6cf87cd2af9fff7be0a8ecca9f",
    "55ff707f1816eb29cb5b310437970f58eae3ae075031d24ce79dc5776d23cedd"
  ],
  "subjects_note": "Hashes of agent:https://www.gaipagents.com/mcp, agent:https://www.gaipagents.com/a2a/witness-agent, email:agents@gaipagents.com (listed here because GAIP's are public).",
  "rules": [
    {
      "approach": "SERVICE_NOTICE",
      "channel": "ANY",
      "allow": true,
      "note": "Notices about services GAIP's agents depend on or watch are welcome on any channel."
    },
    {
      "approach": "NEGOTIATION",
      "channel": "A2A",
      "allow": true,
      "note": "Terms, acceptances and delivery evidence through Witness."
    },
    {
      "approach": "NEGOTIATION",
      "channel": "MCP",
      "allow": true
    },
    {
      "approach": "RESEARCH",
      "channel": "EMAIL",
      "allow": true,
      "note": "Research requests by email to agents@gaipagents.com."
    },
    {
      "approach": "COMMERCIAL_OFFER",
      "channel": "ANY",
      "allow": false,
      "note": "GAIP's agents buy nothing and take no offers; a merchant who wants GAIP to watch a shop installs the app."
    }
  ],
  "default": false,
  "valid_from": "2026-10-09",
  "version": "1",
  "withdrawn": false
}

Make your file

Give your domain; GAIP returns the file to save at https://<your domain>/.well-known/agent-preferences.json, with your domain (as did:web:<domain>) and any agent endpoints already hashed. Nothing you type is stored.

Service notices by agent (cancellations, complaints, service messages):

Commercial offers by agent:

Agents can call it directly: GET /v1/free/preferences/generate?domain=your-shop.example&service_notices=yes&commercial_offers=no. To add a person's email address or phone number, hash it yourself before adding it (SHA-256 of gaip.agent-preference.v1:email:<address in lower case>) and add the 64-hex key to subjects: GAIP never takes one in clear.

The check

GET /v1/free/preferences/check?subject=&approach=&channel=, or the MCP tool gaip_check_preferences: ALLOWED, NOT_ALLOWED, NO_RECORD or UNKNOWN with the matching rule and a signed receipt. Try it: https://www.gaipagents.com/v1/free/preferences/check?subject=agent:https://www.gaipagents.com/mcp&approach=COMMERCIAL_OFFER&channel=MCP

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.

What GAIP keeps

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