dev.cocore.compute.termsAcceptance

A user's affirmative acceptance of an exchange's terms of service / privacy policy. Published on the user's PDS so the record is portable + auditable + survives the user disconnecting from any one exchange. Clients prompt for re-acceptance whenever the active exchange policy's `termsVersion` doesn't match the version on the user's most recent acceptance for that exchange.

Repository @cocore.dev did:plc:5quuhkmwe2q4k3azfsgg7kdz namespace authority
Details · record, key tid
Kindrecord
Record keytid
Authoritycompute.cocore.dev
Indexed

Record

record · key tid

Properties

acceptedAt

requiredstring · datetime

Strong-ref to the dev.cocore.compute.exchangeAttestation whose `signingKeyFingerprint` identifies the key that produced `sig`. Lets a verifier resolve the exchange's signing key and check `sig` without trusting the exchange live. Optional for back-compat with pre-signing acceptances; populated going forward.

exchange

requiredstring · did

DID of the exchange whose terms the user is accepting.

policy

requiredref

Strong-ref to the dev.cocore.compute.exchangePolicy that was active at acceptance time. The policy itself carries fee schedule + self-loop rules; the acceptance pins the human-readable terms via the policy's termsUri + termsVersion.

sig

string

Exchange's ES256 signature (base64url, raw R||S) over the canonical bytes of this record with `sig` removed — the same integer-only, sorted-key canonical form used for receipts and settlements. This is the cocore attestation that the acceptance was witnessed and countersigned by the exchange, not merely written by the user. Optional for back-compat; populated going forward.

termsUri

requiredstring · uri

URL of the terms-of-service text the user actually saw. Snapshotted from the policy.

termsVersion

requiredstring

Version string of the human-readable terms accepted. Copied from the policy at acceptance time so the acceptance is self-contained even if the policy is later updated.

  • maxLength: 32

userAgent

string

Optional user-agent string from the client at acceptance time. Useful for forensics; not required.

  • maxLength: 512

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • An exchange's self-published statement of operating posture: software commit, public signing key fingerprint, fee policy in effect, audit posture. The provider/requester analog of `dev.cocore.compute.attestation` for the exchange role. Settlements MAY strong-ref the active attestation so verifiers can pin which exchange-software / signing-key combination produced the record.

  • A record of the account holder accepting a policy document set presented by their PDS. Written to the account's own repository so the acceptance travels with the identity: it survives a migration to another host, and can be read by anyone the holder shows it to rather than only by the server that asked.

  • A member's acceptance of a space's policy, in the same content space. The member has accepted the current policy while their newest acceptance there names its URI and CID; older acceptances stay as the record of what they agreed to and when.