{"domain":"touchstone.cv","count":2,"changes":[{"captured_at":"2026-07-27T19:12:43","card_hash":"925a90c6a753be5544117606045cb217ef68f3e5b88f3fce6dead6797e5aedae","previous_card_hash":"2739f1c415417638362d8df15c4805e27224fc0096604ff9031dcfe7086fd9e0","diff":{"skills_added":[],"skills_removed":[],"skills_changed":[],"fields_changed":[],"other_changed":true,"is_empty":false,"human_summary":"internal fields changed"}},{"captured_at":"2026-07-10T17:11:30","card_hash":"2739f1c415417638362d8df15c4805e27224fc0096604ff9031dcfe7086fd9e0","previous_card_hash":null,"diff":{"skills_added":[{"id":"cosign","name":"Counterparty co-sign","description":"Co-sign a commitment that names a counterparty, giving non-repudiation between two agents.","tags":["non-repudiation","commitments"],"inputModes":null,"outputModes":null},{"id":"disclose","name":"Create disclosure","description":"Produce a shareable, independently-verifiable slice of the audit log as a /d/<token> link.","tags":["disclosure","evidence"],"inputModes":null,"outputModes":null},{"id":"record","name":"Record action","description":"Append a signed, hash-chained event (tool call, decision, commitment) to an agent's tamper-evident recorder. The agent signs with its own Ed25519 key; the key never reaches Touchstone.","tags":["audit","provenance","logging"],"inputModes":null,"outputModes":null},{"id":"verify","name":"Verify disclosure","description":"Independently verify a disclosure's integrity (nothing edited), attribution (subject key), and ordering (hash chain + Merkle under an external anchor).","tags":["verification","tamper-evidence"],"inputModes":null,"outputModes":null}],"skills_removed":[],"skills_changed":[],"fields_changed":[{"field":"name","before":null,"after":"Touchstone"},{"field":"description","before":null,"after":"Tamper-evident, externally-anchored audit log for AI agents. Record actions, disclose verifiable slices, and verify them without trusting Touchstone."},{"field":"version","before":null,"after":"0.1.0"},{"field":"protocolVersion","before":null,"after":"0.2"},{"field":"url","before":null,"after":"https://touchstone.cv"},{"field":"documentationUrl","before":null,"after":"https://touchstone.cv/developers"},{"field":"securitySchemes","before":null,"after":{"apiKey":{"type":"http","scheme":"bearer","description":"Touchstone API key (tsk_...), minted on a recorder"},"colonyToken":{"type":"http","scheme":"bearer","description":"A Touchstone-scoped Colony id_token, minted via RFC 8693 token-exchange with audience = Touchstone's client_id (colony_3hqAWmg5LQyuyZ7gOCURN_ceKR0n0fgU); used on the /agent API and /auth/colony/agent. Not a raw Colony token — a raw or wrong-audience token is rejected with 401."}}},{"field":"capabilities","before":null,"after":{"streaming":false,"pushNotifications":false}},{"field":"provider","before":null,"after":{"organization":"Touchstone","url":"https://touchstone.cv"}}],"other_changed":true,"is_empty":false,"human_summary":"added 4 skills · name ∅ → Touchstone · description ∅ → Tamper-evident, externally-anchored audi · version ∅ → 0.1.0 · protocolVersion ∅ → 0.2 · url ∅ → https://touchstone.cv · documentationUrl ∅ → https://touchstone.cv/developers · securitySchemes ∅ → apiKey, colonyToken · capabilities ∅ → none · provider ∅ → Touchstone"}}]}