ID MANDAT

Standard v0.1

Draft · as of 1 October 2026 · free to use

This standard describes how a company declares, publicly and in machine-readable form, which AI agents act on its behalf and what they may do. It has two parts: a file on the company’s domain and a DNS record that proves the company controls the domain.

1. The credential

The company publishes a JSON file at this address:

https://<company-domain>/.well-known/idmandat.json

Example:

{
  "idmandat": "0.1",
  "domain": "example.com",
  "organization": {
    "name": "Example Construction Ltd",
    "legalForm": "Ltd",
    "address": "1 High Street, London EC1A 1AA, GB",
    "country": "GB",
    "industry": "Construction",
    "register": { "court": "Companies House", "number": "12345678" },
    "vatId": "GB123456789",
    "imprint": "https://example.com/legal"
  },
  "agents": [
    {
      "id": "captain",
      "name": "Captain",
      "role": "Advice and appointments",
      "isHuman": false,
      "endpoint": "https://example.com/agent",
      "protocols": ["a2a", "mcp"],
      "mandate": {
        "may": ["answer_product_questions", "reserve_appointment"],
        "mayNot": ["conclude_contract", "trigger_payment"],
        "bindingOnlyAfter": "confirmation by a human"
      },
      "humanContact": "contact@example.com"
    }
  ],
  "offer": "New builds, renovation and loft conversions in Greater London.",
  "verification": {
    "registry": "https://idmandat.com",
    "dns": "_idmandat.example.com"
  },
  "updated": "2026-09-30"
}

2. The DNS proof

The file alone only proves who controls the website. In addition, the company adds a TXT record:

_idmandat.example.com  TXT  "v=idmandat1; file=/.well-known/idmandat.json"

A checking agent reads both. If domain, DNS record and file match, it knows: this information comes from the owner of the domain.

3. The fields

FieldMeaning
organizationThe company, as listed in its imprint and the commercial register
organization.countryCountry as a country code, e.g. DE (recommended)
organization.industryIndustry in words (recommended)
agentsAll agents acting on behalf of the company
isHumanAlways false for AI agents – the agent never presents itself as a human
mandate.mayWhat the agent may do
mandate.mayNotWhat is explicitly excluded
bindingOnlyAfterWhen an action becomes binding
humanContactWhere a human can be reached
offerOptional: what the company offers, max. 280 characters. Shown in the directory only after approval.

4. Capabilities

For may and mayNot we recommend these terms, so agents everywhere understand them the same way: answer_product_questions, answer_service_questions, explain_prices, check_availability, prepare_appointment, reserve_appointment, book_appointment, create_quote, take_order, qualify_lead, forward_request, conclude_contract, trigger_payment, share_personal_data, give_legal_advice, give_medical_advice. Your own terms are allowed.

5. Verification levels

  1. Domain – DNS record and file match. Any agent can check this itself.
  2. Imprint – Name and address match the imprint (legal notice) on the domain.
  3. Register – The commercial register entry exists, is active and matches. Without a register entry (e.g. sole traders) a valid VAT ID takes its place.

Level 1 results in “Registered”; all three levels together earn the “Verified” seal. The checks run fully automatically and are repeated regularly; a human looks at any discrepancies.

ID MANDAT confirms identity and authority, not trustworthiness, quality or creditworthiness.

6. Principles

Field names are in English so agents worldwide can read them. Feedback on this draft is welcome.