{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://vikramjha.work/press/2026-09-11/artifacts/ship-ai-gff-artifact-b.json",
  "title": "The Operator's Map, GFF 2026 Special, 11 September 2026: the Know Your Agent record",
  "description": "The Operator's Map, GFF 2026 Special, Ship AI. Artifact B: an inventory of what the published designs already ask for, assembled into one record. Every field cites the fetched text that requires, records or names it (fetched 11 September 2026). Companion to https://vikramjha.work/writing/the-agent-gets-a-slot-not-a-button",
  "type": "object",
  "required": [
    "agent_id",
    "agent_provider",
    "agent_key",
    "principal",
    "consent",
    "allowance",
    "mode",
    "authenticator",
    "settlement_party",
    "idempotency",
    "receipts",
    "reconciliation",
    "risk_signals",
    "human_in_loop_threshold",
    "revocation",
    "record_boundary"
  ],
  "properties": {
    "agent_id": {
      "x-type": "string",
      "description": "Registered identifier of the agent, as the verifier knows it",
      "x-where-a-published-text-already-asks-for-it": [
        "Mastercard: \"The program will require trusted AI agents to be registered and verified\"; product heading \"Know your agent\" — \"Only registered agents can transact\"; developer site: \"agents are added to trusted agent lists\"",
        "Visa: \"Agents are onboarded onto the Visa Intelligent Commerce platform\"",
        "NPCI OC 201B: \"capture device/ user ID details from secondary device/software during registration\"; \"user profile id shall be captured\"; \"only NPCI permitted IoT devices/software\"; \"only paid software profiles\"",
        "Pine Labs / Grantex: \"checking agent identity\""
      ],
      "x-sources": [
        "https://investor.mastercard.com/investor-news/investor-news-details/2025/Mastercard-Unveils-Agent-Pay-Pioneering-Agentic-Payments-Technology-to-Power-Commerce-in-the-Age-of-AI/default.aspx",
        "https://www.mastercard.com/global/en/business/artificial-intelligence/mastercard-agent-pay.html",
        "https://developer.mastercard.com/merchant-cloud/documentation/tutorials-and-guides/ai-revolution/14/index.md",
        "https://developer.visa.com/capabilities/visa-intelligent-commerce",
        "https://www.npci.org.in/uploads/UPI_OC_No_201_B_FY_2025_26_Addendum_to_NPCI_UPI_2024_25_OC_201_Introduction_of_Io_T_devices_software_on_UPI_Circle_09ec83c893.pdf",
        "https://www.pinelabs.com/media-analyst/the-ai-agent-can-now-pay-pine-labs-launches-p3p-indias-first-agentic-payment-protocol-built-on-upi"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "agent_provider": {
      "x-type": "object {name, domain}",
      "description": "The party the verifier trusts for the agent",
      "x-where-a-published-text-already-asks-for-it": [
        "AP2 \"Trusted Agent Provider\" model: \"makes the provider of the Agent the party trusted by the Verifier\"; \"The Agent Provider MUST ensure that the Agent is not able to access the Agent Provider signing key, or use it without the Trusted Surface\"",
        "AP2 payment mandate example header: \"kid\": \"agent-provider-key-1\""
      ],
      "x-sources": [
        "https://ap2-protocol.org/ap2/agent_authorization/",
        "https://ap2-protocol.org/ap2/payment_mandate/"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "agent_key": {
      "x-type": "JWK",
      "description": "The agent's public key bound into open mandates",
      "x-where-a-published-text-already-asks-for-it": [
        "AP2: open mandates \"MUST include the agent's public key as a cnf claim\""
      ],
      "x-sources": [
        "https://ap2-protocol.org/ap2/specification/"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "principal": {
      "x-type": "object {account, primary_user}",
      "description": "The human (or account) on whose behalf the agent acts",
      "x-where-a-published-text-already-asks-for-it": [
        "RBI, 8 Aug 2024: \"an individual (primary user) … on the primary user's bank account\"",
        "NPCI OC 201: \"a secondary user can accept delegation from only one primary user\"; OC 201B: \"from only one Primary UPI App\"",
        "NPCI OC 201A: the secondary's identity (name, mobile number, OVD number) recorded at the issuer before full delegation"
      ],
      "x-sources": [
        "https://www.rbi.org.in/Scripts/BS_PressReleaseDisplay.aspx?prid=58449",
        "https://www.npci.org.in/uploads/UPI_OC_No_201_FY_24_25_Introduction_of_UPI_Circle_Delegated_Payments_for_secondary_users_cf6799f126.pdf",
        "https://www.npci.org.in/uploads/UPI_OC_No_201_B_FY_2025_26_Addendum_to_NPCI_UPI_2024_25_OC_201_Introduction_of_Io_T_devices_software_on_UPI_Circle_09ec83c893.pdf",
        "https://www.npci.org.in/uploads/UPI_OC_No_201_A_FY_2025_26_Introduction_of_UPI_Circle_Delegated_Payments_for_secondary_users_Full_Delegation_Additional_Requirements_ba7e414c1a.pdf"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "consent": {
      "x-type": "object {purpose, scope, granted_at, surface}",
      "description": "What the principal approved, and on which surface",
      "x-where-a-published-text-already-asks-for-it": [
        "RBI Governor, 10 Sep 2026: data \"used strictly within the consent given\"",
        "AP2: Trusted Surface \"MUST be non-agentic\"",
        "NPCI OC 186A: \"explicit User consent is obtained after each device binding operation\""
      ],
      "x-sources": [
        "https://www.rbi.org.in/Scripts/BS_SpeechesView.aspx?Id=1578",
        "https://ap2-protocol.org/ap2/specification/",
        "https://www.npci.org.in/uploads/UPI_I_OC_No_186_A_I_Enhancement_UPI_Tap_and_Pay_on_Point_of_Sale_Po_S_e695625b85.pdf"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "allowance": {
      "x-type": "object {per_txn_max, period_max, period, total_budget, currency, instrument_allowlist, payee_allowlist, not_before, not_after, expires_at}",
      "description": "The slot",
      "x-where-a-published-text-already-asks-for-it": [
        "NPCI OC 201 / 201B: ₹5,000 per transaction, ₹15,000 per month per delegation; first-24-hours cap (INR 5,000 in the circular; ₹2,000 on the product page); \"Only domestic P2M\"",
        "NPCI OC 228: \"maximum of Rs.10,000 of block limit and up to 90 days\"",
        "AP2: Amount Range, Budget, Agent Recurrence, Allowed Payee, Allowed Payment Instrument, Execution Date",
        "ACP: Allowance reason \"one_time\", max_amount, currency, expires_at",
        "Mastercard developer site: \"budget constraints\" as intent data"
      ],
      "x-sources": [
        "https://www.npci.org.in/uploads/UPI_OC_No_201_FY_24_25_Introduction_of_UPI_Circle_Delegated_Payments_for_secondary_users_cf6799f126.pdf",
        "https://www.npci.org.in/uploads/UPI_OC_No_201_B_FY_2025_26_Addendum_to_NPCI_UPI_2024_25_OC_201_Introduction_of_Io_T_devices_software_on_UPI_Circle_09ec83c893.pdf",
        "https://www.npci.org.in/product/upi-circle",
        "https://www.npci.org.in/uploads/UPI_OC_No_228_FY_2025_26_Enhancement_in_UPI_Single_Block_Multiple_Debits_UPI_Reserve_Pay_a9095c181d.pdf",
        "https://ap2-protocol.org/ap2/payment_mandate/",
        "https://developers.openai.com/commerce/specs/payment",
        "https://developer.mastercard.com/merchant-cloud/documentation/tutorials-and-guides/ai-revolution/14/index.md"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "mode": {
      "x-type": "enum {full_delegation, partial_delegation, human_present, human_not_present}",
      "description": "Slot or button",
      "x-where-a-published-text-already-asks-for-it": [
        "NPCI OC 201: \"Full Delegation\" / \"Partial Delegation\"",
        "AP2: \"Human Present (Direct)\" / \"Human Not Present (Autonomous)\""
      ],
      "x-sources": [
        "https://www.npci.org.in/uploads/UPI_OC_No_201_FY_24_25_Introduction_of_UPI_Circle_Delegated_Payments_for_secondary_users_cf6799f126.pdf",
        "https://ap2-protocol.org/ap2/specification/"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "authenticator": {
      "x-type": "object {party, method}",
      "description": "Who proves it, and how",
      "x-where-a-published-text-already-asks-for-it": [
        "NPCI OC 201: \"App passcode/ biometrics (finger/face)\" for the secondary",
        "NPCI OC 201B: linking \"with 2 Factor Authentication\"; each debit \"only initiated by explicit user action\"",
        "NPCI OC 186A: \"per transaction limit is capped at ₹5000, up to which additional factor of authentication shall not be required\"",
        "Visa: \"a Passkey that will be used by the agent to authenticate future instructions\"",
        "Mastercard: \"on-device biometrics\""
      ],
      "x-sources": [
        "https://www.npci.org.in/uploads/UPI_OC_No_201_FY_24_25_Introduction_of_UPI_Circle_Delegated_Payments_for_secondary_users_cf6799f126.pdf",
        "https://www.npci.org.in/uploads/UPI_OC_No_201_B_FY_2025_26_Addendum_to_NPCI_UPI_2024_25_OC_201_Introduction_of_Io_T_devices_software_on_UPI_Circle_09ec83c893.pdf",
        "https://www.npci.org.in/uploads/UPI_I_OC_No_186_A_I_Enhancement_UPI_Tap_and_Pay_on_Point_of_Sale_Po_S_e695625b85.pdf",
        "https://developer.visa.com/capabilities/visa-intelligent-commerce",
        "https://investor.mastercard.com/investor-news/investor-news-details/2025/Mastercard-Unveils-Agent-Pay-Pioneering-Agentic-Payments-Technology-to-Power-Commerce-in-the-Age-of-AI/default.aspx"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "settlement_party": {
      "x-type": "object {name, role}",
      "description": "Who moves the money",
      "x-where-a-published-text-already-asks-for-it": [
        "ACP: \"merchants bring their own PSP\"; \"OpenAI is not the merchant of record\"",
        "AP2: Merchant Payment Processor",
        "NPCI OC 201B: issuer validates \"for every transaction before debiting\"; OC 228: \"the responsibility of issuer to validate every debit\"",
        "Mastercard developer site: \"Your payment processor detokenizes and processes the payment through standard networks\""
      ],
      "x-sources": [
        "https://developers.openai.com/commerce/specs/payment",
        "https://ap2-protocol.org/ap2/specification/",
        "https://www.npci.org.in/uploads/UPI_OC_No_201_B_FY_2025_26_Addendum_to_NPCI_UPI_2024_25_OC_201_Introduction_of_Io_T_devices_software_on_UPI_Circle_09ec83c893.pdf",
        "https://www.npci.org.in/uploads/UPI_OC_No_228_FY_2025_26_Enhancement_in_UPI_Single_Block_Multiple_Debits_UPI_Reserve_Pay_a9095c181d.pdf",
        "https://developer.mastercard.com/merchant-cloud/documentation/tutorials-and-guides/ai-revolution/14/index.md"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "idempotency": {
      "x-type": "object {key_owner, key, ttl_hours, mismatch_policy, retry_party, retry_max, retry_window_hours}",
      "description": "Who generates the key, what a mismatch does, who may retry and how often",
      "x-where-a-published-text-already-asks-for-it": [
        "Stripe: \"A client generates an idempotency key\"; keys prunable when \"at least 24 hours old\"; a changed retry \"errors if they're not the same\"",
        "ACP: Idempotency-Key header echoed; \"idempotency_conflict — Same idempotency key but different parameters; returns 409\"",
        "NPCI OC 228: timeout \"treated as a decline transaction and will be reversed in real-time\"; acquirer \"may retry maximum 3 times in 24 hours\"",
        "AP2: \"MUST NOT present any subsequent open Payment or Checkout Mandates without receiving a rejection receipt\""
      ],
      "x-sources": [
        "https://docs.stripe.com/api/idempotent_requests",
        "https://developers.openai.com/commerce/specs/checkout",
        "https://developers.openai.com/commerce/specs/payment",
        "https://www.npci.org.in/uploads/UPI_OC_No_228_FY_2025_26_Enhancement_in_UPI_Single_Block_Multiple_Debits_UPI_Reserve_Pay_a9095c181d.pdf",
        "https://ap2-protocol.org/ap2/specification/"
      ],
      "x-record-boundary": "agent_writable"
    },
    "receipts": {
      "x-type": "array of {status, iss, iat, reference, payment_id, psp_confirmation_id, network_confirmation_id}",
      "description": "The settlement-side record",
      "x-where-a-published-text-already-asks-for-it": [
        "AP2 Payment Receipt schema; receipts \"MUST be integrity protected from the Shopping Agent's LLM\"",
        "Pine Labs P3P: \"a cryptographically verifiable receipt\""
      ],
      "x-sources": [
        "https://ap2-protocol.org/ap2/payment_mandate/",
        "https://ap2-protocol.org/ap2/security_and_privacy_considerations/",
        "https://www.pinelabs.com/docs/online-payments/ai/p3p"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "reconciliation": {
      "x-type": "object {approved, utilized, remaining, purpose_code, settlement_line_item}",
      "description": "The arithmetic that closes the loop, and the rail-side record it lands in",
      "x-where-a-published-text-already-asks-for-it": [
        "NPCI OC 228: \"original block value, remaining balance, expiry date and transaction history\"; PSP rendering \"approved mandate amount = utilized amount + remaining balance\"",
        "NPCI OC 201: purpose code in the UPI raw file; line item in the Net settlement report; secondary-details raw file; OC 201B: purpose code 'BH'",
        "NPCI 10 Sep 2026: \"a single view of UPI transactions and AutoPay mandates across banks and UPI apps\"",
        "AP2 Budget: \"the amount MUST be added to the accumulated total\""
      ],
      "x-sources": [
        "https://www.npci.org.in/uploads/UPI_OC_No_228_FY_2025_26_Enhancement_in_UPI_Single_Block_Multiple_Debits_UPI_Reserve_Pay_a9095c181d.pdf",
        "https://www.pinelabs.com/docs/online-payments/upi-reserve-pay",
        "https://www.npci.org.in/uploads/UPI_OC_No_201_FY_24_25_Introduction_of_UPI_Circle_Delegated_Payments_for_secondary_users_cf6799f126.pdf",
        "https://www.npci.org.in/uploads/UPI_OC_No_201_B_FY_2025_26_Addendum_to_NPCI_UPI_2024_25_OC_201_Introduction_of_Io_T_devices_software_on_UPI_Circle_09ec83c893.pdf",
        "https://www.npci.org.in/uploads/NPCI_Press_Release_RBI_Governor_Unveils_New_UPI_Capabilities_at_GFF_2026_AI_Powered_Customer_Support_and_Seamless_Tap_and_Pay_Experience_bb763a7670.pdf",
        "https://ap2-protocol.org/ap2/payment_mandate/"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "risk_signals": {
      "x-type": "array of {type, score, action}",
      "description": "What the trusted surface saw",
      "x-where-a-published-text-already-asks-for-it": [
        "ACP Risk Signal: action in {\"blocked\", \"manual_review\", \"authorized\"}",
        "AP2 risk_data: \"relevant risk signals collected by the trusted surface at time of mandate creation\""
      ],
      "x-sources": [
        "https://developers.openai.com/commerce/specs/payment",
        "https://ap2-protocol.org/ap2/payment_mandate/"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "human_in_loop_threshold": {
      "x-type": "amount",
      "description": "Above which the slot becomes a button",
      "x-where-a-published-text-already-asks-for-it": [
        "CERT-In Digital Threat Report: \"human-in-the-loop controls for agentic AI actions above defined financial thresholds, with full audit trails\"",
        "NPCI 10 Sep 2026: \"PIN-less transactions of up to ₹5,000, above which the user needs to enter their UPI PIN\"; OC 186A: \"up to which additional factor of authentication shall not be required\"",
        "NPCI OC 201B for software: \"only initiated by explicit user action\" — a threshold of zero"
      ],
      "x-sources": [
        "https://www.cert-in.org.in/PDF/Digital_Threat_Report_2025-26.pdf",
        "https://www.npci.org.in/uploads/NPCI_Press_Release_RBI_Governor_Unveils_New_UPI_Capabilities_at_GFF_2026_AI_Powered_Customer_Support_and_Seamless_Tap_and_Pay_Experience_bb763a7670.pdf",
        "https://www.npci.org.in/uploads/UPI_I_OC_No_186_A_I_Enhancement_UPI_Tap_and_Pay_on_Point_of_Sale_Po_S_e695625b85.pdf",
        "https://www.npci.org.in/uploads/UPI_OC_No_201_B_FY_2025_26_Addendum_to_NPCI_UPI_2024_25_OC_201_Introduction_of_Io_T_devices_software_on_UPI_Circle_09ec83c893.pdf"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "revocation": {
      "x-type": "object {who, channel, auto_revoke_after, tested_at}",
      "description": "Who can end the slot and how; whether the rail ends it on its own; whether it was tested",
      "x-where-a-published-text-already-asks-for-it": [
        "NPCI OC 201B: \"delinking\"; \"auto-revoke … if delegation is inactive for a period of 6 months or in case of any security concerns\"",
        "NPCI OC 228: \"Easy access to revoke the block\"; notifications on \"revoke and expiry\"",
        "NPCI OC 227A: UPI Safety Switch \"shall operate on a reasonable-efforts basis\"",
        "Pine Labs: \"The consumer can revoke or update the mandate at any time\"",
        "AP2 / ACP / Visa / Mastercard: not specified (revok/revoc = 0 on every fetched page)",
        "tested_at: only a tested revocation counts (see the predecessor chapter)"
      ],
      "x-sources": [
        "https://www.npci.org.in/uploads/UPI_OC_No_201_B_FY_2025_26_Addendum_to_NPCI_UPI_2024_25_OC_201_Introduction_of_Io_T_devices_software_on_UPI_Circle_09ec83c893.pdf",
        "https://www.npci.org.in/uploads/UPI_OC_No_228_FY_2025_26_Enhancement_in_UPI_Single_Block_Multiple_Debits_UPI_Reserve_Pay_a9095c181d.pdf",
        "https://www.npci.org.in/uploads/UPI_I_OC_No_227_A_I_Addendum_to_UPI_OC_227_My_UPI_AI_powered_support_for_UPI_payments_UPI_HELP_2_0_cd357bfa84.pdf",
        "https://www.pinelabs.com/media-analyst/the-ai-agent-can-now-pay-pine-labs-launches-p3p-indias-first-agentic-payment-protocol-built-on-upi",
        "https://ap2-protocol.org/ap2/security_and_privacy_considerations/",
        "https://developers.openai.com/commerce/specs/payment",
        "https://developer.visa.com/capabilities/visa-intelligent-commerce",
        "https://www.mastercard.com/global/en/business/artificial-intelligence/mastercard-agent-pay.html"
      ],
      "x-record-boundary": "deterministic_only"
    },
    "record_boundary": {
      "x-type": "enum per field {agent_writable, deterministic_only}",
      "description": "Which side of the propose/authorize/settle/reconcile rule each field sits on",
      "x-where-a-published-text-already-asks-for-it": [
        "AP2: receipts \"MUST be integrity protected from the Shopping Agent's LLM\"; \"validation or processing … MUST happen in deterministic code\""
      ],
      "x-sources": [
        "https://ap2-protocol.org/ap2/security_and_privacy_considerations/",
        "https://ap2-protocol.org/ap2/specification/"
      ],
      "x-record-boundary": "deterministic_only"
    }
  },
  "x-one-question-version": "For the agent you are about to give a slot, name the party that holds the number, the party that holds the PIN, the party that writes the receipt, and the party that can take the slot away, and show the four records. If two of them are the same process as the model, that is the chapter."
}
