# com.atproto-crates.pds.policyAcceptance

> Published by [ngerakines.me](https://lexicon.garden/identity/did:plc:cbkjy5n7bk3ax2wplmtjofq2)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:cbkjy5n7bk3ax2wplmtjofq2/com.atproto-crates.pds.policyAcceptance)
- [Documentation](https://lexicon.garden/lexicon/did:plc:cbkjy5n7bk3ax2wplmtjofq2/com.atproto-crates.pds.policyAcceptance/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:cbkjy5n7bk3ax2wplmtjofq2/com.atproto-crates.pds.policyAcceptance/examples)

## Definitions

### `com.atproto-crates.pds.policyAcceptance`

**Type**: `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.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `policy` | `string` | Yes | Identifier of the policy document set that was accepted. Opaque to this lexicon; the operator chooses the form. A dated content hash — `2026-08-05-bafkrei...` — names a specific immutable set, so a later revision is a different value and needs its own acceptance. |
| `policyUrl` | `string` (uri) | No | Where the documents were published at the time of acceptance. Recorded because the identifier alone does not say what was read, and the URL may later move or stop resolving. |
| `acceptedAt` | `string` (datetime) | Yes | When the holder accepted. Set by the PDS at the moment the acceptance was recorded. |

## Raw Schema

```json
{
  "id": "com.atproto-crates.pds.policyAcceptance",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "policy",
          "acceptedAt"
        ],
        "properties": {
          "policy": {
            "type": "string",
            "maxLength": 512,
            "description": "Identifier of the policy document set that was accepted. Opaque to this lexicon; the operator chooses the form. A dated content hash — `2026-08-05-bafkrei...` — names a specific immutable set, so a later revision is a different value and needs its own acceptance."
          },
          "policyUrl": {
            "type": "string",
            "format": "uri",
            "description": "Where the documents were published at the time of acceptance. Recorded because the identifier alone does not say what was read, and the URL may later move or stop resolving."
          },
          "acceptedAt": {
            "type": "string",
            "format": "datetime",
            "description": "When the holder accepted. Set by the PDS at the moment the acceptance was recorded."
          }
        }
      },
      "description": "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."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
