# dev.keytrace.userPublicKey

> Published by [keytrace.dev](https://lexicon.garden/identity/did:plc:hcwfdlmprcc335oixyfsw7u3)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:hcwfdlmprcc335oixyfsw7u3/dev.keytrace.userPublicKey)
- [Documentation](https://lexicon.garden/lexicon/did:plc:hcwfdlmprcc335oixyfsw7u3/dev.keytrace.userPublicKey/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:hcwfdlmprcc335oixyfsw7u3/dev.keytrace.userPublicKey/examples)

## Definitions

### `dev.keytrace.userPublicKey`

**Type**: `record`

A user-published public key.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `label` | `string` | No | Human-readable label for this key (e.g., 'work laptop', 'signing key'). |
| `comment` | `string` | No | Optional comment or description. |
| `keyType` | `string` | Yes | Format of the public key. |
| `createdAt` | `string` (datetime) | Yes | Datetime when this key was created (ISO 8601). |
| `expiresAt` | `string` (datetime) | No | Datetime when this key expires (ISO 8601). |
| `fingerprint` | `string` | No | Key fingerprint. |
| `retractedAt` | `string` (datetime) | No | Datetime when this key was retracted. Present only if the key has been retracted (ISO 8601). |
| `publicKeyArmored` | `string` | Yes | Full public key in standard text armored format. |

## Raw Schema

```json
{
  "id": "dev.keytrace.userPublicKey",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "keyType",
          "publicKeyArmored",
          "createdAt"
        ],
        "properties": {
          "label": {
            "type": "string",
            "description": "Human-readable label for this key (e.g., 'work laptop', 'signing key').",
            "maxGraphemes": 128
          },
          "comment": {
            "type": "string",
            "description": "Optional comment or description.",
            "maxGraphemes": 512
          },
          "keyType": {
            "type": "string",
            "description": "Format of the public key.",
            "knownValues": [
              "pgp",
              "ssh-ed25519",
              "ssh-ecdsa"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "Datetime when this key was created (ISO 8601)."
          },
          "expiresAt": {
            "type": "string",
            "format": "datetime",
            "description": "Datetime when this key expires (ISO 8601)."
          },
          "fingerprint": {
            "type": "string",
            "description": "Key fingerprint.",
            "maxGraphemes": 256
          },
          "retractedAt": {
            "type": "string",
            "format": "datetime",
            "description": "Datetime when this key was retracted. Present only if the key has been retracted (ISO 8601)."
          },
          "publicKeyArmored": {
            "type": "string",
            "maxLength": 16384,
            "description": "Full public key in standard text armored format.",
            "maxGraphemes": 16384
          }
        }
      },
      "description": "A user-published public key."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
