# studio.wholebit.stones.keyring

> Published by [wholebit.studio](https://lexicon.garden/identity/did:plc:ac2w4xr5dnk6nz7thoo2lx2c)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:ac2w4xr5dnk6nz7thoo2lx2c/studio.wholebit.stones.keyring)
- [Documentation](https://lexicon.garden/lexicon/did:plc:ac2w4xr5dnk6nz7thoo2lx2c/studio.wholebit.stones.keyring/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:ac2w4xr5dnk6nz7thoo2lx2c/studio.wholebit.stones.keyring/examples)

## Definitions

### `studio.wholebit.stones.keyring#argon2id`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `mem` | `integer` | Yes |  |
| `ops` | `integer` | Yes |  |
| `salt` | `string` | Yes |  |

### `studio.wholebit.stones.keyring`

**Type**: `record`

The note master key, wrapped by a passphrase and by a recovery key. rkey 'self'.

**Key**: `literal:self`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `byPassphrase` | `string` | Yes |  |
| `byRecoveryKey` | `string` | Yes |  |
| `kdf` | `ref` → `#argon2id` | Yes |  |
| `keyId` | `string` | Yes |  |
| `v` | `integer` | Yes |  |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "argon2id": {
      "properties": {
        "mem": {
          "type": "integer"
        },
        "ops": {
          "type": "integer"
        },
        "salt": {
          "maxLength": 64,
          "type": "string"
        }
      },
      "required": [
        "salt",
        "ops",
        "mem"
      ],
      "type": "object"
    },
    "main": {
      "description": "The note master key, wrapped by a passphrase and by a recovery key. rkey 'self'.",
      "key": "literal:self",
      "record": {
        "properties": {
          "byPassphrase": {
            "maxLength": 256,
            "type": "string"
          },
          "byRecoveryKey": {
            "maxLength": 256,
            "type": "string"
          },
          "kdf": {
            "ref": "#argon2id",
            "type": "ref"
          },
          "keyId": {
            "maxLength": 64,
            "type": "string"
          },
          "v": {
            "type": "integer"
          }
        },
        "required": [
          "v",
          "kdf",
          "byPassphrase",
          "byRecoveryKey",
          "keyId"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "studio.wholebit.stones.keyring",
  "lexicon": 1
}
```
