guide to agentprivacy
Browse collections
โœจVisualise
Connect with Star
Your VTA, your chosen perspective

The planned connection uses your VTA and the Trust Spanning Protocol to carry a scoped exchange for you or your agent. You choose what is presented; the receiving service checks the request before a view is shared.

This guide has no VTA connection adapter yet. Opening Star does not connect an identity or send a key.

Open Star โ†— ยท Inspect your City Key โ†—
guide / DTG / Understanding Exchange

Understanding โ€” Exchange

PROPOSED โ€” not yet upstreamed. Built to the ToIP spec.meta.schema.json for the dtgwg-trust-tasks-tf registry; the slug below is proposed to that namespace, not registry-accepted. The PR is pending; the registry's decision governs.

Proposed slug: understanding/exchange ยท version 0.1 ยท status draft

The joining party answers the host's gateway terms from comprehension โ€” pinned to the exact digest it read โ€” and the host judges whether understanding, not copying, occurred.

Abstract

The Understanding โ€” Exchange Trust Task is where understanding is
demonstrated: the joining party answers the gateway's prompts in its own
words
, pinned to the exact digest of the terms it read. The host judges
comprehension โ€” a verbatim reproduction of the gateway is refused
(copyNotComprehension), because the ceremony's key is what the joiner
understood, not what it can retrieve.

A passed exchange does not admit anyone. It qualifies the joining party to
propose the seal (understanding/seal) โ€” the
bilateral agreement that the whole ceremony exists to reach.

Status of this Document

This is a draft Trust Task specification per SPEC.md ยง5.3; the schema MAY change without notice. Feedback via the issue tracker.

Conformance

RFC2119(https://www.rfc-editor.org/rfc/rfc2119) and RFC8174(https://www.rfc-editor.org/rfc/rfc8174) key-word conventions apply.

A conforming producer (the joining party) MUST:

  1. Emit a Trust Task document whose type is https://trusttasks.org/spec/understanding/exchange/0.1, echoing the gateway digest it actually read.
  2. Answer in its own words. The gateway is the source of the answers' content; it must not be the source of their text.

A conforming consumer (the host) MUST:

  1. Reject an unknown join with noPendingOffer and a superseded digest with gatewayStale โ€” answers are judged only against the terms the joiner actually read, and only while those terms are current.
  2. Refuse verbatim reproduction with copyNotComprehension rather than scoring it.
  3. Return passed and, when passed, sealBy โ€” the window in which the joiner may propose the seal.

Payload

payload.gatewayDigest (REQUIRED) โ€” the digest of the terms the answers address.
payload.answers (REQUIRED) โ€” the joiner's answers to the gateway's prompts.
payload.ext โ€” extension slot per SPEC.md ยง4.5.1.

Request

{
  "id": "urn:uuid:f5be091e-283c-4bea-ac5d-465768798a91",
  "type": "https://trusttasks.org/spec/understanding/exchange/0.1",
  "issuer": "did:key:z6MkJoiningPartyExample",
  "recipient": "did:key:z6MkHostExample",
  "issuedAt": "2026-07-18T16:20:00Z",
  "payload": {
    "gatewayDigest": "5b6c7d8e9f202132435b6c7d8e9f202132435b6c7d8e9f202132435b6c7d8e9f",
    "answers": [
      {
        "promptId": "gateway#contribution",
        "answer": "Whatever I produce here feeds the room's shared corpus; my expressions are both my key and the room's material, so I only contribute what I am content to leave."
      },
      {
        "promptId": "gateway#access",
        "answer": "I never receive the room's underlying credentials; anything I'm granted is scoped, expiring, and mediated by the room's broker."
      }
    ]
  },
  "proof": {
    "type": "DataIntegrityProof",
    "cryptosuite": "eddsa-jcs-2022",
    "created": "2026-07-18T16:20:00Z",
    "verificationMethod": "did:key:z6MkJoiningPartyExample#z6MkJoiningPartyExample",
    "proofPurpose": "assertionMethod",
    "proofValue": "z3FXQmV6ExampleProofValueForUnderstandingExchange"
  }
}

Response

{
  "id": "urn:uuid:06cf1a2f-394d-4cfb-bd6e-576879809aa2",
  "type": "https://trusttasks.org/spec/understanding/exchange/0.1#response",
  "issuer": "did:key:z6MkHostExample",
  "recipient": "did:key:z6MkJoiningPartyExample",
  "threadId": "urn:uuid:f5be091e-283c-4bea-ac5d-465768798a91",
  "issuedAt": "2026-07-18T16:20:03Z",
  "payload": {
    "passed": true,
    "sealBy": "2026-07-18T18:00:00Z"
  },
  "proof": {
    "type": "DataIntegrityProof",
    "cryptosuite": "eddsa-jcs-2022",
    "created": "2026-07-18T16:20:03Z",
    "verificationMethod": "did:key:z6MkHostExample#z6MkHostExample",
    "proofPurpose": "assertionMethod",
    "proofValue": "z58aKqExampleProofValueForUnderstandingExchangeResponse"
  }
}

Security & Privacy

Answers disclose the joiner's reasoning about the host's published terms โ€” no
third-party data, and nothing beyond what the joiner chose to write. The host's
judgment is local policy; this specification fixes only what may not count
(verbatim copying) and what the answers must be pinned to (the digest). The
deterministic witness-draw mechanism of
agent-admission/apply ports
cleanly onto this task where hosts want grooming resistance; it is not required
in the peer posture.

Assets

Source: specs/understanding/exchange/0.1/ โ€” spec.md + payload.schema.json

๐Ÿ“Ž understanding-exchangepayload.schema.jsonspec.md

upstream: ~/dtgwg-trust-tasks-tf-mage (untracked contribution lane; upstream registry: trustoverip/dtgwg-trust-tasks-tf) ยท author: Mitchell Travers ยท the git source wins on any disagreement ยท (โš”๏ธโŠฅโฟปโŠฅ๐Ÿง™)๐Ÿ˜Š

โ† The Trust Tasks ยท Welcome Visitors